novo-elements 13.1.0-next.5 → 13.1.0-next.7
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/addons/ckeditor/index.d.ts +3 -1
- package/elements/aside/aside.component.scss +17 -2
- package/elements/aside/index.d.ts +16 -8
- package/elements/chips/index.d.ts +3 -1
- package/elements/data-table/index.d.ts +2 -1
- package/elements/form/index.d.ts +1 -1
- package/elements/places/index.d.ts +4 -9
- package/elements/query-builder/index.d.ts +2 -1
- package/elements/tabbed-group-picker/TabbedGroupPicker.scss +9 -0
- package/elements/tabbed-group-picker/index.d.ts +27 -14
- package/elements/tip-well/TipWell.scss +0 -1
- package/fesm2022/novo-elements-addons-ckeditor.mjs +22 -12
- package/fesm2022/novo-elements-addons-ckeditor.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-aside.mjs +24 -9
- package/fesm2022/novo-elements-elements-aside.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-chips.mjs +6 -2
- package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-data-table.mjs +2 -2
- package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-form.mjs +5 -3
- package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-places.mjs +5 -114
- package/fesm2022/novo-elements-elements-places.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-query-builder.mjs +6 -4
- package/fesm2022/novo-elements-elements-query-builder.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs +70 -10
- package/fesm2022/novo-elements-elements-tabbed-group-picker.mjs.map +1 -1
- package/fesm2022/novo-elements-elements-tip-well.mjs +2 -2
- package/fesm2022/novo-elements-elements-tip-well.mjs.map +1 -1
- package/fesm2022/novo-elements-services.mjs +1 -0
- package/fesm2022/novo-elements-services.mjs.map +1 -1
- package/novo-elements.scss +0 -1
- package/package.json +1 -1
- package/services/index.d.ts +1 -0
|
@@ -15,6 +15,8 @@ declare class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlVa
|
|
|
15
15
|
debounce: any;
|
|
16
16
|
name: any;
|
|
17
17
|
minimal: any;
|
|
18
|
+
customConfig: any;
|
|
19
|
+
customFonts: string;
|
|
18
20
|
startupFocus: boolean;
|
|
19
21
|
fileBrowserImageUploadUrl: string;
|
|
20
22
|
disabled: boolean;
|
|
@@ -47,7 +49,7 @@ declare class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlVa
|
|
|
47
49
|
setDisabledState(disabled: boolean): void;
|
|
48
50
|
insertText(text: any): void;
|
|
49
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoCKEditorElement, never>;
|
|
50
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoCKEditorElement, "novo-editor", never, { "config": { "alias": "config"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "name": { "alias": "name"; "required": false; }; "minimal": { "alias": "minimal"; "required": false; }; "startupFocus": { "alias": "startupFocus"; "required": false; }; "fileBrowserImageUploadUrl": { "alias": "fileBrowserImageUploadUrl"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; "ready": "ready"; "blur": "blur"; "focus": "focus"; "paste": "paste"; "loaded": "loaded"; }, never, never, false, never>;
|
|
52
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoCKEditorElement, "novo-editor", never, { "config": { "alias": "config"; "required": false; }; "debounce": { "alias": "debounce"; "required": false; }; "name": { "alias": "name"; "required": false; }; "minimal": { "alias": "minimal"; "required": false; }; "customConfig": { "alias": "customConfig"; "required": false; }; "customFonts": { "alias": "customFonts"; "required": false; }; "startupFocus": { "alias": "startupFocus"; "required": false; }; "fileBrowserImageUploadUrl": { "alias": "fileBrowserImageUploadUrl"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; }, { "change": "change"; "ready": "ready"; "blur": "blur"; "focus": "focus"; "paste": "paste"; "loaded": "loaded"; }, never, never, false, never>;
|
|
51
53
|
}
|
|
52
54
|
|
|
53
55
|
declare class NovoNovoCKEditorModule {
|
|
@@ -3,16 +3,31 @@
|
|
|
3
3
|
:host {
|
|
4
4
|
.aside-panel {
|
|
5
5
|
background-color: var(--background-bright, $color-white);
|
|
6
|
+
box-shadow: -3px 3px 15px 4px rgba(61, 70, 77, 0.2);
|
|
6
7
|
height: 100vh;
|
|
7
8
|
width: 50%;
|
|
8
9
|
min-width: min-content;
|
|
9
|
-
max-width:
|
|
10
|
+
max-width: 560px;
|
|
10
11
|
position: absolute;
|
|
11
12
|
top: 0;
|
|
12
|
-
right:
|
|
13
|
+
right: 0;
|
|
13
14
|
padding: 0;
|
|
14
15
|
display: flex;
|
|
15
16
|
justify-content: stretch;
|
|
16
17
|
align-items: stretch;
|
|
18
|
+
|
|
19
|
+
&.draggable {
|
|
20
|
+
position: absolute;
|
|
21
|
+
max-width: none;
|
|
22
|
+
height: auto;
|
|
23
|
+
width: 540px;
|
|
24
|
+
left: calc(100vw - 560px);
|
|
25
|
+
overflow: hidden;
|
|
26
|
+
resize: both;
|
|
27
|
+
.drag-handle {
|
|
28
|
+
width: 100%;
|
|
29
|
+
height: calc(100% - 1rem);
|
|
30
|
+
}
|
|
31
|
+
}
|
|
17
32
|
}
|
|
18
33
|
}
|
|
@@ -1,18 +1,23 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Injector } from '@angular/core';
|
|
3
|
+
import * as i5 from '@angular/cdk/overlay';
|
|
2
4
|
import { OverlayRef, Overlay } from '@angular/cdk/overlay';
|
|
3
5
|
import { Observable } from 'rxjs';
|
|
4
6
|
import * as _angular_animations from '@angular/animations';
|
|
5
7
|
import { AnimationEvent } from '@angular/animations';
|
|
6
|
-
import * as
|
|
8
|
+
import * as i6 from '@angular/cdk/portal';
|
|
7
9
|
import { Portal } from '@angular/cdk/portal';
|
|
8
|
-
import * as
|
|
9
|
-
import
|
|
10
|
+
import * as i2 from '@angular/common';
|
|
11
|
+
import * as i3 from '@angular/cdk/drag-drop';
|
|
12
|
+
import * as i4 from 'novo-elements/elements/common';
|
|
10
13
|
|
|
11
14
|
declare class AsideComponent {
|
|
12
15
|
private injector;
|
|
13
|
-
|
|
16
|
+
asideRef: NovoAsideRef;
|
|
14
17
|
animationStateChanged: EventEmitter<AnimationEvent>;
|
|
15
18
|
animationState: 'void' | 'enter' | 'leave';
|
|
19
|
+
draggable: i0.WritableSignal<boolean>;
|
|
20
|
+
disableDrag: i0.WritableSignal<boolean>;
|
|
16
21
|
component: Portal<any>;
|
|
17
22
|
constructor(injector: Injector, asideRef: NovoAsideRef);
|
|
18
23
|
onAnimationStart(event: AnimationEvent): void;
|
|
@@ -25,12 +30,15 @@ declare class AsideComponent {
|
|
|
25
30
|
declare class NovoAsideRef<T = any, R = any> {
|
|
26
31
|
component: any;
|
|
27
32
|
params: T;
|
|
28
|
-
|
|
33
|
+
overlayRef: OverlayRef;
|
|
29
34
|
constructor(component: any, params: T, overlayRef: OverlayRef);
|
|
30
35
|
private _beforeClose;
|
|
31
36
|
private _afterClosed;
|
|
32
37
|
isClosed: boolean;
|
|
33
38
|
componentInstance: AsideComponent;
|
|
39
|
+
draggable: i0.WritableSignal<boolean>;
|
|
40
|
+
disableDrag: i0.WritableSignal<boolean>;
|
|
41
|
+
onDragStart: EventEmitter<void>;
|
|
34
42
|
get onClosed(): Promise<R>;
|
|
35
43
|
afterClosed(): Observable<R>;
|
|
36
44
|
beforeClose(): Observable<R>;
|
|
@@ -41,7 +49,7 @@ declare const slideInOut: _angular_animations.AnimationTriggerMetadata;
|
|
|
41
49
|
|
|
42
50
|
declare class NovoAsideModule {
|
|
43
51
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoAsideModule, never>;
|
|
44
|
-
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoAsideModule, [typeof AsideComponent], [typeof i2.
|
|
52
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<NovoAsideModule, [typeof AsideComponent], [typeof i2.CommonModule, typeof i3.DragDropModule, typeof i4.NovoCommonModule, typeof i5.OverlayModule, typeof i6.PortalModule], never>;
|
|
45
53
|
static ɵinj: i0.ɵɵInjectorDeclaration<NovoAsideModule>;
|
|
46
54
|
}
|
|
47
55
|
|
|
@@ -49,7 +57,7 @@ declare class NovoAsideService {
|
|
|
49
57
|
private injector;
|
|
50
58
|
private overlay;
|
|
51
59
|
constructor(injector: Injector, overlay: Overlay);
|
|
52
|
-
open<R = any>(component: any, params?: {}, config?: {}): NovoAsideRef<{}, R>;
|
|
60
|
+
open<R = any>(component: any, params?: {}, config?: {}, draggable?: boolean): NovoAsideRef<{}, R>;
|
|
53
61
|
private createOverlay;
|
|
54
62
|
private attachAsideContainer;
|
|
55
63
|
private createInjector;
|
|
@@ -515,6 +515,8 @@ declare class NovoChipInput implements NovoChipTextControl, OnChanges, OnDestroy
|
|
|
515
515
|
chipEnd: EventEmitter<NovoChipInputEvent>;
|
|
516
516
|
/** The input's placeholder text. */
|
|
517
517
|
placeholder: string;
|
|
518
|
+
/** Setting to false prevents input from being cleared when focus is lost. */
|
|
519
|
+
clearOnBlur: boolean;
|
|
518
520
|
/** Unique id for the input. */
|
|
519
521
|
id: string;
|
|
520
522
|
/** Whether the input is disabled. */
|
|
@@ -548,7 +550,7 @@ declare class NovoChipInput implements NovoChipTextControl, OnChanges, OnDestroy
|
|
|
548
550
|
static readonly ngAcceptInputType_addOnBlur: BooleanInput;
|
|
549
551
|
static readonly ngAcceptInputType_disabled: BooleanInput;
|
|
550
552
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoChipInput, [null, null, { optional: true; }, null, { optional: true; self: true; }]>;
|
|
551
|
-
static ɵdir: i0.ɵɵDirectiveDeclaration<NovoChipInput, "input[novoChipInput]", ["novoChipInput", "novoChipInputFor"], { "addOnBlur": { "alias": "novoChipInputAddOnBlur"; "required": false; }; "separatorKeyCodes": { "alias": "novoChipInputSeparatorKeyCodes"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "chipEnd": "novoChipInputTokenEnd"; }, never, never, false, never>;
|
|
553
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<NovoChipInput, "input[novoChipInput]", ["novoChipInput", "novoChipInputFor"], { "addOnBlur": { "alias": "novoChipInputAddOnBlur"; "required": false; }; "separatorKeyCodes": { "alias": "novoChipInputSeparatorKeyCodes"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "clearOnBlur": { "alias": "clearOnBlur"; "required": false; }; "id": { "alias": "id"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; }, { "chipEnd": "novoChipInputTokenEnd"; }, never, never, false, never>;
|
|
552
554
|
}
|
|
553
555
|
|
|
554
556
|
declare class NovoChipsElement implements OnInit, ControlValueAccessor {
|
|
@@ -47,6 +47,7 @@ interface IDataTablePreferences {
|
|
|
47
47
|
hasUnsavedChanges?: boolean;
|
|
48
48
|
unsavedChanges?: any;
|
|
49
49
|
useBooleanKeywords?: boolean;
|
|
50
|
+
cardView?: boolean;
|
|
50
51
|
}
|
|
51
52
|
interface AutobuildEntityData {
|
|
52
53
|
id: number;
|
|
@@ -662,7 +663,7 @@ type ListInteractionDictionary = {
|
|
|
662
663
|
[key: string]: ListInteraction[];
|
|
663
664
|
};
|
|
664
665
|
|
|
665
|
-
type DataTablePreferenceUpdateSrc = 'columndrag' | 'input' | 'statesortchange' | 'pagination';
|
|
666
|
+
type DataTablePreferenceUpdateSrc = 'columndrag' | 'input' | 'statesortchange' | 'pagination' | 'other';
|
|
666
667
|
interface IDataTablePreferencesChangeEvent extends IDataTablePreferences {
|
|
667
668
|
eventSrc: DataTablePreferenceUpdateSrc;
|
|
668
669
|
}
|
package/elements/form/index.d.ts
CHANGED
|
@@ -946,7 +946,7 @@ declare class NovoFieldsetHeaderElement {
|
|
|
946
946
|
title: string;
|
|
947
947
|
icon: string;
|
|
948
948
|
static ɵfac: i0.ɵɵFactoryDeclaration<NovoFieldsetHeaderElement, never>;
|
|
949
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetHeaderElement, "novo-fieldset-header", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never,
|
|
949
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<NovoFieldsetHeaderElement, "novo-fieldset-header", never, { "title": { "alias": "title"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; }, {}, never, ["*"], false, never>;
|
|
950
950
|
}
|
|
951
951
|
declare class NovoFieldsetElement {
|
|
952
952
|
controls: Array<any>;
|
|
@@ -20,10 +20,7 @@ declare class GooglePlacesService {
|
|
|
20
20
|
loadGoogleMaps(settings: PlacesSettings): Promise<void>;
|
|
21
21
|
private injectGoogleMapsScript;
|
|
22
22
|
getPredictions(url: string, query: string, sessionToken?: string): Promise<any>;
|
|
23
|
-
getLatLngDetail(url: string, lat: number, lng: number): Promise<any>;
|
|
24
23
|
getPlaceDetails(url: string, placeId: string, sessionToken?: string): Promise<any>;
|
|
25
|
-
getGeoCurrentLocation(): Promise<any>;
|
|
26
|
-
getGeoLatLngDetail(latlng: any): Promise<any>;
|
|
27
24
|
getGeoPrediction(params: any): Promise<any>;
|
|
28
25
|
getGeoPlaceDetail(placeId: string): Promise<any>;
|
|
29
26
|
getGeoPaceDetailByReferance(referance: string): Promise<any>;
|
|
@@ -63,6 +60,8 @@ interface PlacesSettings {
|
|
|
63
60
|
googleApiKey?: string;
|
|
64
61
|
/** Extra Maps JS loader query params, merged over the defaults (libraries=places, loading=async). */
|
|
65
62
|
googleMapsLoaderParams?: Record<string, string>;
|
|
63
|
+
/** When false/undefined, the address-block inline autocomplete overlay is suppressed even when this config is present. */
|
|
64
|
+
addressBlockEnabled?: boolean;
|
|
66
65
|
}
|
|
67
66
|
/** Normalized address prediction; raw provider records are mapped into this via normalizePrediction. */
|
|
68
67
|
interface AddressLookupPrediction {
|
|
@@ -75,7 +74,6 @@ interface AddressLookupPrediction {
|
|
|
75
74
|
raw?: any;
|
|
76
75
|
}
|
|
77
76
|
declare class PlacesListComponent extends BasePickerResults implements OnInit, OnChanges, ControlValueAccessor {
|
|
78
|
-
private platformId;
|
|
79
77
|
private _elmRef;
|
|
80
78
|
private _global;
|
|
81
79
|
private _googlePlacesService;
|
|
@@ -87,7 +85,6 @@ declare class PlacesListComponent extends BasePickerResults implements OnInit, O
|
|
|
87
85
|
select: EventEmitter<any>;
|
|
88
86
|
matchesUpdated: EventEmitter<AddressLookupPrediction[]>;
|
|
89
87
|
locationInput: string;
|
|
90
|
-
gettingCurrentLocationFlag: boolean;
|
|
91
88
|
dropdownOpen: boolean;
|
|
92
89
|
recentDropdownOpen: boolean;
|
|
93
90
|
isSettingsError: boolean;
|
|
@@ -103,7 +100,7 @@ declare class PlacesListComponent extends BasePickerResults implements OnInit, O
|
|
|
103
100
|
model: any;
|
|
104
101
|
onModelChange: Function;
|
|
105
102
|
onModelTouched: Function;
|
|
106
|
-
constructor(
|
|
103
|
+
constructor(_elmRef: ElementRef, _global: GlobalRef, _googlePlacesService: GooglePlacesService, cdr: ChangeDetectorRef, addressConfig?: PlacesSettings);
|
|
107
104
|
ngOnInit(): any;
|
|
108
105
|
ngOnChanges(): any;
|
|
109
106
|
writeValue(model: any): void;
|
|
@@ -116,7 +113,6 @@ declare class PlacesListComponent extends BasePickerResults implements OnInit, O
|
|
|
116
113
|
selectMatch(match: AddressLookupPrediction): any;
|
|
117
114
|
closeAutocomplete(event: any): any;
|
|
118
115
|
userQuerySubmit(selectedOption?: any): any;
|
|
119
|
-
currentLocationSelected(): any;
|
|
120
116
|
normalizePrediction(raw: any): AddressLookupPrediction;
|
|
121
117
|
onKeyDown(event: KeyboardEvent): void;
|
|
122
118
|
search(term: any, mode?: any): Observable<any>;
|
|
@@ -130,11 +126,10 @@ declare class PlacesListComponent extends BasePickerResults implements OnInit, O
|
|
|
130
126
|
private extractServerList;
|
|
131
127
|
private updateListItem;
|
|
132
128
|
private showRecentSearch;
|
|
133
|
-
private getCurrentLocationInfo;
|
|
134
129
|
private getPlaceLocationInfo;
|
|
135
130
|
private setRecentLocation;
|
|
136
131
|
private getRecentLocations;
|
|
137
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<PlacesListComponent, [null, null, null, null,
|
|
132
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<PlacesListComponent, [null, null, null, null, { optional: true; }]>;
|
|
138
133
|
static ɵcmp: i0.ɵɵComponentDeclaration<PlacesListComponent, "google-places-list", never, { "userSettings": { "alias": "userSettings"; "required": false; }; }, { "termChange": "termChange"; "select": "select"; "matchesUpdated": "matchesUpdated"; }, never, never, false, never>;
|
|
139
134
|
}
|
|
140
135
|
|
|
@@ -129,6 +129,7 @@ declare enum Operator {
|
|
|
129
129
|
isEmpty = "isEmpty",
|
|
130
130
|
isNull = "isNull",
|
|
131
131
|
lessThan = "lessThan",
|
|
132
|
+
like = "like",
|
|
132
133
|
outsideRadius = "outsideRadius",
|
|
133
134
|
radius = "radius",
|
|
134
135
|
within = "within"
|
|
@@ -191,7 +192,7 @@ interface AddressData {
|
|
|
191
192
|
formattedAddress?: string;
|
|
192
193
|
location?: AddressGeoPoint;
|
|
193
194
|
viewport?: AddressDetailViewport;
|
|
194
|
-
|
|
195
|
+
placeId?: string;
|
|
195
196
|
postalCodes?: string[];
|
|
196
197
|
radius?: AddressRadius;
|
|
197
198
|
postal_codes?: string[];
|
|
@@ -30,6 +30,9 @@
|
|
|
30
30
|
box-sizing: content-box;
|
|
31
31
|
transition: all 300ms;
|
|
32
32
|
color: $dark;
|
|
33
|
+
&.chip-list-input {
|
|
34
|
+
flex: 1 0 20px;
|
|
35
|
+
}
|
|
33
36
|
&::placeholder {
|
|
34
37
|
color: var(--form-placeholder);
|
|
35
38
|
}
|
|
@@ -46,6 +49,12 @@
|
|
|
46
49
|
i.bhi-times {
|
|
47
50
|
cursor: pointer;
|
|
48
51
|
}
|
|
52
|
+
.hidden-chips-toggle {
|
|
53
|
+
cursor: pointer;
|
|
54
|
+
}
|
|
55
|
+
&.use-chips {
|
|
56
|
+
max-width: 500px;
|
|
57
|
+
}
|
|
49
58
|
}
|
|
50
59
|
|
|
51
60
|
.footer {
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import * as
|
|
1
|
+
import * as _angular_core from '@angular/core';
|
|
2
2
|
import { OnDestroy, OnInit, EventEmitter, ChangeDetectorRef } from '@angular/core';
|
|
3
3
|
import { BehaviorSubject, Subscription } from 'rxjs';
|
|
4
4
|
import { NovoLabelService } from 'novo-elements/services';
|
|
5
|
-
import * as
|
|
5
|
+
import * as i12 from 'novo-elements/elements/dropdown';
|
|
6
6
|
import { NovoDropdownElement } from 'novo-elements/elements/dropdown';
|
|
7
7
|
import * as i2 from '@angular/common';
|
|
8
8
|
import * as i3 from '@angular/forms';
|
|
9
9
|
import * as i4 from '@angular/cdk/scrolling';
|
|
10
|
-
import * as i5 from 'novo-elements/elements/
|
|
11
|
-
import * as i6 from 'novo-elements/elements/
|
|
12
|
-
import * as i7 from 'novo-elements/elements/
|
|
13
|
-
import * as i8 from 'novo-elements/elements/
|
|
14
|
-
import * as
|
|
15
|
-
import * as
|
|
10
|
+
import * as i5 from 'novo-elements/elements/chips';
|
|
11
|
+
import * as i6 from 'novo-elements/elements/common';
|
|
12
|
+
import * as i7 from 'novo-elements/elements/icon';
|
|
13
|
+
import * as i8 from 'novo-elements/elements/tabs';
|
|
14
|
+
import * as i9 from 'novo-elements/elements/list';
|
|
15
|
+
import * as i10 from 'novo-elements/elements/form';
|
|
16
|
+
import * as i11 from 'novo-elements/elements/button';
|
|
17
|
+
import * as i13 from 'novo-elements/elements/checkbox';
|
|
16
18
|
|
|
17
19
|
type TabbedGroupPickerTab = {
|
|
18
20
|
typeName: string;
|
|
@@ -20,7 +22,7 @@ type TabbedGroupPickerTab = {
|
|
|
20
22
|
valueField: string;
|
|
21
23
|
labelField: string;
|
|
22
24
|
scrollOffset?: number;
|
|
23
|
-
icon?:
|
|
25
|
+
icon?: any;
|
|
24
26
|
} & (ParentTab | ChildTab);
|
|
25
27
|
type ParentTab = {
|
|
26
28
|
childTypeName: string;
|
|
@@ -76,11 +78,15 @@ declare class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {
|
|
|
76
78
|
tabs: TabbedGroupPickerTab[];
|
|
77
79
|
quickSelectConfig: QuickSelectConfig;
|
|
78
80
|
showFooter: boolean;
|
|
81
|
+
useChips: _angular_core.InputSignal<boolean>;
|
|
82
|
+
maxChips: _angular_core.InputSignal<number>;
|
|
83
|
+
chipSize: _angular_core.InputSignal<string>;
|
|
79
84
|
selectionEnabled: boolean;
|
|
80
85
|
activation: EventEmitter<any>;
|
|
81
86
|
selectionChange: EventEmitter<TabbedGroupPickerTab[]>;
|
|
82
87
|
applyChange: EventEmitter<any>;
|
|
83
88
|
cancelChange: EventEmitter<any>;
|
|
89
|
+
tabSelect: EventEmitter<any>;
|
|
84
90
|
displayTabs: TabbedGroupPickerTab[];
|
|
85
91
|
displayTabIndex: number;
|
|
86
92
|
filterText: BehaviorSubject<string>;
|
|
@@ -90,6 +96,11 @@ declare class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {
|
|
|
90
96
|
appliedState: TabbedGroupPickerTab[];
|
|
91
97
|
scrollViewportHeight: number;
|
|
92
98
|
virtualScrollItemSize: number;
|
|
99
|
+
selectedChips: _angular_core.WritableSignal<any[]>;
|
|
100
|
+
showAllChips: _angular_core.WritableSignal<boolean>;
|
|
101
|
+
displayedChips: _angular_core.Signal<any[]>;
|
|
102
|
+
hiddenChips: _angular_core.Signal<any[]>;
|
|
103
|
+
chipsInputPlaceholder: _angular_core.Signal<string>;
|
|
93
104
|
constructor(labelService: NovoLabelService, ref: ChangeDetectorRef);
|
|
94
105
|
get displayTab(): TabbedGroupPickerTab;
|
|
95
106
|
set displayTab(tab: TabbedGroupPickerTab);
|
|
@@ -97,6 +108,7 @@ declare class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {
|
|
|
97
108
|
get maxBufferPx(): number;
|
|
98
109
|
ngOnInit(): void;
|
|
99
110
|
ngOnDestroy(): void;
|
|
111
|
+
showAllChipsToggle(event: any): void;
|
|
100
112
|
loadValues(): void;
|
|
101
113
|
changeTab(tab: TabbedGroupPickerTab): void;
|
|
102
114
|
getPixelHeight(element: HTMLElement): number;
|
|
@@ -114,6 +126,7 @@ declare class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {
|
|
|
114
126
|
onDropdownToggle(event: any): void;
|
|
115
127
|
activateItem(item: any, tab?: TabbedGroupPickerTab): void;
|
|
116
128
|
onItemToggled(item: Option): void;
|
|
129
|
+
toggleChip(item: Option): void;
|
|
117
130
|
initializeDescendantSelection(): void;
|
|
118
131
|
updateDescendants(parentIsSelected: boolean, children: Option[]): void;
|
|
119
132
|
updateClearAll(itemWasJustSelected?: boolean): void;
|
|
@@ -133,14 +146,14 @@ declare class NovoTabbedGroupPickerElement implements OnDestroy, OnInit {
|
|
|
133
146
|
};
|
|
134
147
|
}): void;
|
|
135
148
|
filter: (searchTerm: string) => void;
|
|
136
|
-
static ɵfac:
|
|
137
|
-
static ɵcmp:
|
|
149
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NovoTabbedGroupPickerElement, never>;
|
|
150
|
+
static ɵcmp: _angular_core.ɵɵComponentDeclaration<NovoTabbedGroupPickerElement, "novo-tabbed-group-picker", never, { "buttonConfig": { "alias": "buttonConfig"; "required": false; }; "tabs": { "alias": "tabs"; "required": false; }; "quickSelectConfig": { "alias": "quickSelectConfig"; "required": false; }; "showFooter": { "alias": "showFooter"; "required": false; }; "useChips": { "alias": "useChips"; "required": false; "isSignal": true; }; "maxChips": { "alias": "maxChips"; "required": false; "isSignal": true; }; "chipSize": { "alias": "chipSize"; "required": false; "isSignal": true; }; "selectionEnabled": { "alias": "selectionEnabled"; "required": false; }; }, { "activation": "activation"; "selectionChange": "selectionChange"; "applyChange": "applyChange"; "cancelChange": "cancelChange"; "tabSelect": "tabSelect"; }, never, ["*"], false, never>;
|
|
138
151
|
}
|
|
139
152
|
|
|
140
153
|
declare class NovoTabbedGroupPickerModule {
|
|
141
|
-
static ɵfac:
|
|
142
|
-
static ɵmod:
|
|
143
|
-
static ɵinj:
|
|
154
|
+
static ɵfac: _angular_core.ɵɵFactoryDeclaration<NovoTabbedGroupPickerModule, never>;
|
|
155
|
+
static ɵmod: _angular_core.ɵɵNgModuleDeclaration<NovoTabbedGroupPickerModule, [typeof NovoTabbedGroupPickerElement], [typeof i2.CommonModule, typeof i3.FormsModule, typeof i4.ScrollingModule, typeof i5.NovoChipsModule, typeof i6.NovoCommonModule, typeof i7.NovoIconModule, typeof i8.NovoTabModule, typeof i9.NovoListModule, typeof i10.NovoFormExtrasModule, typeof i11.NovoButtonModule, typeof i12.NovoDropdownModule, typeof i6.NovoOptionModule, typeof i13.NovoCheckboxModule], [typeof NovoTabbedGroupPickerElement]>;
|
|
156
|
+
static ɵinj: _angular_core.ɵɵInjectorDeclaration<NovoTabbedGroupPickerModule>;
|
|
144
157
|
}
|
|
145
158
|
|
|
146
159
|
export { NovoTabbedGroupPickerElement, NovoTabbedGroupPickerModule };
|
|
@@ -26,6 +26,8 @@ catch (err) {
|
|
|
26
26
|
class NovoCKEditorElement {
|
|
27
27
|
constructor(zone) {
|
|
28
28
|
this.zone = zone;
|
|
29
|
+
this.customConfig = null;
|
|
30
|
+
this.customFonts = '';
|
|
29
31
|
this.startupFocus = false;
|
|
30
32
|
this.fileBrowserImageUploadUrl = '';
|
|
31
33
|
this.disabled = false;
|
|
@@ -133,16 +135,17 @@ class NovoCKEditorElement {
|
|
|
133
135
|
disableNativeSpellChecker: false,
|
|
134
136
|
removePlugins: 'liststyle,tabletools,contextmenu,tableselection', // allows browser based spell checking
|
|
135
137
|
extraAllowedContent: '*(*){*};table tbody tr td th[*];', // allows class names (*) and inline styles {*} for all and attributes [*] on tables
|
|
136
|
-
font_names:
|
|
137
|
-
'
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
138
|
+
font_names: this.customFonts ? this.customFonts :
|
|
139
|
+
'Arial/Arial, Helvetica, sans-serif;' +
|
|
140
|
+
'Calibri/Calibri, Verdana, Geneva, sans-serif;' +
|
|
141
|
+
'Comic Sans MS/Comic Sans MS, cursive;' +
|
|
142
|
+
'Courier New/Courier New, Courier, monospace;' +
|
|
143
|
+
'Georgia/Georgia, serif;' +
|
|
144
|
+
'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +
|
|
145
|
+
'Tahoma/Tahoma, Geneva, sans-serif;' +
|
|
146
|
+
'Times New Roman/Times New Roman, Times, serif;' +
|
|
147
|
+
'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +
|
|
148
|
+
'Verdana/Verdana, Geneva, sans-serif',
|
|
146
149
|
};
|
|
147
150
|
const minimalConfig = {
|
|
148
151
|
toolbar: [
|
|
@@ -194,7 +197,10 @@ class NovoCKEditorElement {
|
|
|
194
197
|
],
|
|
195
198
|
filebrowserImageUploadUrl: this.fileBrowserImageUploadUrl,
|
|
196
199
|
};
|
|
197
|
-
|
|
200
|
+
const config = this.customConfig
|
|
201
|
+
? this.customConfig
|
|
202
|
+
: this.minimal ? minimalConfig : extendedConfig;
|
|
203
|
+
return Object.assign(baseConfig, config);
|
|
198
204
|
}
|
|
199
205
|
writeValue(value) {
|
|
200
206
|
this._value = value;
|
|
@@ -221,7 +227,7 @@ class NovoCKEditorElement {
|
|
|
221
227
|
this.instance.insertText(trimmedText);
|
|
222
228
|
}
|
|
223
229
|
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoCKEditorElement, deps: [{ token: i0.NgZone }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
224
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoCKEditorElement, isStandalone: false, selector: "novo-editor", inputs: { config: "config", debounce: "debounce", name: "name", minimal: "minimal", startupFocus: "startupFocus", fileBrowserImageUploadUrl: "fileBrowserImageUploadUrl", disabled: "disabled", value: "value" }, outputs: { change: "change", ready: "ready", blur: "blur", focus: "focus", paste: "paste", loaded: "loaded" }, providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], ngImport: i0, template: '<textarea [name]="name" [id]="name" #host></textarea>', isInline: true, styles: [":host ::ng-deep .cke{font:inherit!important;box-shadow:none;border-color:var(--background-muted)}:host ::ng-deep .cke .cke_top,:host ::ng-deep .cke .cke_bottom{background:var(--background-muted) none;box-shadow:none}:host ::ng-deep .cke .cke_bottom{border-top:none}.cke_dialog_background_cover{background-color:#000!important}.cke_dialog .cke_dialog_title{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-bottom:none}.cke_dialog .cke_dialog_footer{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-top:none}:host-context(.theme-dark) ::ng-deep .cke_button{filter:invert(1)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:hover,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:active,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:focus,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button.cke_combo_on{background:var(--background-main);border:1px solid var(--border)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_text{color:#fff}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_arrow{border-top-color:#fff}\n"] }); }
|
|
230
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "20.3.19", type: NovoCKEditorElement, isStandalone: false, selector: "novo-editor", inputs: { config: "config", debounce: "debounce", name: "name", minimal: "minimal", customConfig: "customConfig", customFonts: "customFonts", startupFocus: "startupFocus", fileBrowserImageUploadUrl: "fileBrowserImageUploadUrl", disabled: "disabled", value: "value" }, outputs: { change: "change", ready: "ready", blur: "blur", focus: "focus", paste: "paste", loaded: "loaded" }, providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR], viewQueries: [{ propertyName: "host", first: true, predicate: ["host"], descendants: true }], ngImport: i0, template: '<textarea [name]="name" [id]="name" #host></textarea>', isInline: true, styles: [":host ::ng-deep .cke{font:inherit!important;box-shadow:none;border-color:var(--background-muted)}:host ::ng-deep .cke .cke_top,:host ::ng-deep .cke .cke_bottom{background:var(--background-muted) none;box-shadow:none}:host ::ng-deep .cke .cke_bottom{border-top:none}.cke_dialog_background_cover{background-color:#000!important}.cke_dialog .cke_dialog_title{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-bottom:none}.cke_dialog .cke_dialog_footer{text-shadow:none;background:var(--background-muted) none;box-shadow:none;border-top:none}:host-context(.theme-dark) ::ng-deep .cke_button{filter:invert(1)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:hover,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:active,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button:focus,:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button.cke_combo_on{background:var(--background-main);border:1px solid var(--border)}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_text{color:#fff}:host-context(.theme-dark) ::ng-deep .cke_combo a.cke_combo_button .cke_combo_arrow{border-top-color:#fff}\n"] }); }
|
|
225
231
|
}
|
|
226
232
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImport: i0, type: NovoCKEditorElement, decorators: [{
|
|
227
233
|
type: Component,
|
|
@@ -234,6 +240,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.3.19", ngImpo
|
|
|
234
240
|
type: Input
|
|
235
241
|
}], minimal: [{
|
|
236
242
|
type: Input
|
|
243
|
+
}], customConfig: [{
|
|
244
|
+
type: Input
|
|
245
|
+
}], customFonts: [{
|
|
246
|
+
type: Input
|
|
237
247
|
}], startupFocus: [{
|
|
238
248
|
type: Input
|
|
239
249
|
}], fileBrowserImageUploadUrl: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"novo-elements-addons-ckeditor.mjs","sources":["../../../projects/novo-elements/src/addons/ckeditor/CKEditor.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.module.ts","../../../projects/novo-elements/src/addons/ckeditor/novo-elements-addons-ckeditor.ts"],"sourcesContent":["// NG2\nimport { AfterViewInit, Component, EventEmitter, forwardRef, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fixCkEditorInputEvent } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst CKEDITOR_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoCKEditorElement),\n multi: true,\n};\n\ndeclare const CKEDITOR: any;\n\n// Prevents CKEDITOR from querying the page for all [contenteditable] elements (fixes a conflict against Codemirror Editor)\ntry {\n CKEDITOR.disableAutoInline = true;\n} catch (err) {\n // may be running in a context without CKEDITOR - ignore\n}\n\n/**\n * CKEditor component\n * Usage :\n * <novo-editor [(ngModel)]=\"data\" [config]=\"{...}\" debounce=\"500\"></novo-editor>\n */\n@Component({\n selector: 'novo-editor',\n providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR],\n template: '<textarea [name]=\"name\" [id]=\"name\" #host></textarea>',\n styleUrls: ['./CKEditor.scss'],\n standalone: false,\n})\nexport class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlValueAccessor {\n @Input()\n config;\n @Input()\n debounce;\n @Input()\n name;\n @Input()\n minimal;\n @Input()\n startupFocus: boolean = false;\n @Input()\n fileBrowserImageUploadUrl: string = '';\n @Input()\n disabled: boolean = false;\n\n @Output()\n change = new EventEmitter();\n @Output()\n ready = new EventEmitter();\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n @Output()\n paste = new EventEmitter();\n @Output()\n loaded = new EventEmitter();\n @ViewChild('host')\n host;\n\n _value: string = '';\n instance;\n debounceTimeout;\n private _ckEditorFixRemoveListener?: () => void;\n\n constructor(private zone: NgZone) {}\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(v) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n }\n }\n\n ngOnDestroy() {\n if (this.instance) {\n this.instance.focusManager.blur(true); // Remove focus from editor\n this._ckEditorFixRemoveListener?.();\n setTimeout(() => {\n this.instance.removeAllListeners();\n const aInstance = CKEDITOR.instances[this.instance.name];\n if (aInstance) {\n aInstance.destroy();\n }\n this.instance.destroy();\n this.instance = null;\n });\n }\n }\n\n ngAfterViewInit() {\n const config = Object.assign(this.getBaseConfig(), this.config);\n if (this.startupFocus) {\n config.startupFocus = true;\n }\n if (this.disabled) {\n config.readOnly = true;\n }\n this.ckeditorInit(config);\n }\n\n updateValue(value) {\n this.zone.run(() => {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n this.change.emit(value);\n });\n }\n\n private ckeditorInit(config) {\n if (!CKEDITOR) {\n console.error('Make sure to include CKEditor sources in your dependencies!');\n return;\n }\n\n // CKEditor replace textarea\n this.instance = CKEDITOR.replace(this.host.nativeElement, config);\n this._ckEditorFixRemoveListener = fixCkEditorInputEvent(this.instance);\n\n // Set initial value\n this.instance.setData(this.value);\n\n // listen for instanceReady event\n this.instance.on('instanceReady', (evt) => {\n // send the evt to the EventEmitter\n this.ready.emit(evt);\n });\n\n // CKEditor change event\n this.instance.on('change', () => {\n this.onTouched();\n const value = this.instance.getData();\n\n // Debounce update\n if (this.debounce) {\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n this.debounceTimeout = setTimeout(() => {\n this.updateValue(value);\n this.debounceTimeout = null;\n }, parseInt(this.debounce, 10));\n } else {\n this.updateValue(value);\n }\n });\n this.instance.on('blur', (event) => {\n this.blur.emit(event);\n });\n this.instance.on('focus', (event) => {\n this.focus.emit(event);\n });\n this.instance.on('paste', (event) => {\n this.paste.emit(event);\n });\n this.instance.on('loaded', (event) => {\n this.loaded.emit(event);\n });\n }\n\n getBaseConfig(): { [key: string]: any } {\n const baseConfig = {\n enterMode: CKEDITOR.ENTER_BR,\n entities: false,\n shiftEnterMode: CKEDITOR.ENTER_P,\n disableNativeSpellChecker: false,\n removePlugins: 'liststyle,tabletools,contextmenu,tableselection', // allows browser based spell checking\n extraAllowedContent: '*(*){*};table tbody tr td th[*];', // allows class names (*) and inline styles {*} for all and attributes [*] on tables\n font_names:\n 'Arial/Arial, Helvetica, sans-serif;' +\n 'Calibri/Calibri, Verdana, Geneva, sans-serif;' +\n 'Comic Sans MS/Comic Sans MS, cursive;' +\n 'Courier New/Courier New, Courier, monospace;' +\n 'Georgia/Georgia, serif;' +\n 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +\n 'Tahoma/Tahoma, Geneva, sans-serif;' +\n 'Times New Roman/Times New Roman, Times, serif;' +\n 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +\n 'Verdana/Verdana, Geneva, sans-serif',\n };\n\n const minimalConfig = {\n toolbar: [\n {\n name: 'basicstyles',\n items: [\n 'Styles',\n 'FontSize',\n 'Bold',\n 'Italic',\n 'Underline',\n 'TextColor',\n '-',\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Link',\n ],\n },\n ],\n };\n\n const extendedConfig = {\n toolbar: [\n { name: 'clipboard', items: ['Paste', 'PasteText', 'PasteFromWord', 'Undo', 'Redo'] },\n {\n name: 'paragraph',\n items: [\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Blockquote',\n 'JustifyLeft',\n 'JustifyCenter',\n 'JustifyRight',\n 'JustifyBlock',\n 'BidiLtr',\n 'BidiRtl',\n ],\n },\n { name: 'links', items: ['Link'] },\n { name: 'insert', items: ['Image', 'Table', 'HorizontalRule'] },\n { name: 'tools', items: ['Maximize', 'Source'] },\n '/', // line break\n { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript'] },\n { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n { name: 'colors', items: ['TextColor', 'BGColor'] },\n ],\n filebrowserImageUploadUrl: this.fileBrowserImageUploadUrl,\n };\n\n return Object.assign(baseConfig, this.minimal ? minimalConfig : extendedConfig);\n }\n\n writeValue(value) {\n this._value = value;\n if (this.instance) {\n this.instance.setData(value);\n }\n }\n\n onChange(value?: any) {}\n\n onTouched(event?) {}\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n if (this.instance) {\n CKEDITOR.instances[this.instance.name].setReadOnly(disabled);\n }\n }\n\n insertText(text) {\n const trimmedText = text.trim();\n this.instance.insertText(trimmedText);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoCKEditorElement } from './CKEditor';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [NovoCKEditorElement],\n exports: [NovoCKEditorElement],\n})\nexport class NovoNovoCKEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"novo-elements-addons-ckeditor.mjs","sources":["../../../projects/novo-elements/src/addons/ckeditor/CKEditor.ts","../../../projects/novo-elements/src/addons/ckeditor/CKEditor.module.ts","../../../projects/novo-elements/src/addons/ckeditor/novo-elements-addons-ckeditor.ts"],"sourcesContent":["// NG2\nimport { AfterViewInit, Component, EventEmitter, forwardRef, Input, NgZone, OnDestroy, Output, ViewChild } from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { fixCkEditorInputEvent } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst CKEDITOR_CONTROL_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoCKEditorElement),\n multi: true,\n};\n\ndeclare const CKEDITOR: any;\n\n// Prevents CKEDITOR from querying the page for all [contenteditable] elements (fixes a conflict against Codemirror Editor)\ntry {\n CKEDITOR.disableAutoInline = true;\n} catch (err) {\n // may be running in a context without CKEDITOR - ignore\n}\n\n/**\n * CKEditor component\n * Usage :\n * <novo-editor [(ngModel)]=\"data\" [config]=\"{...}\" debounce=\"500\"></novo-editor>\n */\n@Component({\n selector: 'novo-editor',\n providers: [CKEDITOR_CONTROL_VALUE_ACCESSOR],\n template: '<textarea [name]=\"name\" [id]=\"name\" #host></textarea>',\n styleUrls: ['./CKEditor.scss'],\n standalone: false,\n})\nexport class NovoCKEditorElement implements OnDestroy, AfterViewInit, ControlValueAccessor {\n @Input()\n config;\n @Input()\n debounce;\n @Input()\n name;\n @Input()\n minimal;\n @Input() customConfig: any = null;\n @Input() customFonts: string = '';\n @Input()\n startupFocus: boolean = false;\n @Input()\n fileBrowserImageUploadUrl: string = '';\n @Input()\n disabled: boolean = false;\n\n @Output()\n change = new EventEmitter();\n @Output()\n ready = new EventEmitter();\n @Output()\n blur = new EventEmitter();\n @Output()\n focus = new EventEmitter();\n @Output()\n paste = new EventEmitter();\n @Output()\n loaded = new EventEmitter();\n @ViewChild('host')\n host;\n\n _value: string = '';\n instance;\n debounceTimeout;\n private _ckEditorFixRemoveListener?: () => void;\n\n constructor(private zone: NgZone) {}\n\n get value() {\n return this._value;\n }\n\n @Input()\n set value(v) {\n if (v !== this._value) {\n this._value = v;\n this.onChange(v);\n }\n }\n\n ngOnDestroy() {\n if (this.instance) {\n this.instance.focusManager.blur(true); // Remove focus from editor\n this._ckEditorFixRemoveListener?.();\n setTimeout(() => {\n this.instance.removeAllListeners();\n const aInstance = CKEDITOR.instances[this.instance.name];\n if (aInstance) {\n aInstance.destroy();\n }\n this.instance.destroy();\n this.instance = null;\n });\n }\n }\n\n ngAfterViewInit() {\n const config = Object.assign(this.getBaseConfig(), this.config);\n if (this.startupFocus) {\n config.startupFocus = true;\n }\n if (this.disabled) {\n config.readOnly = true;\n }\n this.ckeditorInit(config);\n }\n\n updateValue(value) {\n this.zone.run(() => {\n this.value = value;\n this.onChange(value);\n this.onTouched();\n this.change.emit(value);\n });\n }\n\n private ckeditorInit(config) {\n if (!CKEDITOR) {\n console.error('Make sure to include CKEditor sources in your dependencies!');\n return;\n }\n\n // CKEditor replace textarea\n this.instance = CKEDITOR.replace(this.host.nativeElement, config);\n this._ckEditorFixRemoveListener = fixCkEditorInputEvent(this.instance);\n\n // Set initial value\n this.instance.setData(this.value);\n\n // listen for instanceReady event\n this.instance.on('instanceReady', (evt) => {\n // send the evt to the EventEmitter\n this.ready.emit(evt);\n });\n\n // CKEditor change event\n this.instance.on('change', () => {\n this.onTouched();\n const value = this.instance.getData();\n\n // Debounce update\n if (this.debounce) {\n if (this.debounceTimeout) {\n clearTimeout(this.debounceTimeout);\n }\n this.debounceTimeout = setTimeout(() => {\n this.updateValue(value);\n this.debounceTimeout = null;\n }, parseInt(this.debounce, 10));\n } else {\n this.updateValue(value);\n }\n });\n this.instance.on('blur', (event) => {\n this.blur.emit(event);\n });\n this.instance.on('focus', (event) => {\n this.focus.emit(event);\n });\n this.instance.on('paste', (event) => {\n this.paste.emit(event);\n });\n this.instance.on('loaded', (event) => {\n this.loaded.emit(event);\n });\n }\n\n getBaseConfig(): { [key: string]: any } {\n const baseConfig = {\n enterMode: CKEDITOR.ENTER_BR,\n entities: false,\n shiftEnterMode: CKEDITOR.ENTER_P,\n disableNativeSpellChecker: false,\n removePlugins: 'liststyle,tabletools,contextmenu,tableselection', // allows browser based spell checking\n extraAllowedContent: '*(*){*};table tbody tr td th[*];', // allows class names (*) and inline styles {*} for all and attributes [*] on tables\n font_names: this.customFonts ? this.customFonts :\n 'Arial/Arial, Helvetica, sans-serif;' +\n 'Calibri/Calibri, Verdana, Geneva, sans-serif;' +\n 'Comic Sans MS/Comic Sans MS, cursive;' +\n 'Courier New/Courier New, Courier, monospace;' +\n 'Georgia/Georgia, serif;' +\n 'Lucida Sans Unicode/Lucida Sans Unicode, Lucida Grande, sans-serif;' +\n 'Tahoma/Tahoma, Geneva, sans-serif;' +\n 'Times New Roman/Times New Roman, Times, serif;' +\n 'Trebuchet MS/Trebuchet MS, Helvetica, sans-serif;' +\n 'Verdana/Verdana, Geneva, sans-serif',\n };\n\n const minimalConfig = {\n toolbar: [\n {\n name: 'basicstyles',\n items: [\n 'Styles',\n 'FontSize',\n 'Bold',\n 'Italic',\n 'Underline',\n 'TextColor',\n '-',\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Link',\n ],\n },\n ],\n };\n\n const extendedConfig = {\n toolbar: [\n { name: 'clipboard', items: ['Paste', 'PasteText', 'PasteFromWord', 'Undo', 'Redo'] },\n {\n name: 'paragraph',\n items: [\n 'NumberedList',\n 'BulletedList',\n 'Outdent',\n 'Indent',\n 'Blockquote',\n 'JustifyLeft',\n 'JustifyCenter',\n 'JustifyRight',\n 'JustifyBlock',\n 'BidiLtr',\n 'BidiRtl',\n ],\n },\n { name: 'links', items: ['Link'] },\n { name: 'insert', items: ['Image', 'Table', 'HorizontalRule'] },\n { name: 'tools', items: ['Maximize', 'Source'] },\n '/', // line break\n { name: 'basicstyles', items: ['Bold', 'Italic', 'Underline', 'Strike', 'Subscript', 'Superscript'] },\n { name: 'styles', items: ['Styles', 'Format', 'Font', 'FontSize'] },\n { name: 'colors', items: ['TextColor', 'BGColor'] },\n ],\n filebrowserImageUploadUrl: this.fileBrowserImageUploadUrl,\n };\n\n const config = this.customConfig\n ? this.customConfig\n : this.minimal ? minimalConfig : extendedConfig;\n\n return Object.assign(baseConfig, config);\n }\n\n writeValue(value) {\n this._value = value;\n if (this.instance) {\n this.instance.setData(value);\n }\n }\n\n onChange(value?: any) {}\n\n onTouched(event?) {}\n\n registerOnChange(fn) {\n this.onChange = fn;\n }\n\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n if (this.instance) {\n CKEDITOR.instances[this.instance.name].setReadOnly(disabled);\n }\n }\n\n insertText(text) {\n const trimmedText = text.trim();\n this.instance.insertText(trimmedText);\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// APP\nimport { NovoCKEditorElement } from './CKEditor';\n\n@NgModule({\n imports: [CommonModule, FormsModule],\n declarations: [NovoCKEditorElement],\n exports: [NovoCKEditorElement],\n})\nexport class NovoNovoCKEditorModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|