@cleavelandprice/ngx-lib 3.1.30 → 3.1.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/quill-editor/cleavelandprice-ngx-lib-quill-editor.mjs +5 -0
- package/esm2020/quill-editor/components/editor/editor.component.mjs +211 -0
- package/esm2020/quill-editor/model/buttons.mjs +51 -0
- package/esm2020/quill-editor/model/config.mjs +31 -0
- package/esm2020/quill-editor/model/dialog-data.mjs +2 -0
- package/esm2020/quill-editor/model/icons.mjs +9 -0
- package/esm2020/quill-editor/model/tooltips.mjs +54 -0
- package/esm2020/quill-editor/public_api.mjs +7 -0
- package/esm2020/quill-editor/quill-editor.module.mjs +65 -0
- package/esm2020/sharepoint/components/employee-photo/employee-photo.component.mjs +23 -8
- package/esm2020/upload/components/upload-dialog/upload-dialog.component.mjs +1 -1
- package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs +425 -0
- package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs.map +1 -0
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs +21 -6
- package/fesm2015/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/fesm2015/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs +418 -0
- package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs.map +1 -0
- package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs +21 -6
- package/fesm2020/cleavelandprice-ngx-lib-sharepoint.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-upload.mjs.map +1 -1
- package/package.json +9 -1
- package/quill-editor/components/editor/editor.component.d.ts +53 -0
- package/quill-editor/index.d.ts +5 -0
- package/quill-editor/model/buttons.d.ts +28 -0
- package/quill-editor/model/config.d.ts +24 -0
- package/quill-editor/model/dialog-data.d.ts +20 -0
- package/quill-editor/model/icons.d.ts +6 -0
- package/quill-editor/model/tooltips.d.ts +31 -0
- package/quill-editor/public_api.d.ts +6 -0
- package/quill-editor/quill-editor.module.d.ts +17 -0
- package/sharepoint/components/employee-photo/employee-photo.component.d.ts +9 -4
|
@@ -1,19 +1,34 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
|
-
import * as i1 from "@
|
|
4
|
-
import * as i2 from "
|
|
3
|
+
import * as i1 from "@cleavelandprice/ngx-lib/active-directory";
|
|
4
|
+
import * as i2 from "@angular/common";
|
|
5
|
+
import * as i3 from "../../pipes/employee-photo-url.pipe";
|
|
5
6
|
export class EmployeePhotoComponent {
|
|
6
|
-
constructor() {
|
|
7
|
+
constructor(activeDirectoryService) {
|
|
8
|
+
this.activeDirectoryService = activeDirectoryService;
|
|
9
|
+
this.employee = null;
|
|
10
|
+
// Or...
|
|
11
|
+
this.accountName = null;
|
|
7
12
|
this.size = "2em";
|
|
8
13
|
this.notRound = false;
|
|
9
14
|
}
|
|
15
|
+
ngOnInit() {
|
|
16
|
+
if (this.accountName && !this.employee) {
|
|
17
|
+
// Developer passed in an account name instead of a user object
|
|
18
|
+
// We need to do the work of getting the user object ourselves
|
|
19
|
+
this.activeDirectoryService.getUser(this.accountName)
|
|
20
|
+
.subscribe(user => this.employee = user);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
10
23
|
}
|
|
11
|
-
EmployeePhotoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EmployeePhotoComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
12
|
-
EmployeePhotoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: EmployeePhotoComponent, selector: "employee-photo", inputs: { employee: "employee", employeePhotos: "employeePhotos", size: "size", notRound: "notRound" }, ngImport: i0, template: "<img *ngIf=\"(employee | employeePhotoUrl:employeePhotos | async)\"\n
|
|
24
|
+
EmployeePhotoComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EmployeePhotoComponent, deps: [{ token: i1.ActiveDirectoryService }], target: i0.ɵɵFactoryTarget.Component });
|
|
25
|
+
EmployeePhotoComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: EmployeePhotoComponent, selector: "employee-photo", inputs: { employee: "employee", accountName: "accountName", employeePhotos: "employeePhotos", size: "size", notRound: "notRound" }, ngImport: i0, template: "<ng-container *ngIf=\"employee\">\n <img *ngIf=\"(employee | employeePhotoUrl:employeePhotos | async)\"\n [src]=\"employee | employeePhotoUrl:employeePhotos | async\"\n [style.width]=\"size\"\n [style.height]=\"size\"\n [style.border-radius]=\"notRound ? 'default' : '100%'\">\n</ng-container>", styles: [""], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.AsyncPipe, name: "async" }, { kind: "pipe", type: i3.EmployeePhotoUrlPipe, name: "employeePhotoUrl" }] });
|
|
13
26
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EmployeePhotoComponent, decorators: [{
|
|
14
27
|
type: Component,
|
|
15
|
-
args: [{ selector: 'employee-photo', template: "<img *ngIf=\"(employee | employeePhotoUrl:employeePhotos | async)\"\n
|
|
16
|
-
}], propDecorators: { employee: [{
|
|
28
|
+
args: [{ selector: 'employee-photo', template: "<ng-container *ngIf=\"employee\">\n <img *ngIf=\"(employee | employeePhotoUrl:employeePhotos | async)\"\n [src]=\"employee | employeePhotoUrl:employeePhotos | async\"\n [style.width]=\"size\"\n [style.height]=\"size\"\n [style.border-radius]=\"notRound ? 'default' : '100%'\">\n</ng-container>" }]
|
|
29
|
+
}], ctorParameters: function () { return [{ type: i1.ActiveDirectoryService }]; }, propDecorators: { employee: [{
|
|
30
|
+
type: Input
|
|
31
|
+
}], accountName: [{
|
|
17
32
|
type: Input
|
|
18
33
|
}], employeePhotos: [{
|
|
19
34
|
type: Input
|
|
@@ -22,4 +37,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
22
37
|
}], notRound: [{
|
|
23
38
|
type: Input
|
|
24
39
|
}] } });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
40
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW1wbG95ZWUtcGhvdG8uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2xlYXZlbGFuZHByaWNlL25neC1saWIvc2hhcmVwb2ludC9zcmMvY29tcG9uZW50cy9lbXBsb3llZS1waG90by9lbXBsb3llZS1waG90by5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9zaGFyZXBvaW50L3NyYy9jb21wb25lbnRzL2VtcGxveWVlLXBob3RvL2VtcGxveWVlLXBob3RvLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFVLE1BQU0sZUFBZSxDQUFDOzs7OztBQVN6RCxNQUFNLE9BQU8sc0JBQXNCO0lBU2pDLFlBQW9CLHNCQUE4QztRQUE5QywyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBUnpELGFBQVEsR0FBK0IsSUFBSSxDQUFDO1FBQ3JELFFBQVE7UUFDQyxnQkFBVyxHQUFrQixJQUFJLENBQUM7UUFHbEMsU0FBSSxHQUFHLEtBQUssQ0FBQztRQUNiLGFBQVEsR0FBRyxLQUFLLENBQUM7SUFFNEMsQ0FBQztJQUV2RSxRQUFRO1FBQ04sSUFBSSxJQUFJLENBQUMsV0FBVyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN0QywrREFBK0Q7WUFDL0QsOERBQThEO1lBQzlELElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztpQkFDbEQsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsQ0FBQztTQUM1QztJQUNILENBQUM7O21IQWxCVSxzQkFBc0I7dUdBQXRCLHNCQUFzQiwwTENUbkMsc1VBTWU7MkZER0Ysc0JBQXNCO2tCQUxsQyxTQUFTOytCQUNFLGdCQUFnQjs2R0FLakIsUUFBUTtzQkFBaEIsS0FBSztnQkFFRyxXQUFXO3NCQUFuQixLQUFLO2dCQUVHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UsIENsZWF2ZWxhbmRQcmljZVVzZXIgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeSc7XG5pbXBvcnQgeyBQaG90b0l0ZW0gfSBmcm9tICcuLi8uLi9tb2RlbC9waG90by1pdGVtJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnZW1wbG95ZWUtcGhvdG8nLFxuICB0ZW1wbGF0ZVVybDogJy4vZW1wbG95ZWUtcGhvdG8uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lbXBsb3llZS1waG90by5jb21wb25lbnQuY3NzJ11cbn0pXG5leHBvcnQgY2xhc3MgRW1wbG95ZWVQaG90b0NvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBJbnB1dCgpIGVtcGxveWVlOiBDbGVhdmVsYW5kUHJpY2VVc2VyIHwgbnVsbCA9IG51bGw7XG4gIC8vIE9yLi4uXG4gIEBJbnB1dCgpIGFjY291bnROYW1lOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICBASW5wdXQoKSBlbXBsb3llZVBob3Rvcz86IFBob3RvSXRlbVtdO1xuICBASW5wdXQoKSBzaXplID0gXCIyZW1cIjtcbiAgQElucHV0KCkgbm90Um91bmQgPSBmYWxzZTtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2ZURpcmVjdG9yeVNlcnZpY2U6IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UpIHsgfVxuXG4gIG5nT25Jbml0KCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmFjY291bnROYW1lICYmICF0aGlzLmVtcGxveWVlKSB7XG4gICAgICAvLyBEZXZlbG9wZXIgcGFzc2VkIGluIGFuIGFjY291bnQgbmFtZSBpbnN0ZWFkIG9mIGEgdXNlciBvYmplY3RcbiAgICAgIC8vIFdlIG5lZWQgdG8gZG8gdGhlIHdvcmsgb2YgZ2V0dGluZyB0aGUgdXNlciBvYmplY3Qgb3Vyc2VsdmVzXG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuZ2V0VXNlcih0aGlzLmFjY291bnROYW1lKVxuICAgICAgICAuc3Vic2NyaWJlKHVzZXIgPT4gdGhpcy5lbXBsb3llZSA9IHVzZXIpO1xuICAgIH1cbiAgfVxufSIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJlbXBsb3llZVwiPlxuICAgIDxpbWcgKm5nSWY9XCIoZW1wbG95ZWUgfCBlbXBsb3llZVBob3RvVXJsOmVtcGxveWVlUGhvdG9zIHwgYXN5bmMpXCJcbiAgICAgICAgW3NyY109XCJlbXBsb3llZSB8IGVtcGxveWVlUGhvdG9Vcmw6ZW1wbG95ZWVQaG90b3MgfCBhc3luY1wiXG4gICAgICAgIFtzdHlsZS53aWR0aF09XCJzaXplXCJcbiAgICAgICAgW3N0eWxlLmhlaWdodF09XCJzaXplXCJcbiAgICAgICAgW3N0eWxlLmJvcmRlci1yYWRpdXNdPVwibm90Um91bmQgPyAnZGVmYXVsdCcgOiAnMTAwJSdcIj5cbjwvbmctY29udGFpbmVyPiJdfQ==
|
|
@@ -86,4 +86,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
86
86
|
type: ViewChild,
|
|
87
87
|
args: ['file', { static: true }]
|
|
88
88
|
}] } });
|
|
89
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
89
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXBsb2FkLWRpYWxvZy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi91cGxvYWQvc3JjL2NvbXBvbmVudHMvdXBsb2FkLWRpYWxvZy91cGxvYWQtZGlhbG9nLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3VwbG9hZC9zcmMvY29tcG9uZW50cy91cGxvYWQtZGlhbG9nL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBc0IsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7OztBQVFoQyxNQUFNLE9BQU8scUJBQXFCO0lBYWhDLFlBQW1CLFNBQThDLEVBQVMsYUFBNEI7UUFBbkYsY0FBUyxHQUFULFNBQVMsQ0FBcUM7UUFBUyxrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQVgvRixVQUFLLEdBQWMsSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNwQyx5QkFBb0IsR0FBa0IsSUFBSSxDQUFDO1FBSTNDLGdCQUFXLEdBQUcsSUFBSSxDQUFDO1FBQ25CLHNCQUFpQixHQUFrQixJQUFJLENBQUM7UUFDeEMscUJBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQ3hCLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFDbEIscUJBQWdCLEdBQUcsS0FBSyxDQUFDO0lBRWlGLENBQUM7SUFFM0csUUFBUTtRQUNOLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQztJQUNsRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRCxZQUFZO1FBQ1YsTUFBTSxLQUFLLEdBQTRCLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQztRQUNyRSxLQUFLLE1BQU0sR0FBRyxJQUFJLEtBQUssRUFBRTtZQUN2QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFO2dCQUN6QixpQ0FBaUM7Z0JBQ2pDLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7cUJBQ3ZDLFNBQVMsQ0FBQyxNQUFNLENBQUMsRUFBRTtvQkFDbEIsSUFBSSxNQUFNLEVBQUU7d0JBQ1YsSUFBSSxDQUFDLG9CQUFvQixHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUM7cUJBQzdDO29CQUVELElBQUksQ0FBQyxNQUFNLEVBQUU7d0JBQ1gsSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7cUJBQzVCO2dCQUNILENBQUMsQ0FBQyxDQUFDO2FBQ047U0FDRjtJQUNILENBQUM7SUFFRCxXQUFXO1FBQ1QsNERBQTREO1FBQzVELElBQUksSUFBSSxDQUFDLGdCQUFnQixFQUFFO1lBQ3pCLE9BQU8sSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztTQUMvQjtRQUVELHlDQUF5QztRQUN6QyxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztRQUV0Qiw2Q0FBNkM7UUFDN0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFdEQseUNBQXlDO1FBQ3pDLE1BQU0sc0JBQXNCLEdBQVUsRUFBRSxDQUFDO1FBRXpDLEtBQUssSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUM3QixzQkFBc0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQztTQUMxRDtRQUVELDZCQUE2QjtRQUU3QixrREFBa0Q7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLDRCQUE0QixDQUFDO1FBRWhGLGtEQUFrRDtRQUNsRCxJQUFJLENBQUMsV0FBVyxHQUFHLEtBQUssQ0FBQztRQUN6QixJQUFJLENBQUMsU0FBUyxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUM7UUFFbkMseUJBQXlCO1FBQ3pCLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxLQUFLLENBQUM7UUFFOUIsaURBQWlEO1FBQ2pELFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUMvQyx3Q0FBd0M7WUFDeEMsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUM7WUFDeEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLEdBQUcsS0FBSyxDQUFDO1lBRXBDLG1DQUFtQztZQUNuQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBRTdCLCtDQUErQztZQUMvQyxJQUFJLENBQUMsU0FBUyxHQUFHLEtBQUssQ0FBQztRQUN6QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7O2tIQXJGVSxxQkFBcUI7c0dBQXJCLHFCQUFxQixnS0NWbEMsc3RDQTBCQTsyRkRoQmEscUJBQXFCO2tCQUpqQyxTQUFTOzsrSEFLNkIsSUFBSTtzQkFBeEMsU0FBUzt1QkFBQyxNQUFNLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkluaXQsIFZpZXdDaGlsZCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNYXREaWFsb2dSZWYgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xyXG5pbXBvcnQgeyBmb3JrSm9pbiB9IGZyb20gJ3J4anMnO1xyXG5cclxuaW1wb3J0IHsgVXBsb2FkU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvdXBsb2FkLnNlcnZpY2UnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgdGVtcGxhdGVVcmw6ICcuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3VwbG9hZC1kaWFsb2cuY29tcG9uZW50LmNzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBVcGxvYWREaWFsb2dDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIEBWaWV3Q2hpbGQoJ2ZpbGUnLCB7IHN0YXRpYzogdHJ1ZSB9KSBmaWxlITogRWxlbWVudFJlZjtcclxuICBwdWJsaWMgZmlsZXM6IFNldDxGaWxlPiA9IG5ldyBTZXQoKTtcclxuICBleGlzdGluZ0ZpbGVDb25mbGljdDogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcblxyXG4gIC8vIFN0YXRlXHJcbiAgcHJvZ3Jlc3M6IGFueTtcclxuICBjYW5CZUNsb3NlZCA9IHRydWU7XHJcbiAgcHJpbWFyeUJ1dHRvblRleHQ6IHN0cmluZyB8IG51bGwgPSBudWxsO1xyXG4gIHNob3dDYW5jZWxCdXR0b24gPSB0cnVlO1xyXG4gIHVwbG9hZGluZyA9IGZhbHNlO1xyXG4gIHVwbG9hZFN1Y2Nlc3NmdWwgPSBmYWxzZTtcclxuICBcclxuICBjb25zdHJ1Y3RvcihwdWJsaWMgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8VXBsb2FkRGlhbG9nQ29tcG9uZW50PiwgcHVibGljIHVwbG9hZFNlcnZpY2U6IFVwbG9hZFNlcnZpY2UpIHsgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMucHJpbWFyeUJ1dHRvblRleHQgPSB0aGlzLnVwbG9hZFNlcnZpY2UuY29uZmlnLnVwbG9hZERpYWxvZ1VwbG9hZEJ1dHRvblRleHQ7XHJcbiAgfVxyXG5cclxuICBhZGRGaWxlcygpIHtcclxuICAgIHRoaXMuZmlsZS5uYXRpdmVFbGVtZW50LmNsaWNrKCk7XHJcbiAgfVxyXG5cclxuICBvbkZpbGVzQWRkZWQoKSB7XHJcbiAgICBjb25zdCBmaWxlczogeyBba2V5OiBzdHJpbmddOiBGaWxlIH0gPSB0aGlzLmZpbGUubmF0aXZlRWxlbWVudC5maWxlcztcclxuICAgIGZvciAoY29uc3Qga2V5IGluIGZpbGVzKSB7XHJcbiAgICAgIGlmICghaXNOYU4ocGFyc2VJbnQoa2V5KSkpIHtcclxuICAgICAgICAvLyBTZWUgaWYgdGhlIGZpbGUgYWxyZWFkeSBleGlzdHNcclxuICAgICAgICB0aGlzLnVwbG9hZFNlcnZpY2UuZXhpc3RzKGZpbGVzW2tleV0ubmFtZSlcclxuICAgICAgICAgIC5zdWJzY3JpYmUoZXhpc3RzID0+IHtcclxuICAgICAgICAgICAgaWYgKGV4aXN0cykge1xyXG4gICAgICAgICAgICAgIHRoaXMuZXhpc3RpbmdGaWxlQ29uZmxpY3QgPSBmaWxlc1trZXldLm5hbWU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICghZXhpc3RzKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maWxlcy5hZGQoZmlsZXNba2V5XSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBjbG9zZURpYWxvZygpIHtcclxuICAgIC8vIGlmIGV2ZXJ5dGhpbmcgd2FzIHVwbG9hZGVkIGFscmVhZHksIGp1c3QgY2xvc2UgdGhlIGRpYWxvZ1xyXG4gICAgaWYgKHRoaXMudXBsb2FkU3VjY2Vzc2Z1bCkge1xyXG4gICAgICByZXR1cm4gdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBzZXQgdGhlIGNvbXBvbmVudCBzdGF0ZSB0byBcInVwbG9hZGluZ1wiXHJcbiAgICB0aGlzLnVwbG9hZGluZyA9IHRydWU7XHJcblxyXG4gICAgLy8gc3RhcnQgdGhlIHVwbG9hZCBhbmQgc2F2ZSB0aGUgcHJvZ3Jlc3MgbWFwXHJcbiAgICB0aGlzLnByb2dyZXNzID0gdGhpcy51cGxvYWRTZXJ2aWNlLnVwbG9hZCh0aGlzLmZpbGVzKTtcclxuXHJcbiAgICAvLyBjb252ZXJ0IHRoZSBwcm9ncmVzcyBtYXAgaW50byBhbiBhcnJheVxyXG4gICAgY29uc3QgYWxsUHJvZ3Jlc3NPYnNlcnZhYmxlczogYW55W10gPSBbXTtcclxuXHJcbiAgICBmb3IgKGxldCBrZXkgaW4gdGhpcy5wcm9ncmVzcykge1xyXG4gICAgICBhbGxQcm9ncmVzc09ic2VydmFibGVzLnB1c2godGhpcy5wcm9ncmVzc1trZXldLnByb2dyZXNzKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyBBZGp1c3QgdGhlIHN0YXRlIHZhcmlhYmxlc1xyXG5cclxuICAgIC8vIFRoZSBPSy1idXR0b24gc2hvdWxkIGhhdmUgdGhlIHRleHQgXCJGaW5pc2hcIiBub3dcclxuICAgIHRoaXMucHJpbWFyeUJ1dHRvblRleHQgPSB0aGlzLnVwbG9hZFNlcnZpY2UuY29uZmlnLnVwbG9hZERpYWxvZ0ZpbmlzaEJ1dHRvblRleHQ7XHJcblxyXG4gICAgLy8gVGhlIGRpYWxvZyBzaG91bGQgbm90IGJlIGNsb3NlZCB3aGlsZSB1cGxvYWRpbmdcclxuICAgIHRoaXMuY2FuQmVDbG9zZWQgPSBmYWxzZTtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IHRydWU7XHJcblxyXG4gICAgLy8gSGlkZSB0aGUgY2FuY2VsLWJ1dHRvblxyXG4gICAgdGhpcy5zaG93Q2FuY2VsQnV0dG9uID0gZmFsc2U7XHJcblxyXG4gICAgLy8gV2hlbiBhbGwgcHJvZ3Jlc3Mtb2JzZXJ2YWJsZXMgYXJlIGNvbXBsZXRlZC4uLlxyXG4gICAgZm9ya0pvaW4oYWxsUHJvZ3Jlc3NPYnNlcnZhYmxlcykuc3Vic2NyaWJlKGVuZCA9PiB7XHJcbiAgICAgIC8vIC4uLiB0aGUgZGlhbG9nIGNhbiBiZSBjbG9zZWQgYWdhaW4uLi5cclxuICAgICAgdGhpcy5jYW5CZUNsb3NlZCA9IHRydWU7XHJcbiAgICAgIHRoaXMuZGlhbG9nUmVmLmRpc2FibGVDbG9zZSA9IGZhbHNlO1xyXG5cclxuICAgICAgLy8gLi4uIHRoZSB1cGxvYWQgd2FzIHN1Y2Nlc3NmdWwuLi5cclxuICAgICAgdGhpcy51cGxvYWRTdWNjZXNzZnVsID0gdHJ1ZTtcclxuXHJcbiAgICAgIC8vIC4uLiBhbmQgdGhlIGNvbXBvbmVudCBpcyBubyBsb25nZXIgdXBsb2FkaW5nXHJcbiAgICAgIHRoaXMudXBsb2FkaW5nID0gZmFsc2U7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIiwiPGlucHV0IHR5cGU9XCJmaWxlXCIgI2ZpbGUgc3R5bGU9XCJkaXNwbGF5OiBub25lXCIgKGNoYW5nZSk9XCJvbkZpbGVzQWRkZWQoKVwiIG11bHRpcGxlIC8+XG5cbjxkaXYgbWF0LWRpYWxvZy10aXRsZSBpZD1cInRpdGxlXCI+XG4gIDxkaXY+e3sgdXBsb2FkU2VydmljZS5jb25maWcudXBsb2FkRGlhbG9nVGl0bGUgfX08L2Rpdj5cbiAgPGJ1dHRvbiBbZGlzYWJsZWRdPVwidXBsb2FkaW5nIHx8IHVwbG9hZFN1Y2Nlc3NmdWxcIiBtYXQtcmFpc2VkLWJ1dHRvbiBjb2xvcj1cInByaW1hcnlcIiBjbGFzcz1cImFkZC1maWxlcy1idG5cIiAoY2xpY2spPVwiYWRkRmlsZXMoKVwiPlxuICAgIHt7IHVwbG9hZFNlcnZpY2UuY29uZmlnLnVwbG9hZERpYWxvZ0FkZEZpbGVzQnV0dG9uVGV4dCB9fVxuICA8L2J1dHRvbj5cbjwvZGl2PlxuXG48ZGl2IGlkPVwiY29uZmxpY3RcIiAqbmdJZj1cImV4aXN0aW5nRmlsZUNvbmZsaWN0XCI+XG4gIHt7IGV4aXN0aW5nRmlsZUNvbmZsaWN0IH19IGFscmVhZHkgZXhpc3RzIG9uIHRoZSBzZXJ2ZXIgYW5kIGNhbm5vdCBiZSBvdmVyd3JpdHRlblxuPC9kaXY+XG5cbjxtYXQtZGlhbG9nLWNvbnRlbnQ+XG4gIDxtYXQtbGlzdD5cbiAgICA8bWF0LWxpc3QtaXRlbSAqbmdGb3I9XCJsZXQgZmlsZSBvZiBmaWxlc1wiPlxuICAgICAgPGg0IG1hdC1saW5lPnt7ZmlsZS5uYW1lfX08L2g0PlxuICAgICAgPG1hdC1wcm9ncmVzcy1iYXIgKm5nSWY9XCJwcm9ncmVzc1wiIG1vZGU9XCJkZXRlcm1pbmF0ZVwiIFt2YWx1ZV09XCJwcm9ncmVzc1tmaWxlLm5hbWVdLnByb2dyZXNzIHwgYXN5bmNcIj48L21hdC1wcm9ncmVzcy1iYXI+XG4gICAgPC9tYXQtbGlzdC1pdGVtPlxuICA8L21hdC1saXN0PlxuPC9tYXQtZGlhbG9nLWNvbnRlbnQ+XG5cbjxtYXQtZGlhbG9nLWFjdGlvbnMgaWQ9XCJhY3Rpb25zXCI+XG4gIDxidXR0b24gKm5nSWY9XCJzaG93Q2FuY2VsQnV0dG9uXCIgbWF0LWJ1dHRvbiBtYXQtZGlhbG9nLWNsb3NlPnt7IHVwbG9hZFNlcnZpY2UuY29uZmlnLnVwbG9hZERpYWxvZ0NhbmNlbEJ1dHRvblRleHQgfX08L2J1dHRvbj5cbiAgPGJ1dHRvbiAqbmdJZj1cImZpbGVzLnNpemUgPiAwXCIgbWF0LXJhaXNlZC1idXR0b24gY29sb3I9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFjYW5CZUNsb3NlZFwiIChjbGljayk9XCJjbG9zZURpYWxvZygpXCI+e3sgcHJpbWFyeUJ1dHRvblRleHQgfX08L2J1dHRvbj5cbjwvbWF0LWRpYWxvZy1hY3Rpb25zPlxuIl19
|
|
@@ -0,0 +1,425 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { EventEmitter, Component, Optional, Inject, ViewChild, Input, Output, NgModule, SkipSelf } from '@angular/core';
|
|
3
|
+
import * as i1 from '@angular/material/dialog';
|
|
4
|
+
import { MAT_DIALOG_DATA, MatDialogModule } from '@angular/material/dialog';
|
|
5
|
+
import * as i7 from 'ngx-quill';
|
|
6
|
+
import { QuillEditorComponent, QuillModule } from 'ngx-quill';
|
|
7
|
+
import 'quill-mention';
|
|
8
|
+
import Quill from 'quill';
|
|
9
|
+
import ImageResize from 'quill-image-resize-module';
|
|
10
|
+
import { ImageDrop } from 'quill-image-drop-module';
|
|
11
|
+
import * as i2 from '@cleavelandprice/ngx-lib/active-directory';
|
|
12
|
+
import * as i3 from '@angular/common';
|
|
13
|
+
import { CommonModule } from '@angular/common';
|
|
14
|
+
import * as i4 from '@angular/forms';
|
|
15
|
+
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
|
|
16
|
+
import * as i5 from '@angular/material/icon';
|
|
17
|
+
import { MatIconModule } from '@angular/material/icon';
|
|
18
|
+
import * as i6 from '@angular/material/tooltip';
|
|
19
|
+
import { MatTooltipModule } from '@angular/material/tooltip';
|
|
20
|
+
import { MatButtonModule } from '@angular/material/button';
|
|
21
|
+
|
|
22
|
+
class Buttons {
|
|
23
|
+
constructor() {
|
|
24
|
+
//#region Font Style
|
|
25
|
+
this.bold = true;
|
|
26
|
+
this.italic = true;
|
|
27
|
+
this.strike = true;
|
|
28
|
+
this.underline = true;
|
|
29
|
+
//#endregion
|
|
30
|
+
//#region Media
|
|
31
|
+
this.link = true;
|
|
32
|
+
this.image = true;
|
|
33
|
+
this.video = true;
|
|
34
|
+
//#endregion
|
|
35
|
+
//#region Block Style
|
|
36
|
+
this.blockquote = true;
|
|
37
|
+
this.codeblock = true;
|
|
38
|
+
//#endregion
|
|
39
|
+
//#region Heading Style
|
|
40
|
+
this.h1 = true;
|
|
41
|
+
this.h2 = true;
|
|
42
|
+
//#endregion
|
|
43
|
+
//#region Color
|
|
44
|
+
this.color = true;
|
|
45
|
+
//#endregion
|
|
46
|
+
//#region List Style
|
|
47
|
+
this.bulleted = true;
|
|
48
|
+
this.ordered = true;
|
|
49
|
+
//#endregion
|
|
50
|
+
//#region Script Style
|
|
51
|
+
this.subScript = true;
|
|
52
|
+
this.superScript = true;
|
|
53
|
+
//#endregion
|
|
54
|
+
//#region Indent Style
|
|
55
|
+
this.increaseIndent = true;
|
|
56
|
+
this.decreaseIndent = true;
|
|
57
|
+
//#endregion
|
|
58
|
+
//#region DropDowns
|
|
59
|
+
this.align = true;
|
|
60
|
+
this.font = true;
|
|
61
|
+
this.fontSize = true;
|
|
62
|
+
this.headingStyle = true;
|
|
63
|
+
//#endregion
|
|
64
|
+
//#region Single Buttons
|
|
65
|
+
this.clean = true;
|
|
66
|
+
this.formula = true;
|
|
67
|
+
this.rtl = true;
|
|
68
|
+
this.editorSize = true;
|
|
69
|
+
//#endregion
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
class Icons {
|
|
74
|
+
constructor() {
|
|
75
|
+
this.maximize = 'open_in_full';
|
|
76
|
+
this.minimize = 'close_fullscreen';
|
|
77
|
+
this.popout = 'open_in_full';
|
|
78
|
+
this.popin = 'done';
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
class Tooltips {
|
|
83
|
+
constructor() {
|
|
84
|
+
//#region Font Style
|
|
85
|
+
this.bold = 'Bole';
|
|
86
|
+
this.italic = 'Italic';
|
|
87
|
+
this.strike = 'Strikethrough';
|
|
88
|
+
this.underline = 'Underline';
|
|
89
|
+
//#endregion
|
|
90
|
+
//#region Media
|
|
91
|
+
this.link = 'Link';
|
|
92
|
+
this.image = 'Insert Image';
|
|
93
|
+
this.video = 'Insert Video';
|
|
94
|
+
//#endregion
|
|
95
|
+
//#region Block Style
|
|
96
|
+
this.blockquote = 'Blockquote';
|
|
97
|
+
this.codeblock = 'Code Block';
|
|
98
|
+
//#endregion
|
|
99
|
+
//#region Heading Style
|
|
100
|
+
this.h1 = 'Heading 1';
|
|
101
|
+
this.h2 = 'Heading 2';
|
|
102
|
+
//#endregion
|
|
103
|
+
//#region Color
|
|
104
|
+
this.color = 'Font / Background Color';
|
|
105
|
+
//#endregion
|
|
106
|
+
//#region List Style
|
|
107
|
+
this.bulleted = 'Bulleted List';
|
|
108
|
+
this.ordered = 'Ordered List';
|
|
109
|
+
//#endregion
|
|
110
|
+
//#region Script Style
|
|
111
|
+
this.subScript = 'Subscript';
|
|
112
|
+
this.superScript = 'Superscript';
|
|
113
|
+
//#endregion
|
|
114
|
+
//#region Indent Style
|
|
115
|
+
this.increaseIndent = 'Increase Indent';
|
|
116
|
+
this.decreaseIndent = 'Decrease Indent';
|
|
117
|
+
//#endregion
|
|
118
|
+
//#region DropDowns
|
|
119
|
+
this.align = 'Align';
|
|
120
|
+
this.font = 'Font';
|
|
121
|
+
this.fontSize = 'Font Size';
|
|
122
|
+
this.headingStyle = 'Heading';
|
|
123
|
+
//#endregion
|
|
124
|
+
//#region Single Buttons
|
|
125
|
+
this.clean = 'Clean';
|
|
126
|
+
this.formula = 'Formula';
|
|
127
|
+
this.rtl = 'Right-To-Left';
|
|
128
|
+
this.maximize = 'Maximize';
|
|
129
|
+
this.minimize = 'Minimize';
|
|
130
|
+
this.popout = 'Popout';
|
|
131
|
+
this.popin = 'Done';
|
|
132
|
+
//#endregion
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
class Config {
|
|
137
|
+
constructor() {
|
|
138
|
+
this.buttons = new Buttons();
|
|
139
|
+
this.tooltips = new Tooltips();
|
|
140
|
+
this.icons = new Icons();
|
|
141
|
+
//#region These can be overriden via @Input()
|
|
142
|
+
this.format = 'html';
|
|
143
|
+
this.height = '50vh';
|
|
144
|
+
this.width = '100vw';
|
|
145
|
+
this.maxHeight = '85vh';
|
|
146
|
+
this.maxWidth = '100vw';
|
|
147
|
+
this.enableTooltips = true;
|
|
148
|
+
this.fullscreen = false;
|
|
149
|
+
this.fullscreenMode = 'popout';
|
|
150
|
+
this.readonly = false;
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region Groups
|
|
153
|
+
this.showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;
|
|
154
|
+
this.showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;
|
|
155
|
+
this.showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;
|
|
156
|
+
this.showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;
|
|
157
|
+
this.showListStyle = () => this.buttons.bulleted || this.buttons.ordered;
|
|
158
|
+
this.showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;
|
|
159
|
+
this.showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;
|
|
160
|
+
//#endregion
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
Quill.register('modules/imageDrop', ImageDrop);
|
|
165
|
+
Quill.register('modules/imageResize', ImageResize);
|
|
166
|
+
class EditorComponent {
|
|
167
|
+
//#endregion
|
|
168
|
+
constructor(data, dialogRef, activeDirectoryService, dialog) {
|
|
169
|
+
this.dialogRef = dialogRef;
|
|
170
|
+
this.activeDirectoryService = activeDirectoryService;
|
|
171
|
+
this.dialog = dialog;
|
|
172
|
+
this.config = new Config();
|
|
173
|
+
//#region These can be passed in as @Input(), or use values from config
|
|
174
|
+
this.format = this.config.format;
|
|
175
|
+
this.height = this.config.height;
|
|
176
|
+
this.width = this.config.width;
|
|
177
|
+
this.maxHeight = this.config.maxHeight;
|
|
178
|
+
this.maxWidth = this.config.maxWidth;
|
|
179
|
+
this.enableTooltips = this.config.enableTooltips;
|
|
180
|
+
this.fullscreen = this.config.fullscreen;
|
|
181
|
+
this.fullscreenMode = this.config.fullscreenMode;
|
|
182
|
+
this.readonly = this.config.readonly;
|
|
183
|
+
//#endregion
|
|
184
|
+
this.fullscreenChanged = new EventEmitter();
|
|
185
|
+
//#region Passthrough events
|
|
186
|
+
this.onBlur = new EventEmitter();
|
|
187
|
+
this.onContentChanged = new EventEmitter();
|
|
188
|
+
this.onEditorChanged = new EventEmitter();
|
|
189
|
+
this.onEditorCreated = new EventEmitter();
|
|
190
|
+
this.onFocus = new EventEmitter();
|
|
191
|
+
this.onSelectionChanged = new EventEmitter();
|
|
192
|
+
if (data) {
|
|
193
|
+
this.formGroup = data.formGroup;
|
|
194
|
+
this.controlName = data.controlName;
|
|
195
|
+
this.ngModelValue = data.value;
|
|
196
|
+
this.config = data.config;
|
|
197
|
+
this.placeholder = data.placeholder;
|
|
198
|
+
this.format = data.format;
|
|
199
|
+
this.height = data.height;
|
|
200
|
+
this.width = data.width;
|
|
201
|
+
this.maxHeight = data.maxHeight;
|
|
202
|
+
this.maxWidth = data.maxWidth;
|
|
203
|
+
this.enableTooltips = data.enableTooltips;
|
|
204
|
+
this.fullscreen = data.fullscreen;
|
|
205
|
+
this.fullscreenMode = data.fullscreenMode;
|
|
206
|
+
this.readonly = data.readonly;
|
|
207
|
+
this.users = data.users;
|
|
208
|
+
}
|
|
209
|
+
}
|
|
210
|
+
ngOnInit() {
|
|
211
|
+
if (!this.users) {
|
|
212
|
+
this.activeDirectoryService.getUsers().subscribe(users => this.users = users);
|
|
213
|
+
}
|
|
214
|
+
}
|
|
215
|
+
toggleFullscreen() {
|
|
216
|
+
var _a;
|
|
217
|
+
this.fullscreen = !this.fullscreen;
|
|
218
|
+
this.fullscreenChanged.emit(this.fullscreen);
|
|
219
|
+
if (this.fullscreenMode === 'popout') {
|
|
220
|
+
if (this.dialogRef) {
|
|
221
|
+
this.dialogRef.close(this.formGroup ?
|
|
222
|
+
(_a = this.formGroup.get(this.controlName)) === null || _a === void 0 ? void 0 : _a.value :
|
|
223
|
+
this.ngModelValue);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
const data = {
|
|
227
|
+
formGroup: this.formGroup,
|
|
228
|
+
controlName: this.controlName,
|
|
229
|
+
value: this.ngModelValue,
|
|
230
|
+
config: this.config,
|
|
231
|
+
placeholder: this.placeholder,
|
|
232
|
+
format: this.format,
|
|
233
|
+
height: this.maxHeight,
|
|
234
|
+
width: '100%',
|
|
235
|
+
maxHeight: this.maxHeight,
|
|
236
|
+
maxWidth: '100%',
|
|
237
|
+
enableTooltips: this.enableTooltips,
|
|
238
|
+
fullscreen: this.fullscreen,
|
|
239
|
+
fullscreenMode: this.fullscreenMode,
|
|
240
|
+
readonly: this.readonly,
|
|
241
|
+
users: this.users
|
|
242
|
+
};
|
|
243
|
+
this.dialog.open(EditorComponent, {
|
|
244
|
+
disableClose: true,
|
|
245
|
+
width: this.maxWidth,
|
|
246
|
+
height: '90vh',
|
|
247
|
+
data
|
|
248
|
+
})
|
|
249
|
+
.afterClosed()
|
|
250
|
+
.subscribe(value => {
|
|
251
|
+
var _a;
|
|
252
|
+
this.fullscreen = false;
|
|
253
|
+
if (this.formGroup) {
|
|
254
|
+
(_a = this.formGroup.get(this.controlName)) === null || _a === void 0 ? void 0 : _a.setValue(value);
|
|
255
|
+
}
|
|
256
|
+
else {
|
|
257
|
+
this.ngModelValue = value;
|
|
258
|
+
}
|
|
259
|
+
});
|
|
260
|
+
}
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
tooltip(val) {
|
|
264
|
+
return this.enableTooltips ? val : '';
|
|
265
|
+
}
|
|
266
|
+
get modules() {
|
|
267
|
+
return this.users ?
|
|
268
|
+
{
|
|
269
|
+
imageResize: {},
|
|
270
|
+
imageDrop: true,
|
|
271
|
+
syntax: true,
|
|
272
|
+
mention: {
|
|
273
|
+
allowedChars: /^[A-Za-z\sÅÄÖåäö]*$/,
|
|
274
|
+
onSelect: (item, insertItem) => {
|
|
275
|
+
const editor = this.editor.quillEditor;
|
|
276
|
+
insertItem(item);
|
|
277
|
+
// necessary because quill-mention triggers changes as 'api' instead of 'user'
|
|
278
|
+
editor.insertText(editor.getLength() - 1, '', 'user');
|
|
279
|
+
},
|
|
280
|
+
source: (searchTerm, renderList) => {
|
|
281
|
+
var _a;
|
|
282
|
+
if (searchTerm.length === 0) {
|
|
283
|
+
renderList((_a = this.users) === null || _a === void 0 ? void 0 : _a.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm);
|
|
284
|
+
}
|
|
285
|
+
else {
|
|
286
|
+
const matches = [];
|
|
287
|
+
this.users.forEach((entry) => {
|
|
288
|
+
if (entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||
|
|
289
|
+
entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1) {
|
|
290
|
+
matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` });
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
renderList(matches, searchTerm);
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
}
|
|
297
|
+
} :
|
|
298
|
+
undefined;
|
|
299
|
+
}
|
|
300
|
+
}
|
|
301
|
+
EditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EditorComponent, deps: [{ token: MAT_DIALOG_DATA, optional: true }, { token: i1.MatDialogRef, optional: true }, { token: i2.ActiveDirectoryService }, { token: i1.MatDialog }], target: i0.ɵɵFactoryTarget.Component });
|
|
302
|
+
EditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.2.1", type: EditorComponent, selector: "cpquill-editor", inputs: { formGroup: "formGroup", controlName: "controlName", ngModelValue: "ngModelValue", config: "config", placeholder: "placeholder", users: "users", format: "format", height: "height", width: "width", maxHeight: "maxHeight", maxWidth: "maxWidth", enableTooltips: "enableTooltips", fullscreen: "fullscreen", fullscreenMode: "fullscreenMode", readonly: "readonly" }, outputs: { fullscreenChanged: "fullscreenChanged", onBlur: "onBlur", onContentChanged: "onContentChanged", onEditorChanged: "onEditorChanged", onEditorCreated: "onEditorCreated", onFocus: "onFocus", onSelectionChanged: "onSelectionChanged" }, viewQueries: [{ propertyName: "editor", first: true, predicate: QuillEditorComponent, descendants: true }], ngImport: i0, template: "<ng-container *ngIf=\"users\">\n <!-- Reactive forms -->\n <form *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <quill-editor\n [formControlName]=\"controlName\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? maxHeight : height\"\n [style.width]=\"fullscreen ? maxWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n \n <!-- NgModel forms -->\n <form *ngIf=\"!formGroup\">\n <quill-editor name=\"editor\"\n [(ngModel)]=\"ngModelValue\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? maxHeight : height\"\n [style.width]=\"fullscreen ? maxWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showFontStyle\">\n <button class=\"ql-bold\" *ngIf=\"config.buttons.bold\" [matTooltip]=\"tooltip(config.tooltips.bold)\"></button>\n <button class=\"ql-italic\" *ngIf=\"config.buttons.italic\" [matTooltip]=\"tooltip(config.tooltips.italic)\"></button>\n <button class=\"ql-underline\" *ngIf=\"config.buttons.underline\" [matTooltip]=\"tooltip(config.tooltips.underline)\"></button>\n <button class=\"ql-strike\" *ngIf=\"config.buttons.strike\" [matTooltip]=\"tooltip(config.tooltips.strike)\"></button>\n </span>\n</ng-template>\n\n<ng-template #blockStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showBlockStyle\">\n <button class=\"ql-blockquote\" *ngIf=\"config.buttons.blockquote\" [matTooltip]=\"tooltip(config.tooltips.blockquote)\"></button>\n <button class=\"ql-code-block\" *ngIf=\"config.buttons.codeblock\" [matTooltip]=\"tooltip(config.tooltips.codeblock)\"></button>\n </span>\n</ng-template>\n\n<ng-template #headingStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showQuickHeadingStyle\">\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config.buttons.h1\" [matTooltip]=\"tooltip(config.tooltips.h1)\"></button>\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config.buttons.h2\" [matTooltip]=\"tooltip(config.tooltips.h2)\"></button>\n </span>\n</ng-template>\n\n<ng-template #listStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showListStyle\">\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config.buttons.ordered\" [matTooltip]=\"tooltip(config.tooltips.ordered)\"></button>\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config.buttons.bulleted\" [matTooltip]=\"tooltip(config.tooltips.bulleted)\"></button>\n </span>\n</ng-template>\n\n<ng-template #scriptStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showScriptStyle\">\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config.buttons.subScript\" [matTooltip]=\"tooltip(config.tooltips.subScript)\"></button>\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config.buttons.superScript\" [matTooltip]=\"tooltip(config.tooltips.superScript)\"></button>\n </span>\n</ng-template>\n \n<ng-template #indentStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showIndentStyle\">\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config.tooltips.decreaseIndent)\"></button>\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config.buttons.increaseIndent\" [matTooltip]=\"tooltip(config.tooltips.increaseIndent)\"></button>\n </span>\n</ng-template>\n\n<ng-template #rtl>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.rtl\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config.tooltips.rtl)\"></button>\n </span>\n</ng-template>\n\n<ng-template #fontSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.fontSize\" [matTooltip]=\"tooltip(config.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #heading>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.headingStyle\" [matTooltip]=\"tooltip(config.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #color>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.color\" [matTooltip]=\"tooltip(config.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n</ng-template>\n\n<ng-template #font>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.font\" [matTooltip]=\"tooltip(config.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #align>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.align\" [matTooltip]=\"tooltip(config.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #clean>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.clean\" [matTooltip]=\"tooltip(config.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n</ng-template>\n\n<ng-template #media>\n <span class=\"ql-formats\" *ngIf=\"config.showMedia\">\n <button class=\"ql-link\" *ngIf=\"config.buttons.link\" [matTooltip]=\"tooltip(config.tooltips.link)\"></button>\n <button class=\"ql-image\" *ngIf=\"config.buttons.image\" [matTooltip]=\"tooltip(config.tooltips.image)\"></button>\n <button class=\"ql-video\" *ngIf=\"config.buttons.video\" [matTooltip]=\"tooltip(config.tooltips.video)\"></button>\n </span>\n</ng-template>\n\n<ng-template #editorSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.editorSize\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen ?\n (fullscreenMode === 'expand' ? config.tooltips.minimize : config.tooltips.popin) :\n (fullscreenMode === 'expand' ? config.tooltips.maximize : config.tooltips.popout))\">\n\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen ?\n (fullscreenMode === 'expand' ? config.icons.minimize : config.icons.popin) :\n (fullscreenMode === 'expand' ? config.icons.maximize : config.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #formula>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.formula\" [matTooltip]=\"tooltip(config.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"], dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i4.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i4.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i4.NgForm, selector: "form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]", inputs: ["ngFormOptions"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i4.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i5.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i6.MatTooltip, selector: "[matTooltip]", exportAs: ["matTooltip"] }, { kind: "component", type: i7.QuillEditorComponent, selector: "quill-editor" }] });
|
|
303
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: EditorComponent, decorators: [{
|
|
304
|
+
type: Component,
|
|
305
|
+
args: [{ selector: 'cpquill-editor', template: "<ng-container *ngIf=\"users\">\n <!-- Reactive forms -->\n <form *ngIf=\"formGroup\" [formGroup]=\"formGroup\">\n <quill-editor\n [formControlName]=\"controlName\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? maxHeight : height\"\n [style.width]=\"fullscreen ? maxWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n \n <!-- NgModel forms -->\n <form *ngIf=\"!formGroup\">\n <quill-editor name=\"editor\"\n [(ngModel)]=\"ngModelValue\"\n [placeholder]=\"placeholder\"\n [format]=\"format\"\n [style.height]=\"fullscreen ? maxHeight : height\"\n [style.width]=\"fullscreen ? maxWidth : width\"\n [readOnly]=\"readonly\"\n [class.readonly]=\"readonly\"\n [modules]=\"modules\"\n \n (onBlur)=\"onBlur.emit($event)\"\n (onContentChanged)=\"onContentChanged.emit($event)\"\n (onEditorChanged)=\"onEditorChanged.emit($event)\"\n (onEditorCreated)=\"onEditorCreated.emit()\"\n (onFocus)=\"onFocus.emit($event)\"\n (onSelectionChanged)=\"onSelectionChanged.emit($event)\">\n \n <div quill-editor-toolbar>\n <ng-container [ngTemplateOutlet]=\"toolbar\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"editorSize\"></ng-container>\n </div>\n </quill-editor>\n </form>\n</ng-container>\n\n<ng-template #toolbar>\n <div>\n <ng-container [ngTemplateOutlet]=\"fontStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"blockStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"headingStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"listStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"scriptStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"indentStyle\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"rtl\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"fontSize\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"heading\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"color\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"font\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"align\"></ng-container>\n <ng-container [ngTemplateOutlet]=\"clean\"></ng-container>\n <nt-container [ngTemplateOutlet]=\"formula\"></nt-container>\n <ng-container [ngTemplateOutlet]=\"media\"></ng-container>\n </div>\n</ng-template>\n\n<ng-template #fontStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showFontStyle\">\n <button class=\"ql-bold\" *ngIf=\"config.buttons.bold\" [matTooltip]=\"tooltip(config.tooltips.bold)\"></button>\n <button class=\"ql-italic\" *ngIf=\"config.buttons.italic\" [matTooltip]=\"tooltip(config.tooltips.italic)\"></button>\n <button class=\"ql-underline\" *ngIf=\"config.buttons.underline\" [matTooltip]=\"tooltip(config.tooltips.underline)\"></button>\n <button class=\"ql-strike\" *ngIf=\"config.buttons.strike\" [matTooltip]=\"tooltip(config.tooltips.strike)\"></button>\n </span>\n</ng-template>\n\n<ng-template #blockStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showBlockStyle\">\n <button class=\"ql-blockquote\" *ngIf=\"config.buttons.blockquote\" [matTooltip]=\"tooltip(config.tooltips.blockquote)\"></button>\n <button class=\"ql-code-block\" *ngIf=\"config.buttons.codeblock\" [matTooltip]=\"tooltip(config.tooltips.codeblock)\"></button>\n </span>\n</ng-template>\n\n<ng-template #headingStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showQuickHeadingStyle\">\n <button class=\"ql-header\" value=\"1\" *ngIf=\"config.buttons.h1\" [matTooltip]=\"tooltip(config.tooltips.h1)\"></button>\n <button class=\"ql-header\" value=\"2\" *ngIf=\"config.buttons.h2\" [matTooltip]=\"tooltip(config.tooltips.h2)\"></button>\n </span>\n</ng-template>\n\n<ng-template #listStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showListStyle\">\n <button class=\"ql-list\" value=\"ordered\" *ngIf=\"config.buttons.ordered\" [matTooltip]=\"tooltip(config.tooltips.ordered)\"></button>\n <button class=\"ql-list\" value=\"bullet\" *ngIf=\"config.buttons.bulleted\" [matTooltip]=\"tooltip(config.tooltips.bulleted)\"></button>\n </span>\n</ng-template>\n\n<ng-template #scriptStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showScriptStyle\">\n <button class=\"ql-script\" value=\"sub\" *ngIf=\"config.buttons.subScript\" [matTooltip]=\"tooltip(config.tooltips.subScript)\"></button>\n <button class=\"ql-script\" value=\"super\" *ngIf=\"config.buttons.superScript\" [matTooltip]=\"tooltip(config.tooltips.superScript)\"></button>\n </span>\n</ng-template>\n \n<ng-template #indentStyle>\n <span class=\"ql-formats\" *ngIf=\"config.showIndentStyle\">\n <button class=\"ql-indent\" value=\"-1\" *ngIf=\"config.buttons.decreaseIndent\" [matTooltip]=\"tooltip(config.tooltips.decreaseIndent)\"></button>\n <button class=\"ql-indent\" value=\"+1\" *ngIf=\"config.buttons.increaseIndent\" [matTooltip]=\"tooltip(config.tooltips.increaseIndent)\"></button>\n </span>\n</ng-template>\n\n<ng-template #rtl>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.rtl\">\n <button class=\"ql-direction\" value=\"rtl\" [matTooltip]=\"tooltip(config.tooltips.rtl)\"></button>\n </span>\n</ng-template>\n\n<ng-template #fontSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.fontSize\" [matTooltip]=\"tooltip(config.tooltips.fontSize)\">\n <select class=\"ql-size\">\n <option value=\"small\"></option>\n <option selected></option>\n <option value=\"large\"></option>\n <option value=\"huge\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #heading>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.headingStyle\" [matTooltip]=\"tooltip(config.tooltips.headingStyle)\">\n <select class=\"ql-header\">\n <option value=\"1\"></option>\n <option value=\"2\"></option>\n <option value=\"3\"></option>\n <option value=\"4\"></option>\n <option value=\"5\"></option>\n <option value=\"6\"></option>\n <option selected=\"selected\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #color>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.color\" [matTooltip]=\"tooltip(config.tooltips.color)\">\n <select class=\"ql-color\"></select>\n <select class=\"ql-background\"></select>\n </span>\n</ng-template>\n\n<ng-template #font>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.font\" [matTooltip]=\"tooltip(config.tooltips.font)\">\n <select class=\"ql-font\">\n <option selected></option>\n <option value=\"serif\"></option>\n <option value=\"monospace\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #align>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.align\" [matTooltip]=\"tooltip(config.tooltips.align)\">\n <select class=\"ql-align\">\n <option selected></option>\n <option value=\"center\"></option>\n <option value=\"right\"></option>\n <option value=\"justify\"></option>\n </select>\n </span>\n</ng-template>\n\n<ng-template #clean>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.clean\" [matTooltip]=\"tooltip(config.tooltips.clean)\">\n <button class=\"ql-clean\"></button>\n </span>\n</ng-template>\n\n<ng-template #media>\n <span class=\"ql-formats\" *ngIf=\"config.showMedia\">\n <button class=\"ql-link\" *ngIf=\"config.buttons.link\" [matTooltip]=\"tooltip(config.tooltips.link)\"></button>\n <button class=\"ql-image\" *ngIf=\"config.buttons.image\" [matTooltip]=\"tooltip(config.tooltips.image)\"></button>\n <button class=\"ql-video\" *ngIf=\"config.buttons.video\" [matTooltip]=\"tooltip(config.tooltips.video)\"></button>\n </span>\n</ng-template>\n\n<ng-template #editorSize>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.editorSize\">\n <button id=\"fullscreen\"\n [matTooltip]=\"tooltip(fullscreen ?\n (fullscreenMode === 'expand' ? config.tooltips.minimize : config.tooltips.popin) :\n (fullscreenMode === 'expand' ? config.tooltips.maximize : config.tooltips.popout))\">\n\n <mat-icon (click)=\"toggleFullscreen()\">\n {{ fullscreen ?\n (fullscreenMode === 'expand' ? config.icons.minimize : config.icons.popin) :\n (fullscreenMode === 'expand' ? config.icons.maximize : config.icons.popout)\n }}\n </mat-icon>\n </button>\n </span>\n</ng-template>\n\n<ng-template #formula>\n <span class=\"ql-formats\" *ngIf=\"config.buttons.formula\" [matTooltip]=\"tooltip(config.tooltips.formula)\">\n <button class=\"ql-formula\"></button>\n </span>\n</ng-template>", styles: [".ql-toolbar{display:grid;grid-template-columns:1fr auto}mat-icon{color:#ff4500}quill-editor.readonly .ql-toolbar{opacity:.5}::ng-deep quill-editor.readonly .ql-container{background-color:#f5f5f5!important}\n"] }]
|
|
306
|
+
}], ctorParameters: function () {
|
|
307
|
+
return [{ type: undefined, decorators: [{
|
|
308
|
+
type: Optional
|
|
309
|
+
}, {
|
|
310
|
+
type: Inject,
|
|
311
|
+
args: [MAT_DIALOG_DATA]
|
|
312
|
+
}] }, { type: i1.MatDialogRef, decorators: [{
|
|
313
|
+
type: Optional
|
|
314
|
+
}] }, { type: i2.ActiveDirectoryService }, { type: i1.MatDialog }];
|
|
315
|
+
}, propDecorators: { editor: [{
|
|
316
|
+
type: ViewChild,
|
|
317
|
+
args: [QuillEditorComponent, { static: false }]
|
|
318
|
+
}], formGroup: [{
|
|
319
|
+
type: Input
|
|
320
|
+
}], controlName: [{
|
|
321
|
+
type: Input
|
|
322
|
+
}], ngModelValue: [{
|
|
323
|
+
type: Input
|
|
324
|
+
}], config: [{
|
|
325
|
+
type: Input
|
|
326
|
+
}], placeholder: [{
|
|
327
|
+
type: Input
|
|
328
|
+
}], users: [{
|
|
329
|
+
type: Input
|
|
330
|
+
}], format: [{
|
|
331
|
+
type: Input
|
|
332
|
+
}], height: [{
|
|
333
|
+
type: Input
|
|
334
|
+
}], width: [{
|
|
335
|
+
type: Input
|
|
336
|
+
}], maxHeight: [{
|
|
337
|
+
type: Input
|
|
338
|
+
}], maxWidth: [{
|
|
339
|
+
type: Input
|
|
340
|
+
}], enableTooltips: [{
|
|
341
|
+
type: Input
|
|
342
|
+
}], fullscreen: [{
|
|
343
|
+
type: Input
|
|
344
|
+
}], fullscreenMode: [{
|
|
345
|
+
type: Input
|
|
346
|
+
}], readonly: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}], fullscreenChanged: [{
|
|
349
|
+
type: Output
|
|
350
|
+
}], onBlur: [{
|
|
351
|
+
type: Output
|
|
352
|
+
}], onContentChanged: [{
|
|
353
|
+
type: Output
|
|
354
|
+
}], onEditorChanged: [{
|
|
355
|
+
type: Output
|
|
356
|
+
}], onEditorCreated: [{
|
|
357
|
+
type: Output
|
|
358
|
+
}], onFocus: [{
|
|
359
|
+
type: Output
|
|
360
|
+
}], onSelectionChanged: [{
|
|
361
|
+
type: Output
|
|
362
|
+
}] } });
|
|
363
|
+
|
|
364
|
+
class QuillEditorModule {
|
|
365
|
+
constructor(parentModule) {
|
|
366
|
+
if (parentModule) {
|
|
367
|
+
throw new Error('QuillEditorModule is already loaded. Import it in the AppModule only');
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
static forRoot() {
|
|
371
|
+
return {
|
|
372
|
+
ngModule: QuillEditorModule
|
|
373
|
+
};
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
QuillEditorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillEditorModule, deps: [{ token: QuillEditorModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
|
|
377
|
+
QuillEditorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.2.1", ngImport: i0, type: QuillEditorModule, declarations: [EditorComponent], imports: [CommonModule,
|
|
378
|
+
FormsModule,
|
|
379
|
+
ReactiveFormsModule,
|
|
380
|
+
MatButtonModule,
|
|
381
|
+
MatDialogModule,
|
|
382
|
+
MatIconModule,
|
|
383
|
+
MatTooltipModule, i7.QuillModule], exports: [EditorComponent] });
|
|
384
|
+
QuillEditorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillEditorModule, imports: [CommonModule,
|
|
385
|
+
FormsModule,
|
|
386
|
+
ReactiveFormsModule,
|
|
387
|
+
MatButtonModule,
|
|
388
|
+
MatDialogModule,
|
|
389
|
+
MatIconModule,
|
|
390
|
+
MatTooltipModule,
|
|
391
|
+
QuillModule.forRoot()] });
|
|
392
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImport: i0, type: QuillEditorModule, decorators: [{
|
|
393
|
+
type: NgModule,
|
|
394
|
+
args: [{
|
|
395
|
+
declarations: [
|
|
396
|
+
EditorComponent
|
|
397
|
+
],
|
|
398
|
+
imports: [
|
|
399
|
+
CommonModule,
|
|
400
|
+
FormsModule,
|
|
401
|
+
ReactiveFormsModule,
|
|
402
|
+
MatButtonModule,
|
|
403
|
+
MatDialogModule,
|
|
404
|
+
MatIconModule,
|
|
405
|
+
MatTooltipModule,
|
|
406
|
+
QuillModule.forRoot()
|
|
407
|
+
],
|
|
408
|
+
exports: [
|
|
409
|
+
EditorComponent
|
|
410
|
+
]
|
|
411
|
+
}]
|
|
412
|
+
}], ctorParameters: function () {
|
|
413
|
+
return [{ type: QuillEditorModule, decorators: [{
|
|
414
|
+
type: Optional
|
|
415
|
+
}, {
|
|
416
|
+
type: SkipSelf
|
|
417
|
+
}] }];
|
|
418
|
+
} });
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Generated bundle index. Do not edit.
|
|
422
|
+
*/
|
|
423
|
+
|
|
424
|
+
export { Buttons, Config, EditorComponent, Icons, QuillEditorModule, Tooltips };
|
|
425
|
+
//# sourceMappingURL=cleavelandprice-ngx-lib-quill-editor.mjs.map
|