@candy-kingdom/bonnie-cms 0.24.0 → 0.25.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -7
- package/fesm2022/candy-kingdom-bonnie-cms.mjs +309 -430
- package/fesm2022/candy-kingdom-bonnie-cms.mjs.map +1 -1
- package/package.json +8 -10
- package/styles/admin-styles.scss +139 -139
- package/styles/admin-variables.scss +453 -451
- package/styles/variables.scss +415 -415
- package/types/candy-kingdom-bonnie-cms.d.ts +644 -0
- package/esm2022/candy-kingdom-bonnie-cms.mjs +0 -5
- package/esm2022/index.mjs +0 -15
- package/esm2022/lib/admin-controls/admin-controls.component.mjs +0 -44
- package/esm2022/lib/admin-controls/index.mjs +0 -2
- package/esm2022/lib/bone-editors/bone-editor-base.component.mjs +0 -143
- package/esm2022/lib/bone-editors/index.mjs +0 -3
- package/esm2022/lib/bone-editors/unknown-bone-editor/index.mjs +0 -2
- package/esm2022/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.mjs +0 -18
- package/esm2022/lib/bonnie-cms.module.mjs +0 -140
- package/esm2022/lib/core/DeviceType.mjs +0 -8
- package/esm2022/lib/core/DeviceVisibility.mjs +0 -9
- package/esm2022/lib/core/MediaType.mjs +0 -2
- package/esm2022/lib/core/TextEditorField.mjs +0 -7
- package/esm2022/lib/core/Utils.mjs +0 -18
- package/esm2022/lib/core/index.mjs +0 -6
- package/esm2022/lib/core-components/editable-group.mjs +0 -84
- package/esm2022/lib/core-components/editable.directive.mjs +0 -173
- package/esm2022/lib/core-components/form-base.component.mjs +0 -31
- package/esm2022/lib/core-components/index.mjs +0 -5
- package/esm2022/lib/core-components/link-popup/index.mjs +0 -2
- package/esm2022/lib/core-components/link-popup/link-popup.component.mjs +0 -73
- package/esm2022/lib/file-uploader/file-uploader.component.mjs +0 -119
- package/esm2022/lib/file-uploader/index.mjs +0 -2
- package/esm2022/lib/form-controls/form-controls.component.mjs +0 -16
- package/esm2022/lib/form-controls/index.mjs +0 -2
- package/esm2022/lib/forms/file-form/file-form.component.mjs +0 -43
- package/esm2022/lib/forms/file-form/index.mjs +0 -2
- package/esm2022/lib/forms/index.mjs +0 -9
- package/esm2022/lib/forms/lottie-form/index.mjs +0 -2
- package/esm2022/lib/forms/lottie-form/lottie-form.component.mjs +0 -45
- package/esm2022/lib/forms/one-image-form/index.mjs +0 -2
- package/esm2022/lib/forms/one-image-form/one-image-form.component.mjs +0 -64
- package/esm2022/lib/forms/seo-form/index.mjs +0 -2
- package/esm2022/lib/forms/seo-form/seo-form.component.mjs +0 -53
- package/esm2022/lib/forms/svg-form/index.mjs +0 -2
- package/esm2022/lib/forms/svg-form/svg-form.component.mjs +0 -48
- package/esm2022/lib/forms/text-form/TextInputStyle.mjs +0 -7
- package/esm2022/lib/forms/text-form/index.mjs +0 -3
- package/esm2022/lib/forms/text-form/text-form.component.mjs +0 -33
- package/esm2022/lib/forms/translation-form/index.mjs +0 -2
- package/esm2022/lib/forms/translation-form/translation-form.component.mjs +0 -32
- package/esm2022/lib/forms/unknown-form/index.mjs +0 -2
- package/esm2022/lib/forms/unknown-form/unknown-form.component.mjs +0 -23
- package/esm2022/lib/generated/file-setting-data.mjs +0 -6
- package/esm2022/lib/generated/i-equatable.mjs +0 -6
- package/esm2022/lib/generated/i-setting.mjs +0 -6
- package/esm2022/lib/generated/index.mjs +0 -18
- package/esm2022/lib/generated/localized-text-setting-data.mjs +0 -6
- package/esm2022/lib/generated/lottie-setting-data.mjs +0 -6
- package/esm2022/lib/generated/one-image-setting-data.mjs +0 -6
- package/esm2022/lib/generated/setting-base.mjs +0 -6
- package/esm2022/lib/generated/setting-data.mjs +0 -6
- package/esm2022/lib/generated/setting-group.mjs +0 -6
- package/esm2022/lib/generated/setting.mjs +0 -6
- package/esm2022/lib/generated/svg-setting-data.mjs +0 -6
- package/esm2022/lib/generated/text-setting-data.mjs +0 -6
- package/esm2022/lib/generated/text-setting-type.mjs +0 -10
- package/esm2022/lib/media-uploader/index.mjs +0 -2
- package/esm2022/lib/media-uploader/media-uploader.component.mjs +0 -161
- package/esm2022/lib/services/API_BASE_URL.mjs +0 -3
- package/esm2022/lib/services/admin-data.service.mjs +0 -37
- package/esm2022/lib/services/data.service.mjs +0 -75
- package/esm2022/lib/services/index.mjs +0 -4
- package/esm2022/lib/skeleton-editor/BoneEditorMap.mjs +0 -2
- package/esm2022/lib/skeleton-editor/ContentPreset.mjs +0 -9
- package/esm2022/lib/skeleton-editor/IBoneEditor.mjs +0 -2
- package/esm2022/lib/skeleton-editor/IBoneTemplate.mjs +0 -2
- package/esm2022/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.mjs +0 -119
- package/esm2022/lib/skeleton-editor/index.mjs +0 -9
- package/esm2022/lib/skeleton-editor/skeleton-editor-anchor.directive.mjs +0 -16
- package/esm2022/lib/skeleton-editor/skeleton-editor.component.mjs +0 -107
- package/esm2022/lib/translation-input/index.mjs +0 -2
- package/esm2022/lib/translation-input/translation-input.component.mjs +0 -42
- package/esm2022/lib/translation-textarea/index.mjs +0 -2
- package/esm2022/lib/translation-textarea/translation-textarea.component.mjs +0 -66
- package/index.d.ts +0 -14
- package/lib/admin-controls/admin-controls.component.d.ts +0 -14
- package/lib/admin-controls/index.d.ts +0 -1
- package/lib/bone-editors/bone-editor-base.component.d.ts +0 -44
- package/lib/bone-editors/index.d.ts +0 -2
- package/lib/bone-editors/unknown-bone-editor/index.d.ts +0 -1
- package/lib/bone-editors/unknown-bone-editor/unknown-bone-editor.component.d.ts +0 -11
- package/lib/bonnie-cms.module.d.ts +0 -32
- package/lib/core/DeviceType.d.ts +0 -6
- package/lib/core/DeviceVisibility.d.ts +0 -7
- package/lib/core/MediaType.d.ts +0 -2
- package/lib/core/TextEditorField.d.ts +0 -5
- package/lib/core/Utils.d.ts +0 -4
- package/lib/core/index.d.ts +0 -5
- package/lib/core-components/editable-group.d.ts +0 -24
- package/lib/core-components/editable.directive.d.ts +0 -43
- package/lib/core-components/form-base.component.d.ts +0 -13
- package/lib/core-components/index.d.ts +0 -4
- package/lib/core-components/link-popup/index.d.ts +0 -1
- package/lib/core-components/link-popup/link-popup.component.d.ts +0 -28
- package/lib/file-uploader/file-uploader.component.d.ts +0 -32
- package/lib/file-uploader/index.d.ts +0 -1
- package/lib/form-controls/form-controls.component.d.ts +0 -7
- package/lib/form-controls/index.d.ts +0 -1
- package/lib/forms/file-form/file-form.component.d.ts +0 -14
- package/lib/forms/file-form/index.d.ts +0 -1
- package/lib/forms/index.d.ts +0 -8
- package/lib/forms/lottie-form/index.d.ts +0 -1
- package/lib/forms/lottie-form/lottie-form.component.d.ts +0 -16
- package/lib/forms/one-image-form/index.d.ts +0 -1
- package/lib/forms/one-image-form/one-image-form.component.d.ts +0 -23
- package/lib/forms/seo-form/index.d.ts +0 -1
- package/lib/forms/seo-form/seo-form.component.d.ts +0 -20
- package/lib/forms/svg-form/index.d.ts +0 -1
- package/lib/forms/svg-form/svg-form.component.d.ts +0 -19
- package/lib/forms/text-form/TextInputStyle.d.ts +0 -5
- package/lib/forms/text-form/index.d.ts +0 -2
- package/lib/forms/text-form/text-form.component.d.ts +0 -13
- package/lib/forms/translation-form/index.d.ts +0 -1
- package/lib/forms/translation-form/translation-form.component.d.ts +0 -14
- package/lib/forms/unknown-form/index.d.ts +0 -1
- package/lib/forms/unknown-form/unknown-form.component.d.ts +0 -9
- package/lib/generated/file-setting-data.d.ts +0 -10
- package/lib/generated/i-equatable.d.ts +0 -6
- package/lib/generated/i-setting.d.ts +0 -10
- package/lib/generated/index.d.ts +0 -17
- package/lib/generated/localized-text-setting-data.d.ts +0 -11
- package/lib/generated/lottie-setting-data.d.ts +0 -9
- package/lib/generated/one-image-setting-data.d.ts +0 -14
- package/lib/generated/setting-base.d.ts +0 -9
- package/lib/generated/setting-data.d.ts +0 -8
- package/lib/generated/setting-group.d.ts +0 -11
- package/lib/generated/setting.d.ts +0 -9
- package/lib/generated/svg-setting-data.d.ts +0 -9
- package/lib/generated/text-setting-data.d.ts +0 -10
- package/lib/generated/text-setting-type.d.ts +0 -8
- package/lib/media-uploader/index.d.ts +0 -1
- package/lib/media-uploader/media-uploader.component.d.ts +0 -35
- package/lib/services/API_BASE_URL.d.ts +0 -2
- package/lib/services/admin-data.service.d.ts +0 -16
- package/lib/services/data.service.d.ts +0 -19
- package/lib/services/index.d.ts +0 -3
- package/lib/skeleton-editor/BoneEditorMap.d.ts +0 -3
- package/lib/skeleton-editor/ContentPreset.d.ts +0 -11
- package/lib/skeleton-editor/IBoneEditor.d.ts +0 -26
- package/lib/skeleton-editor/IBoneTemplate.d.ts +0 -5
- package/lib/skeleton-editor/bone-editor-container/bone-editor-container.component.d.ts +0 -32
- package/lib/skeleton-editor/index.d.ts +0 -8
- package/lib/skeleton-editor/skeleton-editor-anchor.directive.d.ts +0 -8
- package/lib/skeleton-editor/skeleton-editor.component.d.ts +0 -31
- package/lib/translation-input/index.d.ts +0 -1
- package/lib/translation-input/translation-input.component.d.ts +0 -17
- package/lib/translation-textarea/index.d.ts +0 -1
- package/lib/translation-textarea/translation-textarea.component.d.ts +0 -26
|
@@ -1,20 +1,16 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
|
-
import { EventEmitter, forwardRef, Directive,
|
|
3
|
-
import
|
|
2
|
+
import { EventEmitter, forwardRef, Output, Directive, ContentChildren, Component, inject, Input, ViewChildren, ChangeDetectorRef, ViewChild, InjectionToken, Injectable, ViewContainerRef, HostBinding, ComponentFactoryResolver } from '@angular/core';
|
|
3
|
+
import * as i2 from '@angular/common';
|
|
4
|
+
import { CommonModule, DecimalPipe, JsonPipe } from '@angular/common';
|
|
5
|
+
import { Subject, debounceTime, map, last, catchError, Observable, of, combineLatest, mergeMap, merge } from 'rxjs';
|
|
4
6
|
import * as i1 from '@angular/forms';
|
|
5
7
|
import { NG_VALUE_ACCESSOR, FormsModule } from '@angular/forms';
|
|
6
|
-
import * as i2$1 from '@angular/common';
|
|
7
|
-
import { CommonModule } from '@angular/common';
|
|
8
|
-
import * as i2 from '@angular/cdk/text-field';
|
|
9
8
|
import { CdkTextareaAutosize } from '@angular/cdk/text-field';
|
|
10
9
|
import { take } from 'rxjs/operators';
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
import { HttpRequest, HttpEventType } from '@angular/common/http';
|
|
14
|
-
import * as i3 from 'ngx-lottie';
|
|
10
|
+
import { DomSanitizer } from '@angular/platform-browser';
|
|
11
|
+
import { HttpClient, HttpRequest, HttpEventType } from '@angular/common/http';
|
|
15
12
|
import { LottieComponent } from 'ngx-lottie';
|
|
16
|
-
import
|
|
17
|
-
import { MediaObjectFit, BonnieModule } from '@candy-kingdom/bonnie';
|
|
13
|
+
import { MediaObjectFit, MarcyMediaComponent } from '@candy-kingdom/bonnie';
|
|
18
14
|
|
|
19
15
|
/**
|
|
20
16
|
* This is a TypeGen auto-generated file.
|
|
@@ -134,25 +130,17 @@ var DeviceVisibility;
|
|
|
134
130
|
})(DeviceVisibility || (DeviceVisibility = {}));
|
|
135
131
|
|
|
136
132
|
class EditableDirective {
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
this.updateDirty();
|
|
149
|
-
return;
|
|
150
|
-
}
|
|
151
|
-
this._inEditMode = true;
|
|
152
|
-
this.updateDirty();
|
|
153
|
-
this.editModeChange.emit(true);
|
|
154
|
-
};
|
|
155
|
-
}
|
|
133
|
+
saved = new EventEmitter();
|
|
134
|
+
editModeChange = new EventEmitter();
|
|
135
|
+
externalSaveCall = new EventEmitter();
|
|
136
|
+
canceled = new EventEmitter();
|
|
137
|
+
valueChange = new EventEmitter();
|
|
138
|
+
propagateChange = () => { };
|
|
139
|
+
_inEditMode = false;
|
|
140
|
+
_isDirty = false;
|
|
141
|
+
_value;
|
|
142
|
+
_originalValue;
|
|
143
|
+
_storedData;
|
|
156
144
|
get inEditMode() {
|
|
157
145
|
return this._inEditMode;
|
|
158
146
|
}
|
|
@@ -181,6 +169,15 @@ class EditableDirective {
|
|
|
181
169
|
requestSave() {
|
|
182
170
|
this.externalSaveCall.emit();
|
|
183
171
|
}
|
|
172
|
+
startEditing = () => {
|
|
173
|
+
if (this._inEditMode) {
|
|
174
|
+
this.updateDirty();
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
this._inEditMode = true;
|
|
178
|
+
this.updateDirty();
|
|
179
|
+
this.editModeChange.emit(true);
|
|
180
|
+
};
|
|
184
181
|
save(newData) {
|
|
185
182
|
if (!this._inEditMode) {
|
|
186
183
|
console.warn('save before edit mode'); //todo: fix that
|
|
@@ -281,10 +278,10 @@ class EditableDirective {
|
|
|
281
278
|
}
|
|
282
279
|
registerOnTouched() {
|
|
283
280
|
}
|
|
284
|
-
static
|
|
285
|
-
static
|
|
281
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EditableDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
282
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: EditableDirective, isStandalone: true, selector: "[boncEditable]", outputs: { saved: "saved", editModeChange: "editModeChange", externalSaveCall: "externalSaveCall", canceled: "canceled", valueChange: "valueChange" }, providers: [{ provide: NG_VALUE_ACCESSOR, useExisting: forwardRef(() => EditableDirective), multi: true }], ngImport: i0 });
|
|
286
283
|
}
|
|
287
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
284
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EditableDirective, decorators: [{
|
|
288
285
|
type: Directive,
|
|
289
286
|
args: [{
|
|
290
287
|
standalone: true,
|
|
@@ -304,14 +301,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
304
301
|
}] } });
|
|
305
302
|
|
|
306
303
|
class EditableGroupComponent {
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
}
|
|
304
|
+
editModeChange = new EventEmitter();
|
|
305
|
+
saved = new EventEmitter();
|
|
306
|
+
requestEditorClose = new EventEmitter();
|
|
307
|
+
editables;
|
|
308
|
+
subscriptions = [];
|
|
309
|
+
_inEditMode = false;
|
|
310
|
+
saveSubject = new Subject();
|
|
315
311
|
ngAfterContentInit() {
|
|
316
312
|
this.saveSubject
|
|
317
313
|
.asObservable()
|
|
@@ -363,13 +359,14 @@ class EditableGroupComponent {
|
|
|
363
359
|
ngOnDestroy() {
|
|
364
360
|
this.clearSubscribtions();
|
|
365
361
|
}
|
|
366
|
-
static
|
|
367
|
-
static
|
|
362
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EditableGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
363
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: EditableGroupComponent, isStandalone: true, selector: "bonc-editable-group", outputs: { editModeChange: "editModeChange", saved: "saved", requestEditorClose: "requestEditorClose" }, queries: [{ propertyName: "editables", predicate: EditableDirective, descendants: true }], ngImport: i0, template: '<ng-content></ng-content>', isInline: true });
|
|
368
364
|
}
|
|
369
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
365
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: EditableGroupComponent, decorators: [{
|
|
370
366
|
type: Component,
|
|
371
367
|
args: [{
|
|
372
368
|
selector: 'bonc-editable-group',
|
|
369
|
+
standalone: true,
|
|
373
370
|
template: '<ng-content></ng-content>'
|
|
374
371
|
}]
|
|
375
372
|
}], propDecorators: { editModeChange: [{
|
|
@@ -384,39 +381,35 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
384
381
|
}] } });
|
|
385
382
|
|
|
386
383
|
class FormBaseComponent {
|
|
387
|
-
static
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
this._locale = '';
|
|
392
|
-
}
|
|
384
|
+
static inputs = ['locale'];
|
|
385
|
+
name = '';
|
|
386
|
+
_locale = '';
|
|
387
|
+
editable = inject((EditableDirective), { host: true });
|
|
393
388
|
set locale(value) {
|
|
394
389
|
this._locale = value;
|
|
395
390
|
}
|
|
396
391
|
get locale() {
|
|
397
392
|
return this._locale;
|
|
398
393
|
}
|
|
399
|
-
static
|
|
400
|
-
static
|
|
394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FormBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
395
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: FormBaseComponent, isStandalone: true, selector: "ng-component", inputs: { locale: "locale" }, ngImport: i0, template: '', isInline: true });
|
|
401
396
|
}
|
|
402
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FormBaseComponent, decorators: [{
|
|
403
398
|
type: Component,
|
|
404
399
|
args: [{
|
|
405
400
|
template: ''
|
|
406
401
|
}]
|
|
407
|
-
}],
|
|
408
|
-
type: Host
|
|
409
|
-
}] }], propDecorators: { locale: [{
|
|
402
|
+
}], propDecorators: { locale: [{
|
|
410
403
|
type: Input
|
|
411
404
|
}] } });
|
|
412
405
|
|
|
413
406
|
class TranslationInputComponent {
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
407
|
+
text;
|
|
408
|
+
locale;
|
|
409
|
+
device = DeviceType.NotSet;
|
|
410
|
+
startEditing = new EventEmitter();
|
|
411
|
+
changed = new EventEmitter();
|
|
412
|
+
blurred = new EventEmitter();
|
|
420
413
|
onClick() {
|
|
421
414
|
this.startEditing.emit();
|
|
422
415
|
}
|
|
@@ -426,12 +419,12 @@ class TranslationInputComponent {
|
|
|
426
419
|
onBlur() {
|
|
427
420
|
this.blurred.emit();
|
|
428
421
|
}
|
|
429
|
-
static
|
|
430
|
-
static
|
|
422
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationInputComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
423
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TranslationInputComponent, isStandalone: true, selector: "bonc-translation-input", inputs: { text: "text", locale: "locale", device: "device" }, outputs: { startEditing: "startEditing", changed: "changed", blurred: "blurred" }, ngImport: i0, template: "<input [(ngModel)]=\"text[locale]\"\n (click)=\"onClick()\"\n (keyup)=\"onKeyPress()\"\n (blur)=\"onBlur()\" />\n", styles: [":host{padding:6px 12px;border:1px solid silver}:host:hover{background-color:#333}:host:focus-within{background-color:#555}:host{display:block}:host input{display:block;border:none;background-color:#8080801a;color:var(--text-color)}:host input:hover{background-color:#d3d3d3;cursor:pointer}:host input:focus{outline:none;color:#000;background-color:#cf0}:host input{display:block;width:100%;padding:6px;color:silver;border:1px solid silver;background-color:transparent;box-sizing:border-box}:host input:hover{border-color:transparent;background-color:#333;cursor:pointer}:host input:focus{outline:none;color:#fff;border-color:transparent;background-color:#555}:host input{display:block;box-sizing:border-box;font-family:inherit;width:100%;border:none}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
|
|
431
424
|
}
|
|
432
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
425
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationInputComponent, decorators: [{
|
|
433
426
|
type: Component,
|
|
434
|
-
args: [{ selector: 'bonc-translation-input', template: "<input [(ngModel)]=\"text[locale]\"\
|
|
427
|
+
args: [{ selector: 'bonc-translation-input', standalone: true, imports: [FormsModule], template: "<input [(ngModel)]=\"text[locale]\"\n (click)=\"onClick()\"\n (keyup)=\"onKeyPress()\"\n (blur)=\"onBlur()\" />\n", styles: [":host{padding:6px 12px;border:1px solid silver}:host:hover{background-color:#333}:host:focus-within{background-color:#555}:host{display:block}:host input{display:block;border:none;background-color:#8080801a;color:var(--text-color)}:host input:hover{background-color:#d3d3d3;cursor:pointer}:host input:focus{outline:none;color:#000;background-color:#cf0}:host input{display:block;width:100%;padding:6px;color:silver;border:1px solid silver;background-color:transparent;box-sizing:border-box}:host input:hover{border-color:transparent;background-color:#333;cursor:pointer}:host input:focus{outline:none;color:#fff;border-color:transparent;background-color:#555}:host input{display:block;box-sizing:border-box;font-family:inherit;width:100%;border:none}\n"] }]
|
|
435
428
|
}], propDecorators: { text: [{
|
|
436
429
|
type: Input,
|
|
437
430
|
args: [{ required: true }]
|
|
@@ -449,12 +442,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
449
442
|
}] } });
|
|
450
443
|
|
|
451
444
|
class TranslationTextareaComponent {
|
|
445
|
+
ngZone;
|
|
446
|
+
autosizeList;
|
|
447
|
+
minRows;
|
|
448
|
+
maxRows;
|
|
449
|
+
text;
|
|
450
|
+
locale;
|
|
451
|
+
device = DeviceType.NotSet;
|
|
452
|
+
startEditing = new EventEmitter();
|
|
453
|
+
changed = new EventEmitter();
|
|
454
|
+
blurred = new EventEmitter();
|
|
452
455
|
constructor(ngZone) {
|
|
453
456
|
this.ngZone = ngZone;
|
|
454
|
-
this.device = DeviceType.NotSet;
|
|
455
|
-
this.startEditing = new EventEmitter();
|
|
456
|
-
this.changed = new EventEmitter();
|
|
457
|
-
this.blurred = new EventEmitter();
|
|
458
457
|
}
|
|
459
458
|
ngAfterViewInit() {
|
|
460
459
|
setTimeout(this.triggerResize.bind(this));
|
|
@@ -478,12 +477,12 @@ class TranslationTextareaComponent {
|
|
|
478
477
|
this.autosizeList.forEach(x => x.resizeToFitContent(true));
|
|
479
478
|
});
|
|
480
479
|
}
|
|
481
|
-
static
|
|
482
|
-
static
|
|
480
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationTextareaComponent, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component });
|
|
481
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TranslationTextareaComponent, isStandalone: true, selector: "bonc-translation-textarea", inputs: { minRows: "minRows", maxRows: "maxRows", text: "text", locale: "locale", device: "device" }, outputs: { startEditing: "startEditing", changed: "changed", blurred: "blurred" }, viewQueries: [{ propertyName: "autosizeList", predicate: CdkTextareaAutosize, descendants: true }], usesOnChanges: true, ngImport: i0, template: "<textarea [(ngModel)]=\"text[locale]\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (click)=\"onClick()\"\n (keyup)=\"onKeyPress()\"\n (blur)=\"onBlur()\"\n matInput\n cdkTextareaAutosize>\n</textarea>\n", styles: [":host{display:block;padding:6px 12px;border:1px solid silver}:host:hover{background-color:#333}:host:focus-within{background-color:#555}textarea{display:block;width:100%;line-height:140%;padding:2px 0;margin:0;box-sizing:content-box;border:none;resize:none}textarea:focus{outline:none}textarea[readonly]{cursor:pointer}textarea[readonly]::selection{-webkit-user-select:none;user-select:none}textarea[readonly]:hover{background:repeating-linear-gradient(-45deg,#cf00,#cf00 10px,#000 10px 20px) fixed bottom;color:#000}textarea{color:silver;background-color:transparent}textarea:hover{cursor:pointer}textarea:focus{outline:none;color:#fff;cursor:default}\n"], dependencies: [{ kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: CdkTextareaAutosize, selector: "textarea[cdkTextareaAutosize]", inputs: ["cdkAutosizeMinRows", "cdkAutosizeMaxRows", "cdkTextareaAutosize", "placeholder"], exportAs: ["cdkTextareaAutosize"] }] });
|
|
483
482
|
}
|
|
484
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
483
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationTextareaComponent, decorators: [{
|
|
485
484
|
type: Component,
|
|
486
|
-
args: [{ selector: 'bonc-translation-textarea', template: "<textarea [(ngModel)]=\"text[locale]\"\
|
|
485
|
+
args: [{ selector: 'bonc-translation-textarea', standalone: true, imports: [FormsModule, CdkTextareaAutosize], template: "<textarea [(ngModel)]=\"text[locale]\"\n [cdkAutosizeMinRows]=\"minRows\"\n [cdkAutosizeMaxRows]=\"maxRows\"\n (click)=\"onClick()\"\n (keyup)=\"onKeyPress()\"\n (blur)=\"onBlur()\"\n matInput\n cdkTextareaAutosize>\n</textarea>\n", styles: [":host{display:block;padding:6px 12px;border:1px solid silver}:host:hover{background-color:#333}:host:focus-within{background-color:#555}textarea{display:block;width:100%;line-height:140%;padding:2px 0;margin:0;box-sizing:content-box;border:none;resize:none}textarea:focus{outline:none}textarea[readonly]{cursor:pointer}textarea[readonly]::selection{-webkit-user-select:none;user-select:none}textarea[readonly]:hover{background:repeating-linear-gradient(-45deg,#cf00,#cf00 10px,#000 10px 20px) fixed bottom;color:#000}textarea{color:silver;background-color:transparent}textarea:hover{cursor:pointer}textarea:focus{outline:none;color:#fff;cursor:default}\n"] }]
|
|
487
486
|
}], ctorParameters: () => [{ type: i0.NgZone }], propDecorators: { autosizeList: [{
|
|
488
487
|
type: ViewChildren,
|
|
489
488
|
args: [CdkTextareaAutosize]
|
|
@@ -508,17 +507,21 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
508
507
|
}] } });
|
|
509
508
|
|
|
510
509
|
class LinkPopupComponent {
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
510
|
+
TextEditorField = TextEditorField;
|
|
511
|
+
linkChange = new EventEmitter();
|
|
512
|
+
startEditing = new EventEmitter();
|
|
513
|
+
changed = new EventEmitter();
|
|
514
|
+
blurred = new EventEmitter();
|
|
515
|
+
open = new EventEmitter();
|
|
516
|
+
closed = new EventEmitter();
|
|
517
|
+
field;
|
|
518
|
+
LinkPopupField = TextEditorField;
|
|
519
|
+
maxRows;
|
|
520
|
+
minRows;
|
|
521
|
+
linkTitle; // todo: allready in weblink
|
|
522
|
+
locale;
|
|
523
|
+
link;
|
|
524
|
+
popupIsShown = false;
|
|
522
525
|
onClick() {
|
|
523
526
|
this.startEditing.emit();
|
|
524
527
|
}
|
|
@@ -537,12 +540,12 @@ class LinkPopupComponent {
|
|
|
537
540
|
this.popupIsShown = false;
|
|
538
541
|
this.closed.emit();
|
|
539
542
|
}
|
|
540
|
-
static
|
|
541
|
-
static
|
|
543
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LinkPopupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
544
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: LinkPopupComponent, isStandalone: true, selector: "bonc-link-popup", inputs: { field: "field", maxRows: "maxRows", minRows: "minRows", linkTitle: "linkTitle", locale: "locale", link: "link" }, outputs: { linkChange: "linkChange", startEditing: "startEditing", changed: "changed", blurred: "blurred", open: "open", closed: "closed" }, ngImport: i0, template: "<bonc-translation-input *ngIf=\"field === TextEditorField.Input\"\n (click)=\"showPopup()\"\n [text]=\"linkTitle\"\n [locale]=\"locale\"\n (startEditing)=\"onClick()\"\n (changed)=\"onChange()\"\n (blurred)=\"onBlur()\">\n</bonc-translation-input>\n\n<bonc-translation-textarea *ngIf=\"field === TextEditorField.Textarea\"\n (click)=\"showPopup()\"\n [text]=\"linkTitle\"\n [locale]=\"locale\"\n [minRows]=\"minRows\"\n [maxRows]=\"maxRows\"\n (startEditing)=\"onClick()\"\n (changed)=\"onChange()\"\n (blurred)=\"onBlur()\">\n</bonc-translation-textarea>\n\n<div *ngIf=\"popupIsShown\">\n <div class=\"popup\">\n <a (click)=\"hidePopup()\" class=\"close\">close</a>\n\n <label>Link\n <input [(ngModel)]=\"link[locale]\"\n (click)=\"onClick()\"\n (keyup)=\"onChange()\"\n (blur)=\"onBlur()\">\n </label>\n\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;position:relative}:host translation-input{z-index:1}.popup{position:absolute;display:flex;flex-direction:column;justify-content:center;width:350px;padding:20px;box-sizing:border-box;color:#000;background-color:#fff;z-index:5;border:2px solid black}.popup a{cursor:pointer}.popup a:hover{background-color:#cf0}.popup a.close{position:absolute;top:10px;right:10px}.popup label+label{margin-top:20px}.popup input{width:100%;margin-top:5px;padding:6px;font-size:12px;box-sizing:border-box;border:1px solid #222}.popup input:hover,.popup input:focus{background-color:silver;color:#333;border-color:silver;outline:none}button{display:block;color:#fff;background-color:transparent;box-shadow:none;border:none;outline:none;text-decoration:none;cursor:pointer;padding:3pt 10pt;text-align:center;-webkit-user-select:none;user-select:none}button:hover{border-color:#333;background-color:#333}button:disabled{color:gray}button{color:#000;cursor:pointer}button:hover{background-color:#cf0}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: TranslationInputComponent, selector: "bonc-translation-input", inputs: ["text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }, { kind: "component", type: TranslationTextareaComponent, selector: "bonc-translation-textarea", inputs: ["minRows", "maxRows", "text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }] });
|
|
542
545
|
}
|
|
543
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
546
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LinkPopupComponent, decorators: [{
|
|
544
547
|
type: Component,
|
|
545
|
-
args: [{ selector: 'bonc-link-popup', template: "<bonc-translation-input *ngIf=\"field === TextEditorField.Input\"\
|
|
548
|
+
args: [{ selector: 'bonc-link-popup', standalone: true, imports: [CommonModule, FormsModule, TranslationInputComponent, TranslationTextareaComponent], template: "<bonc-translation-input *ngIf=\"field === TextEditorField.Input\"\n (click)=\"showPopup()\"\n [text]=\"linkTitle\"\n [locale]=\"locale\"\n (startEditing)=\"onClick()\"\n (changed)=\"onChange()\"\n (blurred)=\"onBlur()\">\n</bonc-translation-input>\n\n<bonc-translation-textarea *ngIf=\"field === TextEditorField.Textarea\"\n (click)=\"showPopup()\"\n [text]=\"linkTitle\"\n [locale]=\"locale\"\n [minRows]=\"minRows\"\n [maxRows]=\"maxRows\"\n (startEditing)=\"onClick()\"\n (changed)=\"onChange()\"\n (blurred)=\"onBlur()\">\n</bonc-translation-textarea>\n\n<div *ngIf=\"popupIsShown\">\n <div class=\"popup\">\n <a (click)=\"hidePopup()\" class=\"close\">close</a>\n\n <label>Link\n <input [(ngModel)]=\"link[locale]\"\n (click)=\"onClick()\"\n (keyup)=\"onChange()\"\n (blur)=\"onBlur()\">\n </label>\n\n </div>\n</div>\n", styles: [":host{display:flex;flex-direction:column;position:relative}:host translation-input{z-index:1}.popup{position:absolute;display:flex;flex-direction:column;justify-content:center;width:350px;padding:20px;box-sizing:border-box;color:#000;background-color:#fff;z-index:5;border:2px solid black}.popup a{cursor:pointer}.popup a:hover{background-color:#cf0}.popup a.close{position:absolute;top:10px;right:10px}.popup label+label{margin-top:20px}.popup input{width:100%;margin-top:5px;padding:6px;font-size:12px;box-sizing:border-box;border:1px solid #222}.popup input:hover,.popup input:focus{background-color:silver;color:#333;border-color:silver;outline:none}button{display:block;color:#fff;background-color:transparent;box-shadow:none;border:none;outline:none;text-decoration:none;cursor:pointer;padding:3pt 10pt;text-align:center;-webkit-user-select:none;user-select:none}button:hover{border-color:#333;background-color:#333}button:disabled{color:gray}button{color:#000;cursor:pointer}button:hover{background-color:#cf0}\n"] }]
|
|
546
549
|
}], propDecorators: { linkChange: [{
|
|
547
550
|
type: Output
|
|
548
551
|
}], startEditing: [{
|
|
@@ -574,29 +577,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
574
577
|
}] } });
|
|
575
578
|
|
|
576
579
|
class FormControlsComponent {
|
|
577
|
-
|
|
578
|
-
static
|
|
580
|
+
editable;
|
|
581
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FormControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
582
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: FormControlsComponent, isStandalone: true, selector: "bonc-form-controls", inputs: { editable: "editable" }, ngImport: i0, template: "<div [class.edit]=\"editable.inEditMode\" class=\"content\">\n <ng-content></ng-content>\n</div>\n\n<div [class.hidden]=\"!editable.inEditMode\" class=\"controls\">\n <a *ngIf=\"!editable.isDirty\" (click)=\"editable.cancel()\" class=\"close\">close</a>\n <ng-container *ngIf=\"editable.isDirty\">\n <a (click)=\"editable.cancel()\">reset</a>\n <a (click)=\"editable.requestSave()\" class=\"apply\">apply</a>\n </ng-container>\n</div>\n", styles: [":host{display:flex;background-color:#222;color:silver}.content{flex:1;padding:10px}.content.edit{background-color:#111}.controls{display:flex;flex-direction:column;width:100px;background-color:#111}.controls.hidden{opacity:0;pointer-events:none}.controls a{display:block}.controls a.apply{flex:1}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
579
583
|
}
|
|
580
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
584
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FormControlsComponent, decorators: [{
|
|
581
585
|
type: Component,
|
|
582
|
-
args: [{ selector: 'bonc-form-controls', template: "<div [class.edit]=\"editable.inEditMode\" class=\"content\">\
|
|
586
|
+
args: [{ selector: 'bonc-form-controls', standalone: true, imports: [CommonModule], template: "<div [class.edit]=\"editable.inEditMode\" class=\"content\">\n <ng-content></ng-content>\n</div>\n\n<div [class.hidden]=\"!editable.inEditMode\" class=\"controls\">\n <a *ngIf=\"!editable.isDirty\" (click)=\"editable.cancel()\" class=\"close\">close</a>\n <ng-container *ngIf=\"editable.isDirty\">\n <a (click)=\"editable.cancel()\">reset</a>\n <a (click)=\"editable.requestSave()\" class=\"apply\">apply</a>\n </ng-container>\n</div>\n", styles: [":host{display:flex;background-color:#222;color:silver}.content{flex:1;padding:10px}.content.edit{background-color:#111}.controls{display:flex;flex-direction:column;width:100px;background-color:#111}.controls.hidden{opacity:0;pointer-events:none}.controls a{display:block}.controls a.apply{flex:1}\n"] }]
|
|
583
587
|
}], propDecorators: { editable: [{
|
|
584
588
|
type: Input,
|
|
585
589
|
args: [{ required: true }]
|
|
586
590
|
}] } });
|
|
587
591
|
|
|
588
592
|
class FileUploaderComponent {
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
|
|
593
|
+
fileInput;
|
|
594
|
+
srcChange = new EventEmitter();
|
|
595
|
+
uploadUrlMap;
|
|
596
|
+
progress = 0;
|
|
597
|
+
isUploading = false;
|
|
598
|
+
autoplay = true;
|
|
599
|
+
clipStyle;
|
|
600
|
+
fileTypeMask = undefined;
|
|
601
|
+
_uploadTypes = [];
|
|
602
|
+
_src;
|
|
603
|
+
sanitizer = inject(DomSanitizer);
|
|
604
|
+
http = inject(HttpClient);
|
|
605
|
+
cd = inject(ChangeDetectorRef);
|
|
600
606
|
set src(newSrc) {
|
|
601
607
|
if (this._src === newSrc)
|
|
602
608
|
return;
|
|
@@ -676,13 +682,13 @@ class FileUploaderComponent {
|
|
|
676
682
|
};
|
|
677
683
|
return func;
|
|
678
684
|
}
|
|
679
|
-
static
|
|
680
|
-
static
|
|
685
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FileUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
686
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: FileUploaderComponent, isStandalone: true, selector: "bonc-file-uploader", inputs: { uploadUrlMap: "uploadUrlMap", src: "src", uploadTypes: "uploadTypes" }, outputs: { srcChange: "srcChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<div *ngIf=\"src === undefined || src.url === undefined || src?.url?.length === 0\">Upload file</div>\n\n<ng-content></ng-content>\n\n<div (click)=\"selectFile($event)\" class=\"media-container\">\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\n <span *ngIf=\"isUploading\"\n [style.clip-path]=\"clipStyle\"\n [style.-webkit-clip-path]=\"clipStyle\"\n class=\"loader\"></span>\n\n <span *ngIf=\"isUploading\" class=\"loader-text\">\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\n <span *ngIf=\"progress >= 1\">converting</span>\n </span>\n</div>\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }] });
|
|
681
687
|
}
|
|
682
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
688
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FileUploaderComponent, decorators: [{
|
|
683
689
|
type: Component,
|
|
684
|
-
args: [{ selector: 'bonc-file-uploader', template: "<div *ngIf=\"src === undefined || src.url === undefined || src?.url?.length === 0\">Upload file</div>\
|
|
685
|
-
}],
|
|
690
|
+
args: [{ selector: 'bonc-file-uploader', standalone: true, imports: [CommonModule, DecimalPipe], template: "<div *ngIf=\"src === undefined || src.url === undefined || src?.url?.length === 0\">Upload file</div>\n\n<ng-content></ng-content>\n\n<div (click)=\"selectFile($event)\" class=\"media-container\">\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\n <span *ngIf=\"isUploading\"\n [style.clip-path]=\"clipStyle\"\n [style.-webkit-clip-path]=\"clipStyle\"\n class=\"loader\"></span>\n\n <span *ngIf=\"isUploading\" class=\"loader-text\">\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\n <span *ngIf=\"progress >= 1\">converting</span>\n </span>\n</div>\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"] }]
|
|
691
|
+
}], propDecorators: { fileInput: [{
|
|
686
692
|
type: ViewChild,
|
|
687
693
|
args: ['fileInput', { static: true }]
|
|
688
694
|
}], srcChange: [{
|
|
@@ -699,13 +705,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
699
705
|
const uploadMap = new Map();
|
|
700
706
|
uploadMap.set('', `/api/admin/upload/image?width=${1200}&height=${630}&format=image/jpeg`);
|
|
701
707
|
class SeoFormComponent extends FormBaseComponent {
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
this.ogImageUploadUrl = '';
|
|
707
|
-
this.label = '';
|
|
708
|
-
}
|
|
708
|
+
uploadMap = uploadMap;
|
|
709
|
+
_pageId = '';
|
|
710
|
+
ogImageUploadUrl = '';
|
|
711
|
+
label = '';
|
|
709
712
|
ngOnInit() {
|
|
710
713
|
this.editable.externalSaveCall.subscribe(() => {
|
|
711
714
|
this.editable.save();
|
|
@@ -728,12 +731,12 @@ class SeoFormComponent extends FormBaseComponent {
|
|
|
728
731
|
}
|
|
729
732
|
this.editable.updateDirty();
|
|
730
733
|
}
|
|
731
|
-
static
|
|
732
|
-
static
|
|
734
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SeoFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
735
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: SeoFormComponent, isStandalone: true, selector: "bonc-seo-form", inputs: { label: "label", pageId: "pageId" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\n <h2 *ngIf=\"label\">{{label}}</h2>\n\n <div class=\"form-group\">\n <label>Title</label>\n <bonc-translation-input [text]=\"editable.value.title\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-input>\n </div>\n\n <div class=\"form-group\">\n <label>Description</label>\n <bonc-translation-textarea [text]=\"editable.value.description\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-textarea>\n </div>\n\n <div class=\"form-group\">\n <label>Share image | 1200x630</label>\n\n <bonc-file-uploader [src]=\"editable.value.image[locale]\"\n [uploadTypes]=\"['image/png', 'image/jpeg']\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"replaceImage($event)\">\n <img *ngIf=\"editable.value.image[locale]?.url?.length ?? 0 > 0\" [src]=\"editable.value.image[locale].url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value.image[locale]?.url?.length ?? 0 > 0\" [href]=\"editable.value.image[locale].url\" download target=\"_blank\">Download</a>\n </div>\n\n</bonc-form-controls>\n\n<div *ngIf=\"!editable.value\">Editable Value canot be null or undefined</div>\n", styles: [":host{display:block}bonc-one-image-form{max-width:600px}img{display:block;width:100%}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: TranslationInputComponent, selector: "bonc-translation-input", inputs: ["text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }, { kind: "component", type: TranslationTextareaComponent, selector: "bonc-translation-textarea", inputs: ["minRows", "maxRows", "text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }, { kind: "component", type: FileUploaderComponent, selector: "bonc-file-uploader", inputs: ["uploadUrlMap", "src", "uploadTypes"], outputs: ["srcChange"] }] });
|
|
733
736
|
}
|
|
734
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
737
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SeoFormComponent, decorators: [{
|
|
735
738
|
type: Component,
|
|
736
|
-
args: [{ selector: 'bonc-seo-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\
|
|
739
|
+
args: [{ selector: 'bonc-seo-form', standalone: true, imports: [CommonModule, FormControlsComponent, TranslationInputComponent, TranslationTextareaComponent, FileUploaderComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\n <h2 *ngIf=\"label\">{{label}}</h2>\n\n <div class=\"form-group\">\n <label>Title</label>\n <bonc-translation-input [text]=\"editable.value.title\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-input>\n </div>\n\n <div class=\"form-group\">\n <label>Description</label>\n <bonc-translation-textarea [text]=\"editable.value.description\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-textarea>\n </div>\n\n <div class=\"form-group\">\n <label>Share image | 1200x630</label>\n\n <bonc-file-uploader [src]=\"editable.value.image[locale]\"\n [uploadTypes]=\"['image/png', 'image/jpeg']\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"replaceImage($event)\">\n <img *ngIf=\"editable.value.image[locale]?.url?.length ?? 0 > 0\" [src]=\"editable.value.image[locale].url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value.image[locale]?.url?.length ?? 0 > 0\" [href]=\"editable.value.image[locale].url\" download target=\"_blank\">Download</a>\n </div>\n\n</bonc-form-controls>\n\n<div *ngIf=\"!editable.value\">Editable Value canot be null or undefined</div>\n", styles: [":host{display:block}bonc-one-image-form{max-width:600px}img{display:block;width:100%}\n"] }]
|
|
737
740
|
}], propDecorators: { label: [{
|
|
738
741
|
type: Input
|
|
739
742
|
}], pageId: [{
|
|
@@ -741,13 +744,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
741
744
|
}] } });
|
|
742
745
|
|
|
743
746
|
class SvgFormComponent extends FormBaseComponent {
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
747
|
+
cd = inject(ChangeDetectorRef);
|
|
748
|
+
SvgMime = 'image/svg+xml';
|
|
749
|
+
label = '';
|
|
750
|
+
uploadMap = new Map();
|
|
751
|
+
_uploadUrl = '/api/admin/upload/image/svg';
|
|
752
|
+
constructor() {
|
|
753
|
+
super();
|
|
751
754
|
this.uploadMap.set(this.SvgMime, this._uploadUrl);
|
|
752
755
|
}
|
|
753
756
|
ngOnInit() {
|
|
@@ -766,15 +769,13 @@ class SvgFormComponent extends FormBaseComponent {
|
|
|
766
769
|
this.editable.value = svgSrc;
|
|
767
770
|
this.editable.updateDirty();
|
|
768
771
|
}
|
|
769
|
-
static
|
|
770
|
-
static
|
|
772
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SvgFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
773
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: SvgFormComponent, isStandalone: true, selector: "bonc-svg-form", inputs: { label: "label", uploadUrl: "uploadUrl" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"[SvgMime]\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <img *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [src]=\"editable.value?.url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n\n</bonc-form-controls>\n", styles: [":host{display:block}img{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block;width:100%}a{color:silver}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: FileUploaderComponent, selector: "bonc-file-uploader", inputs: ["uploadUrlMap", "src", "uploadTypes"], outputs: ["srcChange"] }] });
|
|
771
774
|
}
|
|
772
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
775
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SvgFormComponent, decorators: [{
|
|
773
776
|
type: Component,
|
|
774
|
-
args: [{ selector: 'bonc-svg-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\
|
|
775
|
-
}], ctorParameters: () => [
|
|
776
|
-
type: Host
|
|
777
|
-
}] }], propDecorators: { label: [{
|
|
777
|
+
args: [{ selector: 'bonc-svg-form', standalone: true, imports: [CommonModule, FormControlsComponent, FileUploaderComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"[SvgMime]\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <img *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [src]=\"editable.value?.url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n\n</bonc-form-controls>\n", styles: [":host{display:block}img{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block;width:100%}a{color:silver}\n"] }]
|
|
778
|
+
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
778
779
|
type: Input
|
|
779
780
|
}], uploadUrl: [{
|
|
780
781
|
type: Input
|
|
@@ -782,13 +783,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
782
783
|
|
|
783
784
|
const DefaultImageMimeTypes = ['image/png', 'image/jpeg'];
|
|
784
785
|
class OneImageFormComponent extends FormBaseComponent {
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
|
|
791
|
-
|
|
786
|
+
cd = inject(ChangeDetectorRef);
|
|
787
|
+
uploadMap = new Map();
|
|
788
|
+
_mimeTypes = DefaultImageMimeTypes;
|
|
789
|
+
_uploadUrl = '/api/admin/upload/image';
|
|
790
|
+
_label = '';
|
|
791
|
+
constructor() {
|
|
792
|
+
super();
|
|
792
793
|
this.uploadMap.set('', this._uploadUrl);
|
|
793
794
|
}
|
|
794
795
|
ngOnInit() {
|
|
@@ -820,15 +821,13 @@ class OneImageFormComponent extends FormBaseComponent {
|
|
|
820
821
|
this.editable.value = svgSrc;
|
|
821
822
|
this.editable.updateDirty();
|
|
822
823
|
}
|
|
823
|
-
static
|
|
824
|
-
static
|
|
824
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: OneImageFormComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
825
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: OneImageFormComponent, isStandalone: true, selector: "bonc-one-image-form", inputs: { label: "label", uploadUrl: "uploadUrl", mimeTypes: "mimeTypes" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"mimeTypes\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <img *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [src]=\"editable.value?.url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n\n</bonc-form-controls>\n", styles: [":host{display:block}img{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block;width:100%}a{color:silver}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: FileUploaderComponent, selector: "bonc-file-uploader", inputs: ["uploadUrlMap", "src", "uploadTypes"], outputs: ["srcChange"] }] });
|
|
825
826
|
}
|
|
826
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
827
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: OneImageFormComponent, decorators: [{
|
|
827
828
|
type: Component,
|
|
828
|
-
args: [{ selector: 'bonc-one-image-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\
|
|
829
|
-
}], ctorParameters: () => [
|
|
830
|
-
type: Host
|
|
831
|
-
}] }], propDecorators: { label: [{
|
|
829
|
+
args: [{ selector: 'bonc-one-image-form', standalone: true, imports: [CommonModule, FormControlsComponent, FileUploaderComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"mimeTypes\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <img *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [src]=\"editable.value?.url\" />\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n\n</bonc-form-controls>\n", styles: [":host{display:block}img{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block;width:100%}a{color:silver}\n"] }]
|
|
830
|
+
}], ctorParameters: () => [], propDecorators: { label: [{
|
|
832
831
|
type: Input
|
|
833
832
|
}], uploadUrl: [{
|
|
834
833
|
type: Input
|
|
@@ -837,17 +836,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
837
836
|
}] } });
|
|
838
837
|
|
|
839
838
|
class FileFormComponent extends FormBaseComponent {
|
|
840
|
-
|
|
841
|
-
super(...arguments);
|
|
842
|
-
this.label = '';
|
|
843
|
-
this.uploadTypes = [];
|
|
844
|
-
this.uploadMap = new Map();
|
|
845
|
-
}
|
|
839
|
+
label = '';
|
|
846
840
|
ngOnInit() {
|
|
847
841
|
this.editable.externalSaveCall.subscribe(() => {
|
|
848
842
|
this.editable.save();
|
|
849
843
|
});
|
|
850
844
|
}
|
|
845
|
+
uploadTypes = [];
|
|
846
|
+
uploadMap = new Map();
|
|
851
847
|
;
|
|
852
848
|
onFileUploaded(fileSrc) {
|
|
853
849
|
this.editable.startEditing();
|
|
@@ -855,12 +851,12 @@ class FileFormComponent extends FormBaseComponent {
|
|
|
855
851
|
this.editable.value = svgSrc;
|
|
856
852
|
this.editable.updateDirty();
|
|
857
853
|
}
|
|
858
|
-
static
|
|
859
|
-
static
|
|
854
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FileFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
855
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: FileFormComponent, isStandalone: true, selector: "bonc-file-form", inputs: { label: "label", uploadTypes: "uploadTypes", uploadMap: "uploadMap" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"uploadTypes\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <div *ngIf=\"editable.value?.url?.length ?? 0 > 0\">{{editable.value?.url}}</div>\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n</bonc-form-controls>\n", styles: [":host{display:block}a{color:silver}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: FileUploaderComponent, selector: "bonc-file-uploader", inputs: ["uploadUrlMap", "src", "uploadTypes"], outputs: ["srcChange"] }] });
|
|
860
856
|
}
|
|
861
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
857
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: FileFormComponent, decorators: [{
|
|
862
858
|
type: Component,
|
|
863
|
-
args: [{ selector: 'bonc-file-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\
|
|
859
|
+
args: [{ selector: 'bonc-file-form', standalone: true, imports: [CommonModule, FormControlsComponent, FileUploaderComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"uploadTypes\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n <div *ngIf=\"editable.value?.url?.length ?? 0 > 0\">{{editable.value?.url}}</div>\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n</bonc-form-controls>\n", styles: [":host{display:block}a{color:silver}\n"] }]
|
|
864
860
|
}], propDecorators: { label: [{
|
|
865
861
|
type: Input
|
|
866
862
|
}], uploadTypes: [{
|
|
@@ -879,23 +875,20 @@ var TextInputStyle;
|
|
|
879
875
|
})(TextInputStyle || (TextInputStyle = {}));
|
|
880
876
|
|
|
881
877
|
class TextFormComponent extends FormBaseComponent {
|
|
882
|
-
|
|
883
|
-
|
|
884
|
-
|
|
885
|
-
this.label = '';
|
|
886
|
-
this.type = TextInputStyle.SingleLine;
|
|
887
|
-
}
|
|
878
|
+
TextInputStyle = TextInputStyle;
|
|
879
|
+
label = '';
|
|
880
|
+
type = TextInputStyle.SingleLine;
|
|
888
881
|
ngOnInit() {
|
|
889
882
|
this.editable.externalSaveCall.subscribe(() => {
|
|
890
883
|
this.editable.save();
|
|
891
884
|
});
|
|
892
885
|
}
|
|
893
|
-
static
|
|
894
|
-
static
|
|
886
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TextFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
887
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TextFormComponent, isStandalone: true, selector: "bonc-text-form", inputs: { label: "label", type: "type" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n\n <input *ngIf=\"editable && type === TextInputStyle.SingleLine\"\n [(ngModel)]=\"editable.value\"\n (click)=\"editable.startEditing()\"\n (keyup)=\"editable.updateDirty()\"\n (blur)=\"editable.updateDirty()\" />\n\n <textarea *ngIf=\"editable && type === TextInputStyle.MultiLine\"\n [(ngModel)]=\"editable.value\"\n (click)=\"editable.startEditing()\"\n (keyup)=\"editable.updateDirty()\"\n (blur)=\"editable.updateDirty()\">\n </textarea>\n</bonc-form-controls>\n", styles: [":host{display:block}input,textarea{display:block;width:100%;padding:6px;color:silver;border:1px solid silver;background-color:transparent;box-sizing:border-box}input:hover,textarea:hover{border-color:transparent;background-color:#333;cursor:pointer}input:focus,textarea:focus{outline:none;color:#fff;border-color:transparent;background-color:#555}input,textarea{font-size:inherit}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }] });
|
|
895
888
|
}
|
|
896
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
889
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TextFormComponent, decorators: [{
|
|
897
890
|
type: Component,
|
|
898
|
-
args: [{ selector: 'bonc-text-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\
|
|
891
|
+
args: [{ selector: 'bonc-text-form', standalone: true, imports: [CommonModule, FormsModule, FormControlsComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n\n <input *ngIf=\"editable && type === TextInputStyle.SingleLine\"\n [(ngModel)]=\"editable.value\"\n (click)=\"editable.startEditing()\"\n (keyup)=\"editable.updateDirty()\"\n (blur)=\"editable.updateDirty()\" />\n\n <textarea *ngIf=\"editable && type === TextInputStyle.MultiLine\"\n [(ngModel)]=\"editable.value\"\n (click)=\"editable.startEditing()\"\n (keyup)=\"editable.updateDirty()\"\n (blur)=\"editable.updateDirty()\">\n </textarea>\n</bonc-form-controls>\n", styles: [":host{display:block}input,textarea{display:block;width:100%;padding:6px;color:silver;border:1px solid silver;background-color:transparent;box-sizing:border-box}input:hover,textarea:hover{border-color:transparent;background-color:#333;cursor:pointer}input:focus,textarea:focus{outline:none;color:#fff;border-color:transparent;background-color:#555}input,textarea{font-size:inherit}\n"] }]
|
|
899
892
|
}], propDecorators: { label: [{
|
|
900
893
|
type: Input
|
|
901
894
|
}], type: [{
|
|
@@ -903,12 +896,9 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
903
896
|
}] } });
|
|
904
897
|
|
|
905
898
|
class LottieFormComponent extends FormBaseComponent {
|
|
906
|
-
|
|
907
|
-
|
|
908
|
-
|
|
909
|
-
this.label = '';
|
|
910
|
-
this.uploadMap = new Map();
|
|
911
|
-
}
|
|
899
|
+
LottieMimeType = 'application/json';
|
|
900
|
+
animOptions;
|
|
901
|
+
label = '';
|
|
912
902
|
ngOnInit() {
|
|
913
903
|
this.editable.externalSaveCall.subscribe(() => {
|
|
914
904
|
this.editable.save();
|
|
@@ -918,6 +908,7 @@ class LottieFormComponent extends FormBaseComponent {
|
|
|
918
908
|
this.animOptions = url.length === 0 ? undefined : { path: url };
|
|
919
909
|
});
|
|
920
910
|
}
|
|
911
|
+
uploadMap = new Map();
|
|
921
912
|
;
|
|
922
913
|
onFileUploaded(fileSrc) {
|
|
923
914
|
this.editable.startEditing();
|
|
@@ -925,12 +916,12 @@ class LottieFormComponent extends FormBaseComponent {
|
|
|
925
916
|
this.editable.value = svgSrc;
|
|
926
917
|
this.editable.updateDirty();
|
|
927
918
|
}
|
|
928
|
-
static
|
|
929
|
-
static
|
|
919
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LottieFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
920
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: LottieFormComponent, isStandalone: true, selector: "bonc-lottie-form", inputs: { label: "label", uploadMap: "uploadMap" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"[LottieMimeType]\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n\n <ng-lottie *ngIf=\"animOptions\"\n [options]=\"animOptions\"></ng-lottie>\n\n\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n</bonc-form-controls>\n", styles: [":host{display:block;max-width:600px}a{color:silver}ng-lottie{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: FileUploaderComponent, selector: "bonc-file-uploader", inputs: ["uploadUrlMap", "src", "uploadTypes"], outputs: ["srcChange"] }, { kind: "component", type: LottieComponent, selector: "ng-lottie", inputs: ["width", "height"] }] });
|
|
930
921
|
}
|
|
931
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
922
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: LottieFormComponent, decorators: [{
|
|
932
923
|
type: Component,
|
|
933
|
-
args: [{ selector: 'bonc-lottie-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\
|
|
924
|
+
args: [{ selector: 'bonc-lottie-form', standalone: true, imports: [CommonModule, FormControlsComponent, FileUploaderComponent, LottieComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n <bonc-file-uploader [src]=\"editable.value\"\n [uploadTypes]=\"[LottieMimeType]\"\n [uploadUrlMap]=\"uploadMap\"\n (srcChange)=\"onFileUploaded($event)\">\n\n <ng-lottie *ngIf=\"animOptions\"\n [options]=\"animOptions\"></ng-lottie>\n\n\n </bonc-file-uploader>\n\n <a *ngIf=\"editable.value?.url?.length ?? 0 > 0\" [href]=\"editable.value!.url\" download target=\"_blank\">Download</a>\n</bonc-form-controls>\n", styles: [":host{display:block;max-width:600px}a{color:silver}ng-lottie{background-image:linear-gradient(45deg,#808080 25%,transparent 25%),linear-gradient(-45deg,#808080 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#808080 75%),linear-gradient(-45deg,transparent 75%,#808080 75%);background-size:20px 20px;background-position:0 0,0 10px,10px -10px,-10px 0px;display:block}\n"] }]
|
|
934
925
|
}], propDecorators: { label: [{
|
|
935
926
|
type: Input
|
|
936
927
|
}], uploadMap: [{
|
|
@@ -939,21 +930,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
939
930
|
}] } });
|
|
940
931
|
|
|
941
932
|
class TranslationFormComponent extends FormBaseComponent {
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
}
|
|
933
|
+
TextEditorField = TextEditorField;
|
|
934
|
+
field;
|
|
935
|
+
label;
|
|
946
936
|
ngOnInit() {
|
|
947
937
|
this.editable.externalSaveCall.subscribe(() => {
|
|
948
938
|
this.editable.save();
|
|
949
939
|
});
|
|
950
940
|
}
|
|
951
|
-
static
|
|
952
|
-
static
|
|
941
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
942
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: TranslationFormComponent, isStandalone: true, selector: "bonc-translation-form", inputs: { field: "field", label: "label" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n\n <bonc-translation-input *ngIf=\"field === TextEditorField.Input\"\n [text]=\"editable.value\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-input>\n\n\n <bonc-translation-textarea *ngIf=\"field === TextEditorField.Textarea\"\n [text]=\"editable.value\"\n [minRows]=\"2\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-textarea>\n</bonc-form-controls>\n\n<div *ngIf=\"editable.value===undefined\">Editable value canot be undefined</div>\n", styles: [":host{display:block}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: FormControlsComponent, selector: "bonc-form-controls", inputs: ["editable"] }, { kind: "component", type: TranslationInputComponent, selector: "bonc-translation-input", inputs: ["text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }, { kind: "component", type: TranslationTextareaComponent, selector: "bonc-translation-textarea", inputs: ["minRows", "maxRows", "text", "locale", "device"], outputs: ["startEditing", "changed", "blurred"] }] });
|
|
953
943
|
}
|
|
954
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
944
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: TranslationFormComponent, decorators: [{
|
|
955
945
|
type: Component,
|
|
956
|
-
args: [{ selector: 'bonc-translation-form', hostDirectives: [EditableDirective], template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\
|
|
946
|
+
args: [{ selector: 'bonc-translation-form', standalone: true, imports: [CommonModule, FormControlsComponent, TranslationInputComponent, TranslationTextareaComponent], hostDirectives: [EditableDirective], template: "<bonc-form-controls *ngIf=\"editable.value\" [editable]=\"editable\">\n <label *ngIf=\"label\">{{label}}</label>\n\n <bonc-translation-input *ngIf=\"field === TextEditorField.Input\"\n [text]=\"editable.value\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-input>\n\n\n <bonc-translation-textarea *ngIf=\"field === TextEditorField.Textarea\"\n [text]=\"editable.value\"\n [minRows]=\"2\"\n [locale]=\"locale\"\n (startEditing)=\"editable.startEditing()\"\n (changed)=\"editable.updateDirty()\"\n (blurred)=\"editable.updateDirty()\">\n </bonc-translation-textarea>\n</bonc-form-controls>\n\n<div *ngIf=\"editable.value===undefined\">Editable value canot be undefined</div>\n", styles: [":host{display:block}\n"] }]
|
|
957
947
|
}], propDecorators: { field: [{
|
|
958
948
|
type: Input,
|
|
959
949
|
args: [{ required: true }]
|
|
@@ -962,21 +952,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
962
952
|
}] } });
|
|
963
953
|
|
|
964
954
|
class UnknownFormComponent extends FormBaseComponent {
|
|
965
|
-
|
|
966
|
-
super(...arguments);
|
|
967
|
-
this.label = '';
|
|
968
|
-
}
|
|
955
|
+
label = '';
|
|
969
956
|
ngOnInit() {
|
|
970
957
|
this.editable.externalSaveCall.subscribe(() => {
|
|
971
958
|
this.editable.save();
|
|
972
959
|
});
|
|
973
960
|
}
|
|
974
|
-
static
|
|
975
|
-
static
|
|
961
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UnknownFormComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
962
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: UnknownFormComponent, isStandalone: true, selector: "bonc-unknown-form", inputs: { label: "label" }, usesInheritance: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<label>Unknown form:<b>{{label}}</b></label>\n<pre><ng-content></ng-content></pre>\n", styles: [":host{display:block;color:#000;padding:20px;background-color:#dc143c;margin-bottom:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
|
|
976
963
|
}
|
|
977
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
964
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UnknownFormComponent, decorators: [{
|
|
978
965
|
type: Component,
|
|
979
|
-
args: [{ selector: 'bonc-unknown-form', template: "<label>Unknown form:<b>{{label}}</b></label>\
|
|
966
|
+
args: [{ selector: 'bonc-unknown-form', standalone: true, imports: [CommonModule], hostDirectives: [EditableDirective], template: "<label>Unknown form:<b>{{label}}</b></label>\n<pre><ng-content></ng-content></pre>\n", styles: [":host{display:block;color:#000;padding:20px;background-color:#dc143c;margin-bottom:10px}\n"] }]
|
|
980
967
|
}], propDecorators: { label: [{
|
|
981
968
|
type: Input
|
|
982
969
|
}] } });
|
|
@@ -984,10 +971,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
984
971
|
const API_BASE_URL = new InjectionToken('ApiBaseUrl');
|
|
985
972
|
|
|
986
973
|
class DataService {
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
this.baseHref = baseHref;
|
|
990
|
-
}
|
|
974
|
+
http = inject(HttpClient);
|
|
975
|
+
baseHref = inject(API_BASE_URL);
|
|
991
976
|
getView(viewCode) {
|
|
992
977
|
const pageOb = this.getSkeleton(`${this.baseHref}api/views/${viewCode}`);
|
|
993
978
|
return pageOb;
|
|
@@ -1042,21 +1027,18 @@ class DataService {
|
|
|
1042
1027
|
}));
|
|
1043
1028
|
return routeDataObs;
|
|
1044
1029
|
}
|
|
1045
|
-
static
|
|
1046
|
-
static
|
|
1030
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1031
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DataService });
|
|
1047
1032
|
}
|
|
1048
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1033
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: DataService, decorators: [{
|
|
1049
1034
|
type: Injectable
|
|
1050
|
-
}]
|
|
1051
|
-
type: Inject,
|
|
1052
|
-
args: [API_BASE_URL]
|
|
1053
|
-
}] }] });
|
|
1035
|
+
}] });
|
|
1054
1036
|
|
|
1055
1037
|
class AdminDataService {
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
|
|
1059
|
-
console.log('baseHref: ' + baseHref);
|
|
1038
|
+
http = inject(HttpClient);
|
|
1039
|
+
baseHref = inject(API_BASE_URL);
|
|
1040
|
+
constructor() {
|
|
1041
|
+
console.log('baseHref: ' + this.baseHref);
|
|
1060
1042
|
}
|
|
1061
1043
|
getSettingGroups() {
|
|
1062
1044
|
const pageOb = this.http.get(`${this.baseHref}api/admin/settings`);
|
|
@@ -1074,23 +1056,19 @@ class AdminDataService {
|
|
|
1074
1056
|
const ob = this.http.post(`${this.baseHref}api/admin/settings`, settings);
|
|
1075
1057
|
return ob;
|
|
1076
1058
|
}
|
|
1077
|
-
static
|
|
1078
|
-
static
|
|
1059
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdminDataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
1060
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdminDataService });
|
|
1079
1061
|
}
|
|
1080
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1062
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdminDataService, decorators: [{
|
|
1081
1063
|
type: Injectable
|
|
1082
|
-
}], ctorParameters: () => [
|
|
1083
|
-
type: Inject,
|
|
1084
|
-
args: [API_BASE_URL]
|
|
1085
|
-
}] }] });
|
|
1064
|
+
}], ctorParameters: () => [] });
|
|
1086
1065
|
|
|
1087
1066
|
class AdminControlsComponent {
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
}
|
|
1067
|
+
DeviceType = DeviceType;
|
|
1068
|
+
editableGroup;
|
|
1069
|
+
deviceControls = false;
|
|
1070
|
+
locale = 'en';
|
|
1071
|
+
device = this.DeviceType.Desktop;
|
|
1094
1072
|
changeLocale() {
|
|
1095
1073
|
this.locale = this.locale === 'en' ? 'ru' : 'en';
|
|
1096
1074
|
}
|
|
@@ -1110,12 +1088,12 @@ class AdminControlsComponent {
|
|
|
1110
1088
|
return;
|
|
1111
1089
|
}
|
|
1112
1090
|
}
|
|
1113
|
-
static
|
|
1114
|
-
static
|
|
1091
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdminControlsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1092
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: AdminControlsComponent, isStandalone: true, selector: "bonc-admin-controls", inputs: { editableGroup: "editableGroup", deviceControls: "deviceControls" }, ngImport: i0, template: "<div class=\"page-controls\">\n <a (click)=\"changeLocale()\" class=\"locale\">Locale: {{locale}}</a>\n\n <!-- todo: return this functionality -->\n <!-- <a *ngIf=\"deviceControls\" (click)=\"changeDevice()\" class=\"device\">\n <span *ngIf=\"device === DeviceType.Desktop\">DESKTOP</span>\n <span *ngIf=\"device === DeviceType.Tablet\">TABLET</span>\n <span *ngIf=\"device === DeviceType.Mobile\">MOBILE</span>\n </a> -->\n\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\n (click)=\"editableGroup.saveAll()\"\n class=\"save\">Save all</a>\n\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\n (click)=\"editableGroup.cancelAll()\"\n class=\"cancel\">Cancel all</a>\n</div>\n", styles: [":host{display:block;position:sticky;top:0;width:100%;z-index:1000}.page-controls{background-color:#111;height:60px;display:flex;align-items:center;justify-content:center}.page-controls a{color:silver;padding:4px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}.page-controls a:hover{color:#000;background-color:#cf0}.page-controls a.device{width:80px}.page-controls a+a{margin-left:6px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
|
|
1115
1093
|
}
|
|
1116
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1094
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: AdminControlsComponent, decorators: [{
|
|
1117
1095
|
type: Component,
|
|
1118
|
-
args: [{ selector: 'bonc-admin-controls', template: "<div class=\"page-controls\">\
|
|
1096
|
+
args: [{ selector: 'bonc-admin-controls', standalone: true, imports: [CommonModule], template: "<div class=\"page-controls\">\n <a (click)=\"changeLocale()\" class=\"locale\">Locale: {{locale}}</a>\n\n <!-- todo: return this functionality -->\n <!-- <a *ngIf=\"deviceControls\" (click)=\"changeDevice()\" class=\"device\">\n <span *ngIf=\"device === DeviceType.Desktop\">DESKTOP</span>\n <span *ngIf=\"device === DeviceType.Tablet\">TABLET</span>\n <span *ngIf=\"device === DeviceType.Mobile\">MOBILE</span>\n </a> -->\n\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\n (click)=\"editableGroup.saveAll()\"\n class=\"save\">Save all</a>\n\n <a *ngIf=\"editableGroup && editableGroup.inEditMode\"\n (click)=\"editableGroup.cancelAll()\"\n class=\"cancel\">Cancel all</a>\n</div>\n", styles: [":host{display:block;position:sticky;top:0;width:100%;z-index:1000}.page-controls{background-color:#111;height:60px;display:flex;align-items:center;justify-content:center}.page-controls a{color:silver;padding:4px;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:center}.page-controls a:hover{color:#000;background-color:#cf0}.page-controls a.device{width:80px}.page-controls a+a{margin-left:6px}\n"] }]
|
|
1119
1097
|
}], propDecorators: { editableGroup: [{
|
|
1120
1098
|
type: Input,
|
|
1121
1099
|
args: [{ required: true }]
|
|
@@ -1129,17 +1107,21 @@ const imageFileTypes = imageMimeTypes.join(',');
|
|
|
1129
1107
|
const videoFileTypes = videoMimeTypes.join(',');
|
|
1130
1108
|
const allMediaFileTypes = `${imageFileTypes},${videoFileTypes}`;
|
|
1131
1109
|
class MediaUploaderComponent {
|
|
1132
|
-
|
|
1133
|
-
|
|
1134
|
-
|
|
1135
|
-
|
|
1136
|
-
|
|
1137
|
-
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
|
|
1141
|
-
|
|
1142
|
-
|
|
1110
|
+
MediaObjectFit = MediaObjectFit;
|
|
1111
|
+
fileInput;
|
|
1112
|
+
srcChange = new EventEmitter();
|
|
1113
|
+
uploadUrlMap;
|
|
1114
|
+
forceRatio;
|
|
1115
|
+
progress = 0;
|
|
1116
|
+
isUploading = false;
|
|
1117
|
+
autoplay = true;
|
|
1118
|
+
clipStyle;
|
|
1119
|
+
fileTypeMask = allMediaFileTypes;
|
|
1120
|
+
_uploadType;
|
|
1121
|
+
_src;
|
|
1122
|
+
sanitizer = inject(DomSanitizer);
|
|
1123
|
+
http = inject(HttpClient);
|
|
1124
|
+
cd = inject(ChangeDetectorRef);
|
|
1143
1125
|
set src(newSrc) {
|
|
1144
1126
|
if (this._src === newSrc)
|
|
1145
1127
|
return;
|
|
@@ -1252,13 +1234,13 @@ class MediaUploaderComponent {
|
|
|
1252
1234
|
};
|
|
1253
1235
|
return func;
|
|
1254
1236
|
}
|
|
1255
|
-
static
|
|
1256
|
-
static
|
|
1237
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: MediaUploaderComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1238
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: MediaUploaderComponent, isStandalone: true, selector: "bonc-media-uploader", inputs: { uploadUrlMap: "uploadUrlMap", forceRatio: "forceRatio", src: "src", uploadType: "uploadType" }, outputs: { srcChange: "srcChange" }, viewQueries: [{ propertyName: "fileInput", first: true, predicate: ["fileInput"], descendants: true, static: true }], ngImport: i0, template: "<bon-media [src]=\"src\" [objectFit]=\"MediaObjectFit.Cover\"></bon-media>\n\n<div *ngIf=\"src?.sources?.length===0\">Upload media</div>\n\n<div (click)=\"selectFile($event)\" class=\"media-container\">\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\n <span *ngIf=\"isUploading\"\n [style.clip-path]=\"clipStyle\"\n [style.-webkit-clip-path]=\"clipStyle\"\n class=\"loader\"></span>\n\n <span *ngIf=\"isUploading\" class=\"loader-text\">\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\n <span *ngIf=\"progress >= 1\">converting</span>\n </span>\n</div>\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: MarcyMediaComponent, selector: "bon-media", inputs: ["src", "objectFit"], outputs: ["isLoaded"] }, { kind: "pipe", type: i2.DecimalPipe, name: "number" }] });
|
|
1257
1239
|
}
|
|
1258
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1240
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: MediaUploaderComponent, decorators: [{
|
|
1259
1241
|
type: Component,
|
|
1260
|
-
args: [{ selector: 'bonc-media-uploader', template: "<bon-media [src]=\"src\" [objectFit]=\"MediaObjectFit.Cover\"></bon-media>\
|
|
1261
|
-
}],
|
|
1242
|
+
args: [{ selector: 'bonc-media-uploader', standalone: true, imports: [CommonModule, DecimalPipe, MarcyMediaComponent], template: "<bon-media [src]=\"src\" [objectFit]=\"MediaObjectFit.Cover\"></bon-media>\n\n<div *ngIf=\"src?.sources?.length===0\">Upload media</div>\n\n<div (click)=\"selectFile($event)\" class=\"media-container\">\n <input #fileInput [accept]=\"fileTypeMask\" (change)=\"onFileSelect(fileInput)\" name=\"media\" type=\"file\" />\n <span *ngIf=\"isUploading\"\n [style.clip-path]=\"clipStyle\"\n [style.-webkit-clip-path]=\"clipStyle\"\n class=\"loader\"></span>\n\n <span *ngIf=\"isUploading\" class=\"loader-text\">\n <span *ngIf=\"progress < 1\">{{100 * progress | number: '1.0-0'}}%</span>\n <span *ngIf=\"progress >= 1\">converting</span>\n </span>\n</div>\n", styles: [":host{display:block;background-color:#000;position:relative}.media-container{display:block;position:absolute;inset:0;cursor:pointer}.media-container:hover:hover:after{display:flex;justify-content:center;align-items:center;content:\"\";position:absolute;color:silver;inset:0;font-weight:700;font-size:50pt;pointer-events:none;background-color:#ccff00b3}.media-container img,.media-container video{display:block;position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}input[type=file]{display:none}.loader{position:absolute;inset:0;background-color:#cf0}.loader-text{background-color:#000;position:absolute;top:50%;left:0;right:0;text-align:center;font-size:20pt;margin-top:-10pt;color:#fff}\n"] }]
|
|
1243
|
+
}], propDecorators: { fileInput: [{
|
|
1262
1244
|
type: ViewChild,
|
|
1263
1245
|
args: ['fileInput', { static: true }]
|
|
1264
1246
|
}], srcChange: [{
|
|
@@ -1275,49 +1257,32 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
1275
1257
|
}] } });
|
|
1276
1258
|
|
|
1277
1259
|
class SkeletonEditorAnchorDirective {
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
}
|
|
1281
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: SkeletonEditorAnchorDirective, deps: [{ token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
1282
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.0.8", type: SkeletonEditorAnchorDirective, selector: "[boncSkeletonEditorAnchor]", ngImport: i0 }); }
|
|
1260
|
+
viewContainerRef = inject(ViewContainerRef);
|
|
1261
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SkeletonEditorAnchorDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
1262
|
+
static ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "21.0.6", type: SkeletonEditorAnchorDirective, isStandalone: true, selector: "[boncSkeletonEditorAnchor]", ngImport: i0 });
|
|
1283
1263
|
}
|
|
1284
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1264
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SkeletonEditorAnchorDirective, decorators: [{
|
|
1285
1265
|
type: Directive,
|
|
1286
1266
|
args: [{
|
|
1287
|
-
selector: '[boncSkeletonEditorAnchor]'
|
|
1267
|
+
selector: '[boncSkeletonEditorAnchor]',
|
|
1268
|
+
standalone: true
|
|
1288
1269
|
}]
|
|
1289
|
-
}]
|
|
1270
|
+
}] });
|
|
1290
1271
|
|
|
1291
1272
|
class BoneEditorBaseComponent {
|
|
1273
|
+
editing = new EventEmitter();
|
|
1274
|
+
saved = new EventEmitter();
|
|
1275
|
+
removed = new EventEmitter();
|
|
1276
|
+
noPresets;
|
|
1277
|
+
locale;
|
|
1278
|
+
device = DeviceType.NotSet;
|
|
1279
|
+
_bone;
|
|
1280
|
+
_storedData = '';
|
|
1281
|
+
_currentPreset;
|
|
1282
|
+
presets;
|
|
1283
|
+
_isDirty = false;
|
|
1284
|
+
_isEditing = false;
|
|
1292
1285
|
constructor() {
|
|
1293
|
-
this.editing = new EventEmitter();
|
|
1294
|
-
this.saved = new EventEmitter();
|
|
1295
|
-
this.removed = new EventEmitter();
|
|
1296
|
-
this.device = DeviceType.NotSet;
|
|
1297
|
-
this._storedData = '';
|
|
1298
|
-
this._isDirty = false;
|
|
1299
|
-
this._isEditing = false;
|
|
1300
|
-
this.applyPresetAtIndex = (newIndex) => {
|
|
1301
|
-
newIndex = newIndex < 0 ? 0 : newIndex % this.presets.length;
|
|
1302
|
-
const currentIndex = this._currentPreset === undefined ? -1 : this.presets.indexOf(this._currentPreset);
|
|
1303
|
-
if (currentIndex === newIndex)
|
|
1304
|
-
return;
|
|
1305
|
-
this._currentPreset = this.presets[newIndex];
|
|
1306
|
-
this._currentPreset.transformer(this._bone);
|
|
1307
|
-
this.updateDirty();
|
|
1308
|
-
};
|
|
1309
|
-
this.updatePresetByData = () => {
|
|
1310
|
-
const countOfActive = this.presets.map(p => p.isActive(this._bone)).filter(p => p).length;
|
|
1311
|
-
if (countOfActive !== 1)
|
|
1312
|
-
throw new Error(`active preset count should be equal 1, but it was: ${countOfActive}. ${this.constructor.name}`);
|
|
1313
|
-
for (let i = 0; this.presets.length; i++) {
|
|
1314
|
-
const preset = this.presets[i];
|
|
1315
|
-
if (preset.isActive(this._bone)) {
|
|
1316
|
-
this.applyPresetAtIndex(i);
|
|
1317
|
-
break;
|
|
1318
|
-
}
|
|
1319
|
-
}
|
|
1320
|
-
};
|
|
1321
1286
|
this.presets = this.getPresets();
|
|
1322
1287
|
if (this.presets === undefined || this.presets === null)
|
|
1323
1288
|
throw new Error('presets cannot be undefined in ContentPreset constructor');
|
|
@@ -1405,10 +1370,31 @@ class BoneEditorBaseComponent {
|
|
|
1405
1370
|
const newIndex = this._currentPreset === undefined ? 0 : this.presets.indexOf(this._currentPreset) + 1;
|
|
1406
1371
|
this.applyPresetAtIndex(newIndex);
|
|
1407
1372
|
}
|
|
1408
|
-
|
|
1409
|
-
|
|
1373
|
+
applyPresetAtIndex = (newIndex) => {
|
|
1374
|
+
newIndex = newIndex < 0 ? 0 : newIndex % this.presets.length;
|
|
1375
|
+
const currentIndex = this._currentPreset === undefined ? -1 : this.presets.indexOf(this._currentPreset);
|
|
1376
|
+
if (currentIndex === newIndex)
|
|
1377
|
+
return;
|
|
1378
|
+
this._currentPreset = this.presets[newIndex];
|
|
1379
|
+
this._currentPreset.transformer(this._bone);
|
|
1380
|
+
this.updateDirty();
|
|
1381
|
+
};
|
|
1382
|
+
updatePresetByData = () => {
|
|
1383
|
+
const countOfActive = this.presets.map(p => p.isActive(this._bone)).filter(p => p).length;
|
|
1384
|
+
if (countOfActive !== 1)
|
|
1385
|
+
throw new Error(`active preset count should be equal 1, but it was: ${countOfActive}. ${this.constructor.name}`);
|
|
1386
|
+
for (let i = 0; this.presets.length; i++) {
|
|
1387
|
+
const preset = this.presets[i];
|
|
1388
|
+
if (preset.isActive(this._bone)) {
|
|
1389
|
+
this.applyPresetAtIndex(i);
|
|
1390
|
+
break;
|
|
1391
|
+
}
|
|
1392
|
+
}
|
|
1393
|
+
};
|
|
1394
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BoneEditorBaseComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1395
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: BoneEditorBaseComponent, isStandalone: true, selector: "ng-component", inputs: { locale: "locale", bone: "bone" }, host: { properties: { "class.mobile": "this.isMobile", "class.tablet": "this.isTablet", "class.desktop": "this.isDesktop" } }, ngImport: i0, template: '', isInline: true });
|
|
1410
1396
|
}
|
|
1411
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1397
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BoneEditorBaseComponent, decorators: [{
|
|
1412
1398
|
type: Component,
|
|
1413
1399
|
args: [{ template: '' }]
|
|
1414
1400
|
}], ctorParameters: () => [], propDecorators: { locale: [{
|
|
@@ -1434,36 +1420,37 @@ class UnknownBoneEditorComponent extends BoneEditorBaseComponent {
|
|
|
1434
1420
|
getPresets() {
|
|
1435
1421
|
return [];
|
|
1436
1422
|
}
|
|
1437
|
-
static
|
|
1438
|
-
static
|
|
1423
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UnknownBoneEditorComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
|
|
1424
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: UnknownBoneEditorComponent, isStandalone: true, selector: "bonc-unknown-bone-editor", usesInheritance: true, ngImport: i0, template: "<p>Unknown Bone Editor | bone type: {{bone.type}}</p>\n<pre>{{bone | json}}</pre>\n", styles: [":host{display:block;background-color:#dc143c}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "pipe", type: i2.JsonPipe, name: "json" }] });
|
|
1439
1425
|
}
|
|
1440
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1426
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: UnknownBoneEditorComponent, decorators: [{
|
|
1441
1427
|
type: Component,
|
|
1442
|
-
args: [{ selector: 'bonc-unknown-bone-editor', template: "<p>Unknown Bone Editor | bone type: {{bone.type}}</p>\
|
|
1428
|
+
args: [{ selector: 'bonc-unknown-bone-editor', standalone: true, imports: [CommonModule, JsonPipe], template: "<p>Unknown Bone Editor | bone type: {{bone.type}}</p>\n<pre>{{bone | json}}</pre>\n", styles: [":host{display:block;background-color:#dc143c}\n"] }]
|
|
1443
1429
|
}] });
|
|
1444
1430
|
|
|
1445
1431
|
// todo: rename class
|
|
1446
1432
|
class BoneEditorContainerComponent {
|
|
1447
|
-
|
|
1448
|
-
|
|
1449
|
-
|
|
1450
|
-
|
|
1451
|
-
|
|
1452
|
-
|
|
1453
|
-
|
|
1454
|
-
|
|
1455
|
-
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
|
|
1459
|
-
|
|
1460
|
-
|
|
1433
|
+
anchor;
|
|
1434
|
+
removed = new EventEmitter();
|
|
1435
|
+
saved = new EventEmitter();
|
|
1436
|
+
editing = new EventEmitter();
|
|
1437
|
+
DeviceType = DeviceType;
|
|
1438
|
+
editor;
|
|
1439
|
+
themePopupIsShown = false;
|
|
1440
|
+
_bone;
|
|
1441
|
+
removeSubscription;
|
|
1442
|
+
saveSubscription;
|
|
1443
|
+
changedSubscription;
|
|
1444
|
+
locale;
|
|
1445
|
+
device = DeviceType.NotSet;
|
|
1446
|
+
componentFactoryResolver = inject(ComponentFactoryResolver);
|
|
1461
1447
|
ngOnChanges() {
|
|
1462
1448
|
if (this.editor === undefined || this.editor === null)
|
|
1463
1449
|
return;
|
|
1464
1450
|
this.editor.locale = this.locale;
|
|
1465
1451
|
this.editor.device = this.device;
|
|
1466
1452
|
}
|
|
1453
|
+
map;
|
|
1467
1454
|
get bone() {
|
|
1468
1455
|
return this._bone;
|
|
1469
1456
|
}
|
|
@@ -1499,6 +1486,11 @@ class BoneEditorContainerComponent {
|
|
|
1499
1486
|
});
|
|
1500
1487
|
this.ngOnChanges();
|
|
1501
1488
|
}
|
|
1489
|
+
nextPreset = () => {
|
|
1490
|
+
if (this.editor === undefined || this.editor === null)
|
|
1491
|
+
return;
|
|
1492
|
+
this.editor.nextPreset();
|
|
1493
|
+
};
|
|
1502
1494
|
// todo: add or remove visibility feature
|
|
1503
1495
|
// public setDisabled = (disabled: boolean): void => {
|
|
1504
1496
|
// if (this.editor === undefined || this.editor === null)
|
|
@@ -1526,13 +1518,13 @@ class BoneEditorContainerComponent {
|
|
|
1526
1518
|
// return false;
|
|
1527
1519
|
// return true;
|
|
1528
1520
|
}
|
|
1529
|
-
static
|
|
1530
|
-
static
|
|
1521
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BoneEditorContainerComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1522
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: BoneEditorContainerComponent, isStandalone: true, selector: "bonc-bone-editor-container", inputs: { locale: "locale", device: "device", map: "map", bone: "bone" }, outputs: { removed: "removed", saved: "saved", editing: "editing" }, viewQueries: [{ propertyName: "anchor", first: true, predicate: SkeletonEditorAnchorDirective, descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "<div *ngIf=\"editor\" class=\"left bar\" [class.inactive]=\"editor.noPresets\">\n <!-- <a *ngFor=\"let control of editor.controls\" (click)=\"control.activate()\">{{control.label}}</a> -->\n <!-- <a (click)=\"setDisabled(!disabled)\" class=\"disabled\">block {{disabled ? 'disabled' : 'enabled'}} ({{editor.bone.visibility}})</a> -->\n <a *ngIf=\"editor.currentPreset && !editor.noPresets\" (click)=\"nextPreset()\" class=\"preset\">style:<br />{{editor.currentPreset.title}}</a>\n</div>\n\n<div class=\"editor-container\"\n [class.disabled]=\"disabled\"\n [style.width]=\"\n device === DeviceType.Desktop ? '75vw'\n : device === DeviceType.Tablet ? '55vw'\n : device === DeviceType.Mobile ? '35vw'\n : '75vw' \">\n <ng-template boncSkeletonEditorAnchor>\n </ng-template>\n</div>\n\n<div *ngIf=\"editor\" [class.active]=\"editor.isEditing || editor.isDirty\" class=\"right bar\">\n <!-- <a *ngIf=\"!editor.isEditing\" (click)=\"editor.remove()\" class=\"delete\">!!! remove</a> -->\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.resetData()\" class=\"reset\">reset</a>\n <a *ngIf=\"editor.isEditing && !editor.isDirty\" (click)=\"editor.finishEditing()\" class=\"close\">close</a>\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.save()\" class=\"save\">apply</a>\n</div>\n", styles: [":host{display:flex}.editor-container{background-color:var(--bg-color)}.editor-container.disabled{opacity:.1;pointer-events:none}.editor-container.mobile{width:350px}.preset{white-space:pre-line}.bar{width:120px;display:flex;flex-direction:column;pointer-events:all}.bar.left:hover,.bar.active{background-color:#111}.bar.hidden{opacity:.2}.bar.left{position:relative;border-right:none}.bar.right{border-left:none;text-align:right}.bar.right .delete{display:none}.bar.right .delete:hover{color:#ff355e}.bar.right.active .delete,.bar.right:hover .delete{display:block}.left.bar.inactive a:hover{cursor:initial;color:#444}.popup{position:absolute;top:0;right:-350px;display:flex;flex-direction:column;width:350px;padding:20px;color:#222;background-color:#fff;border:2px solid black;box-sizing:border-box;z-index:3}.popup a{padding:0!important;cursor:pointer!important}.popup a.close{position:absolute;top:10px;right:10px;color:#666}.popup a.close:hover{background-color:#cf0!important}.popup a.reset{align-self:flex-start;margin-top:30px}.popup a.reset:hover{background-color:#cf0!important}.color-group{display:flex}.color-group:first-of-type{margin-top:20px}.color-group label{flex:1}.color-group input{border:1px solid #222;padding:6px;cursor:pointer}.color-group input:hover,.color-group input:focus{outline:none}.color-group+.color-group{margin-top:10px}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: SkeletonEditorAnchorDirective, selector: "[boncSkeletonEditorAnchor]" }] });
|
|
1531
1523
|
}
|
|
1532
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1524
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: BoneEditorContainerComponent, decorators: [{
|
|
1533
1525
|
type: Component,
|
|
1534
|
-
args: [{ selector: 'bonc-bone-editor-container', template: "<div *ngIf=\"editor\" class=\"left bar\" [class.inactive]=\"editor.noPresets\">\
|
|
1535
|
-
}],
|
|
1526
|
+
args: [{ selector: 'bonc-bone-editor-container', standalone: true, imports: [CommonModule, SkeletonEditorAnchorDirective], template: "<div *ngIf=\"editor\" class=\"left bar\" [class.inactive]=\"editor.noPresets\">\n <!-- <a *ngFor=\"let control of editor.controls\" (click)=\"control.activate()\">{{control.label}}</a> -->\n <!-- <a (click)=\"setDisabled(!disabled)\" class=\"disabled\">block {{disabled ? 'disabled' : 'enabled'}} ({{editor.bone.visibility}})</a> -->\n <a *ngIf=\"editor.currentPreset && !editor.noPresets\" (click)=\"nextPreset()\" class=\"preset\">style:<br />{{editor.currentPreset.title}}</a>\n</div>\n\n<div class=\"editor-container\"\n [class.disabled]=\"disabled\"\n [style.width]=\"\n device === DeviceType.Desktop ? '75vw'\n : device === DeviceType.Tablet ? '55vw'\n : device === DeviceType.Mobile ? '35vw'\n : '75vw' \">\n <ng-template boncSkeletonEditorAnchor>\n </ng-template>\n</div>\n\n<div *ngIf=\"editor\" [class.active]=\"editor.isEditing || editor.isDirty\" class=\"right bar\">\n <!-- <a *ngIf=\"!editor.isEditing\" (click)=\"editor.remove()\" class=\"delete\">!!! remove</a> -->\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.resetData()\" class=\"reset\">reset</a>\n <a *ngIf=\"editor.isEditing && !editor.isDirty\" (click)=\"editor.finishEditing()\" class=\"close\">close</a>\n <a *ngIf=\"editor.isDirty\" (click)=\"editor.save()\" class=\"save\">apply</a>\n</div>\n", styles: [":host{display:flex}.editor-container{background-color:var(--bg-color)}.editor-container.disabled{opacity:.1;pointer-events:none}.editor-container.mobile{width:350px}.preset{white-space:pre-line}.bar{width:120px;display:flex;flex-direction:column;pointer-events:all}.bar.left:hover,.bar.active{background-color:#111}.bar.hidden{opacity:.2}.bar.left{position:relative;border-right:none}.bar.right{border-left:none;text-align:right}.bar.right .delete{display:none}.bar.right .delete:hover{color:#ff355e}.bar.right.active .delete,.bar.right:hover .delete{display:block}.left.bar.inactive a:hover{cursor:initial;color:#444}.popup{position:absolute;top:0;right:-350px;display:flex;flex-direction:column;width:350px;padding:20px;color:#222;background-color:#fff;border:2px solid black;box-sizing:border-box;z-index:3}.popup a{padding:0!important;cursor:pointer!important}.popup a.close{position:absolute;top:10px;right:10px;color:#666}.popup a.close:hover{background-color:#cf0!important}.popup a.reset{align-self:flex-start;margin-top:30px}.popup a.reset:hover{background-color:#cf0!important}.color-group{display:flex}.color-group:first-of-type{margin-top:20px}.color-group label{flex:1}.color-group input{border:1px solid #222;padding:6px;cursor:pointer}.color-group input:hover,.color-group input:focus{outline:none}.color-group+.color-group{margin-top:10px}\n"] }]
|
|
1527
|
+
}], propDecorators: { anchor: [{
|
|
1536
1528
|
type: ViewChild,
|
|
1537
1529
|
args: [SkeletonEditorAnchorDirective, { static: true }]
|
|
1538
1530
|
}], removed: [{
|
|
@@ -1556,11 +1548,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImpor
|
|
|
1556
1548
|
|
|
1557
1549
|
// todo: rename class
|
|
1558
1550
|
class SkeletonEditorComponent {
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
}
|
|
1551
|
+
boneEditorContainerList;
|
|
1552
|
+
locale;
|
|
1553
|
+
device = DeviceType.NotSet;
|
|
1554
|
+
templatesAreShown = [];
|
|
1555
|
+
editable = inject((EditableDirective), { host: true });
|
|
1564
1556
|
ngOnInit() {
|
|
1565
1557
|
this.editable.externalSaveCall.subscribe(() => {
|
|
1566
1558
|
this.boneEditorContainerList.forEach(editorContainer => editorContainer.editor?.save());
|
|
@@ -1571,6 +1563,7 @@ class SkeletonEditorComponent {
|
|
|
1571
1563
|
this.editable.save();
|
|
1572
1564
|
});
|
|
1573
1565
|
}
|
|
1566
|
+
map;
|
|
1574
1567
|
ngOnChanges() {
|
|
1575
1568
|
this.templatesAreShown.splice(0, this.templatesAreShown.length);
|
|
1576
1569
|
if (this.bones === undefined)
|
|
@@ -1578,6 +1571,7 @@ class SkeletonEditorComponent {
|
|
|
1578
1571
|
this.bones.forEach(() => this.templatesAreShown.push(false));
|
|
1579
1572
|
this.templatesAreShown.push(false);
|
|
1580
1573
|
}
|
|
1574
|
+
templates;
|
|
1581
1575
|
get bones() {
|
|
1582
1576
|
return this.editable?.value ?? [];
|
|
1583
1577
|
}
|
|
@@ -1630,15 +1624,13 @@ class SkeletonEditorComponent {
|
|
|
1630
1624
|
this.bones[index1] = this.bones[index2];
|
|
1631
1625
|
this.bones[index2] = tempBone;
|
|
1632
1626
|
}
|
|
1633
|
-
static
|
|
1634
|
-
static
|
|
1627
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SkeletonEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
1628
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "21.0.6", type: SkeletonEditorComponent, isStandalone: true, selector: "bonc-skeleton-editor", inputs: { locale: "locale", device: "device", map: "map", templates: "templates" }, viewQueries: [{ propertyName: "boneEditorContainerList", predicate: ["boneEditorContainer"], descendants: true }], usesOnChanges: true, hostDirectives: [{ directive: EditableDirective }], ngImport: i0, template: "<ng-template #controls let-index='index'>\n <div [class.appearable]=\"index > 0 && index < bones.length\" class=\"controls\">\n <div *ngIf=\"index < bones.length\" class=\"up-down\">\n <a *ngIf=\"index > 0\" (click)=\"moveDown(index - 1)\" class=\"down\">move down</a>\n <a *ngIf=\"index > 0\" (click)=\"moveUp(index)\" class=\"up\">move up</a>\n </div>\n <a (click)=\"templatesAreShown[index] = true\" class=\"add\">create</a>\n <a *ngIf=\"index < bones.length\" (click)=\"removeBone(index)\" class=\"remove\">remove</a>\n </div>\n\n <div *ngIf=\"templatesAreShown[index]\" class=\"templates\">\n <a *ngFor=\"let template of templates\" (click)=\"templatesAreShown[index] = false; createBone(index,template);\">{{template.title}}</a>\n <a (click)=\"templatesAreShown[index] = false\">Close</a>\n </div>\n</ng-template>\n\n<!-- todo: add trackby -->\n<ng-container *ngFor=\"let bone of bones; let i = index\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"controls; context: {index: i}\"></ng-container>\n </ng-container>\n\n <bonc-bone-editor-container #boneEditorContainer\n [map]=\"map\"\n [bone]=\"bone\"\n [locale]=\"locale\"\n [device]=\"device\"\n (removed)=\"removeBone(i)\"\n (editing)=\"boneEditHandler($event)\"\n (saved)=\"boneChangeHandler(i, $event)\">\n </bonc-bone-editor-container>\n\n</ng-container>\n\n<ng-container *ngTemplateOutlet=\"controls; context: {index: bones.length}\"></ng-container>\n", styles: [":host{display:block}.controls{height:62px;display:flex;align-items:center;justify-content:space-between;margin:0 120px}.controls.appearable{background-color:var(--bg-color)}.controls.appearable *{opacity:0}.controls.appearable:hover *{opacity:1}.controls.appearable:hover{background-color:#222}.controls .up-down{width:100px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.controls a{display:flex;align-items:center;justify-content:center;color:#000;background-color:#cf0;-webkit-user-select:none;user-select:none;cursor:pointer}.controls a.add{padding:10px 30px}.controls a.up,.controls a.down,.controls a.remove{padding:4px 8px}.controls a.remove{align-self:flex-end}.controls a:hover{color:#cf0;background-color:#333}.controls a.remove:hover{color:#fff;background-color:#ff355e}.templates{width:220px;height:380px;position:absolute;left:50%;display:flex;flex-direction:column;margin-left:-110px;margin-top:-190px;z-index:10;padding:6px;background-color:#cf0;box-shadow:0 0 78px #000000bf}.templates a{display:flex;flex:1;align-items:center;justify-content:center;background-color:#cf0;text-align:center;cursor:pointer;text-transform:lowercase}.templates a:hover{text-decoration:underline;font-weight:700}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i2.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i2.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: BoneEditorContainerComponent, selector: "bonc-bone-editor-container", inputs: ["locale", "device", "map", "bone"], outputs: ["removed", "saved", "editing"] }] });
|
|
1635
1629
|
}
|
|
1636
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
1630
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.0.6", ngImport: i0, type: SkeletonEditorComponent, decorators: [{
|
|
1637
1631
|
type: Component,
|
|
1638
|
-
args: [{ selector: 'bonc-skeleton-editor', hostDirectives: [EditableDirective], template: "<ng-template #controls let-index='index'>\
|
|
1639
|
-
}],
|
|
1640
|
-
type: Host
|
|
1641
|
-
}] }], propDecorators: { boneEditorContainerList: [{
|
|
1632
|
+
args: [{ selector: 'bonc-skeleton-editor', standalone: true, imports: [CommonModule, BoneEditorContainerComponent], hostDirectives: [EditableDirective], template: "<ng-template #controls let-index='index'>\n <div [class.appearable]=\"index > 0 && index < bones.length\" class=\"controls\">\n <div *ngIf=\"index < bones.length\" class=\"up-down\">\n <a *ngIf=\"index > 0\" (click)=\"moveDown(index - 1)\" class=\"down\">move down</a>\n <a *ngIf=\"index > 0\" (click)=\"moveUp(index)\" class=\"up\">move up</a>\n </div>\n <a (click)=\"templatesAreShown[index] = true\" class=\"add\">create</a>\n <a *ngIf=\"index < bones.length\" (click)=\"removeBone(index)\" class=\"remove\">remove</a>\n </div>\n\n <div *ngIf=\"templatesAreShown[index]\" class=\"templates\">\n <a *ngFor=\"let template of templates\" (click)=\"templatesAreShown[index] = false; createBone(index,template);\">{{template.title}}</a>\n <a (click)=\"templatesAreShown[index] = false\">Close</a>\n </div>\n</ng-template>\n\n<!-- todo: add trackby -->\n<ng-container *ngFor=\"let bone of bones; let i = index\">\n <ng-container>\n <ng-container *ngTemplateOutlet=\"controls; context: {index: i}\"></ng-container>\n </ng-container>\n\n <bonc-bone-editor-container #boneEditorContainer\n [map]=\"map\"\n [bone]=\"bone\"\n [locale]=\"locale\"\n [device]=\"device\"\n (removed)=\"removeBone(i)\"\n (editing)=\"boneEditHandler($event)\"\n (saved)=\"boneChangeHandler(i, $event)\">\n </bonc-bone-editor-container>\n\n</ng-container>\n\n<ng-container *ngTemplateOutlet=\"controls; context: {index: bones.length}\"></ng-container>\n", styles: [":host{display:block}.controls{height:62px;display:flex;align-items:center;justify-content:space-between;margin:0 120px}.controls.appearable{background-color:var(--bg-color)}.controls.appearable *{opacity:0}.controls.appearable:hover *{opacity:1}.controls.appearable:hover{background-color:#222}.controls .up-down{width:100px;align-self:stretch;display:flex;flex-direction:column;justify-content:space-between}.controls a{display:flex;align-items:center;justify-content:center;color:#000;background-color:#cf0;-webkit-user-select:none;user-select:none;cursor:pointer}.controls a.add{padding:10px 30px}.controls a.up,.controls a.down,.controls a.remove{padding:4px 8px}.controls a.remove{align-self:flex-end}.controls a:hover{color:#cf0;background-color:#333}.controls a.remove:hover{color:#fff;background-color:#ff355e}.templates{width:220px;height:380px;position:absolute;left:50%;display:flex;flex-direction:column;margin-left:-110px;margin-top:-190px;z-index:10;padding:6px;background-color:#cf0;box-shadow:0 0 78px #000000bf}.templates a{display:flex;flex:1;align-items:center;justify-content:center;background-color:#cf0;text-align:center;cursor:pointer;text-transform:lowercase}.templates a:hover{text-decoration:underline;font-weight:700}\n"] }]
|
|
1633
|
+
}], propDecorators: { boneEditorContainerList: [{
|
|
1642
1634
|
type: ViewChildren,
|
|
1643
1635
|
args: ['boneEditorContainer']
|
|
1644
1636
|
}], locale: [{
|
|
@@ -1663,122 +1655,9 @@ function createPreset(params) {
|
|
|
1663
1655
|
};
|
|
1664
1656
|
}
|
|
1665
1657
|
|
|
1666
|
-
const formComponents = [
|
|
1667
|
-
TranslationFormComponent,
|
|
1668
|
-
TextFormComponent,
|
|
1669
|
-
SeoFormComponent,
|
|
1670
|
-
SvgFormComponent,
|
|
1671
|
-
OneImageFormComponent,
|
|
1672
|
-
FileFormComponent,
|
|
1673
|
-
LottieFormComponent,
|
|
1674
|
-
UnknownFormComponent
|
|
1675
|
-
];
|
|
1676
|
-
const components = [
|
|
1677
|
-
...formComponents,
|
|
1678
|
-
TranslationInputComponent,
|
|
1679
|
-
TranslationTextareaComponent,
|
|
1680
|
-
AdminControlsComponent,
|
|
1681
|
-
EditableGroupComponent,
|
|
1682
|
-
FormControlsComponent,
|
|
1683
|
-
SkeletonEditorComponent,
|
|
1684
|
-
SkeletonEditorAnchorDirective,
|
|
1685
|
-
BoneEditorContainerComponent,
|
|
1686
|
-
UnknownBoneEditorComponent,
|
|
1687
|
-
MediaUploaderComponent,
|
|
1688
|
-
FileUploaderComponent,
|
|
1689
|
-
LinkPopupComponent
|
|
1690
|
-
];
|
|
1691
|
-
const standaloneDirectives = [
|
|
1692
|
-
EditableDirective
|
|
1693
|
-
];
|
|
1694
|
-
class BonnieCmsModule {
|
|
1695
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
1696
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, declarations: [TranslationFormComponent,
|
|
1697
|
-
TextFormComponent,
|
|
1698
|
-
SeoFormComponent,
|
|
1699
|
-
SvgFormComponent,
|
|
1700
|
-
OneImageFormComponent,
|
|
1701
|
-
FileFormComponent,
|
|
1702
|
-
LottieFormComponent,
|
|
1703
|
-
UnknownFormComponent, TranslationInputComponent,
|
|
1704
|
-
TranslationTextareaComponent,
|
|
1705
|
-
AdminControlsComponent,
|
|
1706
|
-
EditableGroupComponent,
|
|
1707
|
-
FormControlsComponent,
|
|
1708
|
-
SkeletonEditorComponent,
|
|
1709
|
-
SkeletonEditorAnchorDirective,
|
|
1710
|
-
BoneEditorContainerComponent,
|
|
1711
|
-
UnknownBoneEditorComponent,
|
|
1712
|
-
MediaUploaderComponent,
|
|
1713
|
-
FileUploaderComponent,
|
|
1714
|
-
LinkPopupComponent], imports: [CommonModule,
|
|
1715
|
-
FormsModule,
|
|
1716
|
-
CdkTextareaAutosize,
|
|
1717
|
-
BonnieModule,
|
|
1718
|
-
LottieComponent, EditableDirective], exports: [CommonModule,
|
|
1719
|
-
FormsModule,
|
|
1720
|
-
BonnieModule,
|
|
1721
|
-
LottieFormComponent, TranslationFormComponent,
|
|
1722
|
-
TextFormComponent,
|
|
1723
|
-
SeoFormComponent,
|
|
1724
|
-
SvgFormComponent,
|
|
1725
|
-
OneImageFormComponent,
|
|
1726
|
-
FileFormComponent,
|
|
1727
|
-
LottieFormComponent,
|
|
1728
|
-
UnknownFormComponent, TranslationInputComponent,
|
|
1729
|
-
TranslationTextareaComponent,
|
|
1730
|
-
AdminControlsComponent,
|
|
1731
|
-
EditableGroupComponent,
|
|
1732
|
-
FormControlsComponent,
|
|
1733
|
-
SkeletonEditorComponent,
|
|
1734
|
-
SkeletonEditorAnchorDirective,
|
|
1735
|
-
BoneEditorContainerComponent,
|
|
1736
|
-
UnknownBoneEditorComponent,
|
|
1737
|
-
MediaUploaderComponent,
|
|
1738
|
-
FileUploaderComponent,
|
|
1739
|
-
LinkPopupComponent, EditableDirective] }); }
|
|
1740
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, providers: [
|
|
1741
|
-
DataService,
|
|
1742
|
-
AdminDataService
|
|
1743
|
-
], imports: [CommonModule,
|
|
1744
|
-
FormsModule,
|
|
1745
|
-
BonnieModule,
|
|
1746
|
-
LottieComponent, CommonModule,
|
|
1747
|
-
FormsModule,
|
|
1748
|
-
BonnieModule] }); }
|
|
1749
|
-
} // todo: move to standalone
|
|
1750
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.0.8", ngImport: i0, type: BonnieCmsModule, decorators: [{
|
|
1751
|
-
type: NgModule,
|
|
1752
|
-
args: [{
|
|
1753
|
-
declarations: [
|
|
1754
|
-
...components,
|
|
1755
|
-
],
|
|
1756
|
-
providers: [
|
|
1757
|
-
DataService,
|
|
1758
|
-
AdminDataService
|
|
1759
|
-
],
|
|
1760
|
-
imports: [
|
|
1761
|
-
CommonModule,
|
|
1762
|
-
FormsModule,
|
|
1763
|
-
CdkTextareaAutosize,
|
|
1764
|
-
BonnieModule,
|
|
1765
|
-
LottieComponent,
|
|
1766
|
-
...standaloneDirectives
|
|
1767
|
-
],
|
|
1768
|
-
exports: [
|
|
1769
|
-
CommonModule,
|
|
1770
|
-
FormsModule,
|
|
1771
|
-
BonnieModule,
|
|
1772
|
-
LottieFormComponent,
|
|
1773
|
-
...components,
|
|
1774
|
-
...standaloneDirectives
|
|
1775
|
-
]
|
|
1776
|
-
}]
|
|
1777
|
-
}] });
|
|
1778
|
-
|
|
1779
1658
|
/**
|
|
1780
1659
|
* Generated bundle index. Do not edit.
|
|
1781
1660
|
*/
|
|
1782
1661
|
|
|
1783
|
-
export { API_BASE_URL, AdminControlsComponent, AdminDataService, BoneEditorBaseComponent, BoneEditorContainerComponent,
|
|
1662
|
+
export { API_BASE_URL, AdminControlsComponent, AdminDataService, BoneEditorBaseComponent, BoneEditorContainerComponent, DataService, DeviceType, DeviceVisibility, EditableDirective, EditableGroupComponent, FileFormComponent, FileUploaderComponent, FormBaseComponent, FormControlsComponent, LinkPopupComponent, LottieFormComponent, MediaUploaderComponent, OneImageFormComponent, SeoFormComponent, SkeletonEditorAnchorDirective, SkeletonEditorComponent, SvgFormComponent, TextEditorField, TextFormComponent, TextInputStyle, TextSettingType, TranslationFormComponent, TranslationInputComponent, TranslationTextareaComponent, UnknownBoneEditorComponent, UnknownFormComponent, createPreset, hasFlag, isLocalUrlString, regExpIsMobile, setOrRemoveFlag };
|
|
1784
1663
|
//# sourceMappingURL=candy-kingdom-bonnie-cms.mjs.map
|