@cleavelandprice/ngx-lib 3.1.34 → 3.1.36
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/components/editor/editor.component.mjs +11 -5
- package/esm2020/quill-editor/model/tooltips.mjs +2 -2
- package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs +11 -5
- package/fesm2015/cleavelandprice-ngx-lib-quill-editor.mjs.map +1 -1
- package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs +11 -5
- package/fesm2020/cleavelandprice-ngx-lib-quill-editor.mjs.map +1 -1
- package/package.json +1 -1
|
@@ -75,15 +75,19 @@ export class EditorComponent {
|
|
|
75
75
|
}
|
|
76
76
|
}
|
|
77
77
|
toggleFullscreen() {
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
// Debug
|
|
79
|
+
console.log('fullscreenMode', this.fullscreenMode);
|
|
80
|
+
console.log('fullscreen', this.fullscreen);
|
|
81
|
+
console.log('dialogRef', this.dialogRef);
|
|
80
82
|
if (this.fullscreenMode === 'popout') {
|
|
81
|
-
if (this.
|
|
83
|
+
if (this.fullscreen) {
|
|
84
|
+
console.log('path1'); // Debug
|
|
82
85
|
this.dialogRef.close(this.formGroup ?
|
|
83
86
|
this.formGroup.get(this.controlName)?.value :
|
|
84
87
|
this.ngModelValue);
|
|
85
88
|
}
|
|
86
89
|
else {
|
|
90
|
+
console.log('path2'); // Debug
|
|
87
91
|
const data = {
|
|
88
92
|
formGroup: this.formGroup,
|
|
89
93
|
controlName: this.controlName,
|
|
@@ -96,7 +100,7 @@ export class EditorComponent {
|
|
|
96
100
|
maxHeight: this.maxHeight,
|
|
97
101
|
maxWidth: '100%',
|
|
98
102
|
enableTooltips: this.enableTooltips,
|
|
99
|
-
fullscreen:
|
|
103
|
+
fullscreen: true,
|
|
100
104
|
fullscreenMode: this.fullscreenMode,
|
|
101
105
|
readonly: this.readonly,
|
|
102
106
|
users: this.users
|
|
@@ -119,6 +123,8 @@ export class EditorComponent {
|
|
|
119
123
|
});
|
|
120
124
|
}
|
|
121
125
|
}
|
|
126
|
+
this.fullscreen = !this.fullscreen;
|
|
127
|
+
this.fullscreenChanged.emit(this.fullscreen);
|
|
122
128
|
}
|
|
123
129
|
tooltip(val) {
|
|
124
130
|
return this.enableTooltips ? val : '';
|
|
@@ -234,4 +240,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.2.1", ngImpor
|
|
|
234
240
|
}], onSelectionChanged: [{
|
|
235
241
|
type: Output
|
|
236
242
|
}] } });
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsLWVkaXRvci9zcmMvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsLWVkaXRvci9zcmMvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUcsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQTJGLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFJLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQscUZBQXFGO0FBQ3JGLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFRNUMsTUFBTSxPQUFPLGVBQWU7SUF1QzFCLFlBQVk7SUFFWixZQUFpRCxJQUFnQixFQUNqQyxTQUF3QyxFQUNwRCxzQkFBOEMsRUFDOUMsTUFBaUI7UUFGTCxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQUNwRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFyQzVCLFdBQU0sR0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FB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S0FBSztnQkFDRyxlQUFlO3NCQUF2QixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFJSSxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBR0csTUFBTTtzQkFBZixNQUFNO2dCQUNHLGdCQUFnQjtzQkFBekIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLGVBQWU7c0JBQXhCLE1BQU07Z0JBQ0csT0FBTztzQkFBaEIsTUFBTTtnQkFDRyxrQkFBa0I7c0JBQTNCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5qZWN0LCBJbnB1dCwgT25Jbml0LCBPdXRwdXQsIFZpZXdDaGlsZCwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IE1hdERpYWxvZywgTWF0RGlhbG9nUmVmLCBNQVRfRElBTE9HX0RBVEEgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgQWN0aXZlRGlyZWN0b3J5U2VydmljZSwgVXNlciB9IGZyb20gJ0BjbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9hY3RpdmUtZGlyZWN0b3J5JztcblxuaW1wb3J0IHsgQ29udGVudENoYW5nZSwgQmx1ciwgRm9jdXMsIEVkaXRvckNoYW5nZUNvbnRlbnQsIEVkaXRvckNoYW5nZVNlbGVjdGlvbiwgU2VsZWN0aW9uQ2hhbmdlLCBRdWlsbEVkaXRvckNvbXBvbmVudCB9IGZyb20gJ25neC1xdWlsbCc7XG5cbmltcG9ydCAncXVpbGwtbWVudGlvbic7XG5pbXBvcnQgUXVpbGwgZnJvbSAncXVpbGwnO1xuaW1wb3J0IHsgSW1hZ2VEcm9wIH0gZnJvbSAncXVpbGwtaW1hZ2UtZHJvcC1tb2R1bGUnO1xuXG4vLyBUaGlzIGRvZXNuJ3Qgd29yayB3aGVuIGRvbmUgZnJvbSB0aGUgbGlicmFyeSAtIGl0IG11c3QgYmUgZG9uZSBmcm9tIHRoZSBjbGllbnQgYXBwXG4vL2ltcG9ydCBJbWFnZVJlc2l6ZSBmcm9tICdxdWlsbC1pbWFnZS1yZXNpemUtbW9kdWxlJztcbi8vUXVpbGwucmVnaXN0ZXIoJ21vZHVsZXMvaW1hZ2VSZXNpemUnLCBJbWFnZVJlc2l6ZSk7XG5cbmltcG9ydCB7IENvbmZpZyB9IGZyb20gJy4uLy4uL21vZGVsL2NvbmZpZyc7XG5pbXBvcnQgeyBEaWFsb2dEYXRhIH0gZnJvbSAnLi4vLi4vbW9kZWwvZGlhbG9nLWRhdGEnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdjcHF1aWxsLWVkaXRvcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lZGl0b3IuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9lZGl0b3IuY29tcG9uZW50LmNzcyddXG59KVxuZXhwb3J0IGNsYXNzIEVkaXRvckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG4gIEBWaWV3Q2hpbGQoUXVpbGxFZGl0b3JDb21wb25lbnQsIHsgc3RhdGljOiBmYWxzZSB9KSBlZGl0b3I6IFF1aWxsRWRpdG9yQ29tcG9uZW50IHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIGZvcm1Hcm91cCE6IEZvcm1Hcm91cDtcbiAgQElucHV0KCkgY29udHJvbE5hbWUhOiBzdHJpbmc7XG4gIEBJbnB1dCgpIG5nTW9kZWxWYWx1ZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gIEBJbnB1dCgpIGNvbmZpZzogQ29uZmlnID0gbmV3IENvbmZpZygpO1xuICBASW5wdXQoKSBwbGFjZWhvbGRlcjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICBASW5wdXQoKSB1c2VyczogVXNlcltdIHwgdW5kZWZpbmVkO1xuXG4gIC8vI3JlZ2lvbiBUaGVzZSBjYW4gYmUgcGFzc2VkIGluIGFzIEBJbnB1dCgpLCBvciB1c2UgdmFsdWVzIGZyb20gY29uZmlnXG4gIEBJbnB1dCgpIGZvcm1hdDogJ29iamVjdCcgfCAnaHRtbCcgfCAndGV4dCcgfCAnanNvbicgPSB0aGlzLmNvbmZpZy5mb3JtYXQ7XG4gIEBJbnB1dCgpIGhlaWdodCA9IHRoaXMuY29uZmlnLmhlaWdodDtcbiAgQElucHV0KCkgd2lkdGggPSB0aGlzLmNvbmZpZy53aWR0aDtcbiAgQElucHV0KCkgbWF4SGVpZ2h0ID0gdGhpcy5jb25maWcubWF4SGVpZ2h0O1xuICBASW5wdXQoKSBtYXhXaWR0aCA9IHRoaXMuY29uZmlnLm1heFdpZHRoO1xuICBASW5wdXQoKSBlbmFibGVUb29sdGlwcyA9IHRoaXMuY29uZmlnLmVuYWJsZVRvb2x0aXBzO1xuICBASW5wdXQoKSBmdWxsc2NyZWVuID0gdGhpcy5jb25maWcuZnVsbHNjcmVlbjtcbiAgQElucHV0KCkgZnVsbHNjcmVlbk1vZGU6ICdleHBhbmQnIHwgJ3BvcG91dCcgPSB0aGlzLmNvbmZpZy5mdWxsc2NyZWVuTW9kZTtcbiAgQElucHV0KCkgcmVhZG9ubHkgPSB0aGlzLmNvbmZpZy5yZWFkb25seTtcblxuICAvLyNyZWdpb24gT3B0aW9uYWwgUXVpbGwgbW9kdWxlc1xuICBASW5wdXQoKSBpbWFnZVJlc2l6ZU1vZHVsZSA9IHRoaXMuY29uZmlnLmltYWdlUmVzaXplTW9kdWxlO1xuICBASW5wdXQoKSBpbWFnZURyb3BNb2R1bGUgPSB0aGlzLmNvbmZpZy5pbWFnZURyb3BNb2R1bGU7XG4gIEBJbnB1dCgpIG1lbnRpb25Nb2R1bGUgPSB0aGlzLmNvbmZpZy5tZW50aW9uTW9kdWxlO1xuICBASW5wdXQoKSBzeW50YXhNb2R1bGUgPSB0aGlzLmNvbmZpZy5zeW50YXhNb2R1bGU7XG4gIC8vI2VuZHJlZ2lvblxuICAvLyNlbmRyZWdpb25cblxuICBAT3V0cHV0KCkgZnVsbHNjcmVlbkNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgLy8jcmVnaW9uIFBhc3N0aHJvdWdoIGV2ZW50c1xuICBAT3V0cHV0KCkgb25CbHVyID0gbmV3IEV2ZW50RW1pdHRlcjxCbHVyPigpO1xuICBAT3V0cHV0KCkgb25Db250ZW50Q2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8Q29udGVudENoYW5nZT4oKTtcbiAgQE91dHB1dCgpIG9uRWRpdG9yQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8RWRpdG9yQ2hhbmdlQ29udGVudCB8IEVkaXRvckNoYW5nZVNlbGVjdGlvbj4oKTtcbiAgQE91dHB1dCgpIG9uRWRpdG9yQ3JlYXRlZCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcbiAgQE91dHB1dCgpIG9uRm9jdXMgPSBuZXcgRXZlbnRFbWl0dGVyPEZvY3VzPigpO1xuICBAT3V0cHV0KCkgb25TZWxlY3Rpb25DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxTZWxlY3Rpb25DaGFuZ2U+KCk7XG4gIC8vI2VuZHJlZ2lvblxuICBcbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdChNQVRfRElBTE9HX0RBVEEpIGRhdGE6IERpYWxvZ0RhdGEsXG4gICAgICAgICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgZGlhbG9nUmVmOiBNYXREaWFsb2dSZWY8RWRpdG9yQ29tcG9uZW50PixcbiAgICAgICAgICAgICAgcHJpdmF0ZSBhY3RpdmVEaXJlY3RvcnlTZXJ2aWNlOiBBY3RpdmVEaXJlY3RvcnlTZXJ2aWNlLFxuICAgICAgICAgICAgICBwcml2YXRlIGRpYWxvZzogTWF0RGlhbG9nKSB7XG4gICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xuICAgICAgICAgICAgICAgIFF1aWxsLnJlZ2lzdGVyKCdtb2R1bGVzL2ltYWdlRHJvcCcsIEltYWdlRHJvcCk7XG4gICAgICAgICAgICAgIH1cblxuICAgIGlmIChkYXRhKSB7XG4gICAgICB0aGlzLmZvcm1Hcm91cCA9IGRhdGEuZm9ybUdyb3VwO1xuICAgICAgdGhpcy5jb250cm9sTmFtZSA9IGRhdGEuY29udHJvbE5hbWU7XG4gICAgICB0aGlzLm5nTW9kZWxWYWx1ZSA9IGRhdGEudmFsdWU7XG5cbiAgICAgIHRoaXMuY29uZmlnID0gZGF0YS5jb25maWc7XG4gICAgICB0aGlzLnBsYWNlaG9sZGVyID0gZGF0YS5wbGFjZWhvbGRlcjtcbiAgICAgIHRoaXMuZm9ybWF0ID0gZGF0YS5mb3JtYXQ7XG4gICAgICB0aGlzLmhlaWdodCA9IGRhdGEuaGVpZ2h0O1xuICAgICAgdGhpcy53aWR0aCA9IGRhdGEud2lkdGg7XG4gICAgICB0aGlzLm1heEhlaWdodCA9IGRhdGEubWF4SGVpZ2h0O1xuICAgICAgdGhpcy5tYXhXaWR0aCA9IGRhdGEubWF4V2lkdGg7XG4gICAgICB0aGlzLmVuYWJsZVRvb2x0aXBzID0gZGF0YS5lbmFibGVUb29sdGlwcztcbiAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IGRhdGEuZnVsbHNjcmVlbjtcbiAgICAgIHRoaXMuZnVsbHNjcmVlbk1vZGUgPSBkYXRhLmZ1bGxzY3JlZW5Nb2RlO1xuICAgICAgdGhpcy5yZWFkb25seSA9IGRhdGEucmVhZG9ubHk7XG4gICAgICB0aGlzLnVzZXJzID0gZGF0YS51c2VycztcbiAgICB9XG4gIH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMudXNlcnMpIHtcbiAgICAgIHRoaXMuYWN0aXZlRGlyZWN0b3J5U2VydmljZS5nZXRVc2VycygpLnN1YnNjcmliZSh1c2VycyA9PlxuICAgICAgICB0aGlzLnVzZXJzID0gdXNlcnNcbiAgICAgICk7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlRnVsbHNjcmVlbigpOiB2b2lkIHtcbiAgICB0aGlzLmZ1bGxzY3JlZW4gPSAhdGhpcy5mdWxsc2NyZWVuO1xuICAgIHRoaXMuZnVsbHNjcmVlbkNoYW5nZWQuZW1pdCh0aGlzLmZ1bGxzY3JlZW4pO1xuXG4gICAgaWYgKHRoaXMuZnVsbHNjcmVlbk1vZGUgPT09ICdwb3BvdXQnKSB7XG4gICAgICBpZiAodGhpcy5kaWFsb2dSZWYpIHtcbiAgICAgICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UodGhpcy5mb3JtR3JvdXAgP1xuICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmNvbnRyb2xOYW1lKT8udmFsdWUgOlxuICAgICAgICAgIHRoaXMubmdNb2RlbFZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG5cbiAgICAgICAgY29uc3QgZGF0YTogRGlhbG9nRGF0YSA9IHtcbiAgICAgICAgICBmb3JtR3JvdXA6IHRoaXMuZm9ybUdyb3VwLFxuICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbnRyb2xOYW1lLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLm5nTW9kZWxWYWx1ZSxcblxuICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWcsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdCxcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMubWF4SGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLm1heEhlaWdodCxcbiAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgICAgIGVuYWJsZVRvb2x0aXBzOiB0aGlzLmVuYWJsZVRvb2x0aXBzLFxuICAgICAgICAgIGZ1bGxzY3JlZW46IHRoaXMuZnVsbHNjcmVlbixcbiAgICAgICAgICBmdWxsc2NyZWVuTW9kZTogdGhpcy5mdWxsc2NyZWVuTW9kZSxcbiAgICAgICAgICByZWFkb25seTogdGhpcy5yZWFkb25seSxcbiAgICAgICAgICB1c2VyczogdGhpcy51c2Vyc1xuICAgICAgICB9O1xuXG4gICAgICAgIHRoaXMuZGlhbG9nLm9wZW4oRWRpdG9yQ29tcG9uZW50LCB7XG4gICAgICAgICAgZGlzYWJsZUNsb3NlOiB0cnVlLFxuICAgICAgICAgIHdpZHRoOiB0aGlzLm1heFdpZHRoLFxuICAgICAgICAgIGhlaWdodDogJzkwdmgnLFxuICAgICAgICAgIGRhdGFcbiAgICAgICAgfSlcbiAgICAgICAgLmFmdGVyQ2xvc2VkKClcbiAgICAgICAgLnN1YnNjcmliZSh2YWx1ZSA9PiB7XG4gICAgICAgICAgdGhpcy5mdWxsc2NyZWVuID0gZmFsc2U7XG5cbiAgICAgICAgICBpZiAodGhpcy5mb3JtR3JvdXApIHtcbiAgICAgICAgICAgIHRoaXMuZm9ybUdyb3VwLmdldCh0aGlzLmNvbnRyb2xOYW1lKT8uc2V0VmFsdWUodmFsdWUpO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLm5nTW9kZWxWYWx1ZSA9IHZhbHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdG9vbHRpcCh2YWw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHRoaXMuZW5hYmxlVG9vbHRpcHMgPyB2YWwgOiAnJztcbiAgfVxuXG4gIGdldCBtb2R1bGVzKCkge1xuICAgIGlmICghdGhpcy51c2VycykgeyByZXR1cm4gdW5kZWZpbmVkOyB9XG5cbiAgICBjb25zdCBtb2R1bGVzID0geyB9O1xuXG4gICAgaWYgKHRoaXMuaW1hZ2VSZXNpemVNb2R1bGUpIHtcbiAgICAgIG1vZHVsZXNbJ2ltYWdlUmVzaXplJ10gPSB7fTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5pbWFnZURyb3BNb2R1bGUpIHtcbiAgICAgIG1vZHVsZXNbJ2ltYWdlRHJvcCddID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zeW50YXhNb2R1bGUpIHtcbiAgICAgIG1vZHVsZXNbJ3N5bnRheCddID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5tZW50aW9uTW9kdWxlKSB7XG4gICAgICBtb2R1bGVzWydtZW50aW9uJ10gPSB7XG4gICAgICAgIGFsbG93ZWRDaGFyczogL15bQS1aYS16XFxzw4XDhMOWw6XDpMO2XSokLyxcblxuICAgICAgICBvblNlbGVjdDogKGl0ZW06IERPTVN0cmluZ01hcCwgaW5zZXJ0SXRlbTogYW55KSA9PiB7XG4gICAgICAgICAgY29uc3QgZWRpdG9yID0gdGhpcy5lZGl0b3IhLnF1aWxsRWRpdG9yXG4gICAgICAgICAgaW5zZXJ0SXRlbShpdGVtKVxuICAgICAgICAgIC8vIG5lY2Vzc2FyeSBiZWNhdXNlIHF1aWxsLW1lbnRpb24gdHJpZ2dlcnMgY2hhbmdlcyBhcyAnYXBpJyBpbnN0ZWFkIG9mICd1c2VyJ1xuICAgICAgICAgIGVkaXRvci5pbnNlcnRUZXh0KGVkaXRvci5nZXRMZW5ndGgoKSAtIDEsICcnLCAndXNlcicpXG4gICAgICAgIH0sXG5cbiAgICAgICAgc291cmNlOiAoc2VhcmNoVGVybTogc3RyaW5nLCByZW5kZXJMaXN0OiBhbnkpID0+IHtcbiAgICAgICAgICBpZiAoc2VhcmNoVGVybS5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgIHJlbmRlckxpc3QodGhpcy51c2Vycz8ubWFwKHUgPT4gKHsgdmFsdWU6IGAke3UuZGlzcGxheU5hbWV9ICgke3Uuc0FNQWNjb3VudE5hbWUudG9Mb3dlckNhc2UoKX0pYCB9KSksIHNlYXJjaFRlcm0pXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGNvbnN0IG1hdGNoZXM6IGFueVtdID0gW11cblxuICAgICAgICAgICAgdGhpcy51c2VycyEuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgICAgICAgICAgaWYgKFxuICAgICAgICAgICAgICAgIGVudHJ5LmRpc3BsYXlOYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMSB8fFxuICAgICAgICAgICAgICAgIGVudHJ5LnNBTUFjY291bnROYW1lLnRvTG93ZXJDYXNlKCkuaW5kZXhPZihzZWFyY2hUZXJtLnRvTG93ZXJDYXNlKCkpICE9PSAtMVxuICAgICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIG1hdGNoZXMucHVzaCh7IHZhbHVlOiBgJHtlbnRyeS5kaXNwbGF5TmFtZX0gKCR7ZW50cnkuc0FNQWNjb3VudE5hbWUudG9Mb3dlckNhc2UoKX0pYCB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KVxuXG4gICAgICAgICAgICByZW5kZXJMaXN0KG1hdGNoZXMsIHNlYXJjaFRlcm0pXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9O1xuICAgIH1cblxuICAgIHJldHVybiBtb2R1bGVzO1xuICB9XG59IiwiPG5nLWNvbnRhaW5lciAqbmdJZj1cInVzZXJzXCI+XG4gICAgPCEtLSBSZWFjdGl2ZSBmb3JtcyAtLT5cbiAgICA8Zm9ybSAqbmdJZj1cImZvcm1Hcm91cFwiIFtmb3JtR3JvdXBdPVwiZm9ybUdyb3VwXCI+XG4gICAgICAgIDxxdWlsbC1lZGl0b3JcbiAgICAgICAgICAgIFtmb3JtQ29udHJvbE5hbWVdPVwiY29udHJvbE5hbWVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0XCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZnVsbHNjcmVlbiA/IG1heEhlaWdodCA6IGhlaWdodFwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiZnVsbHNjcmVlbiA/IG1heFdpZHRoIDogd2lkdGhcIlxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICBcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25CbHVyLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJvbkNvbnRlbnRDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25FZGl0b3JDaGFuZ2VkKT1cIm9uRWRpdG9yQ2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJvbkVkaXRvckNyZWF0ZWQuZW1pdCgpXCJcbiAgICAgICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiPlxuICAgIFxuICAgICAgICAgICAgPGRpdiBxdWlsbC1lZGl0b3ItdG9vbGJhcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2xiYXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVkaXRvclNpemVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3F1aWxsLWVkaXRvcj5cbiAgICA8L2Zvcm0+XG4gICAgXG4gICAgPCEtLSBOZ01vZGVsIGZvcm1zIC0tPlxuICAgIDxmb3JtICpuZ0lmPVwiIWZvcm1Hcm91cFwiPlxuICAgICAgICA8cXVpbGwtZWRpdG9yIG5hbWU9XCJlZGl0b3JcIlxuICAgICAgICAgICAgWyhuZ01vZGVsKV09XCJuZ01vZGVsVmFsdWVcIlxuICAgICAgICAgICAgW3BsYWNlaG9sZGVyXT1cInBsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgIFtmb3JtYXRdPVwiZm9ybWF0XCJcbiAgICAgICAgICAgIFtzdHlsZS5oZWlnaHRdPVwiZnVsbHNjcmVlbiA/IG1heEhlaWdodCA6IGhlaWdodFwiXG4gICAgICAgICAgICBbc3R5bGUud2lkdGhdPVwiZnVsbHNjcmVlbiA/IG1heFdpZHRoIDogd2lkdGhcIlxuICAgICAgICAgICAgW3JlYWRPbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIFtjbGFzcy5yZWFkb25seV09XCJyZWFkb25seVwiXG4gICAgICAgICAgICBbbW9kdWxlc109XCJtb2R1bGVzXCJcbiAgICBcbiAgICAgICAgICAgIChvbkJsdXIpPVwib25CbHVyLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25Db250ZW50Q2hhbmdlZCk9XCJvbkNvbnRlbnRDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25FZGl0b3JDaGFuZ2VkKT1cIm9uRWRpdG9yQ2hhbmdlZC5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKG9uRWRpdG9yQ3JlYXRlZCk9XCJvbkVkaXRvckNyZWF0ZWQuZW1pdCgpXCJcbiAgICAgICAgICAgIChvbkZvY3VzKT1cIm9uRm9jdXMuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvblNlbGVjdGlvbkNoYW5nZWQpPVwib25TZWxlY3Rpb25DaGFuZ2VkLmVtaXQoJGV2ZW50KVwiPlxuICAgIFxuICAgICAgICAgICAgPGRpdiBxdWlsbC1lZGl0b3ItdG9vbGJhcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInRvb2xiYXJcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImVkaXRvclNpemVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L3F1aWxsLWVkaXRvcj5cbiAgICA8L2Zvcm0+XG48L25nLWNvbnRhaW5lcj5cblxuPG5nLXRlbXBsYXRlICN0b29sYmFyPlxuICAgIDxkaXY+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFN0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiYmxvY2tTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInNjcmlwdFN0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaW5kZW50U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJydGxcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U2l6ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImhlYWRpbmdcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJjb2xvclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJhbGlnblwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNsZWFuXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxudC1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9ybXVsYVwiPjwvbnQtY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIm1lZGlhXCI+PC9uZy1jb250YWluZXI+XG4gICAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZvbnRTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93Rm9udFN0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1ib2xkXCIgICAgICAqbmdJZj1cImNvbmZpZy5idXR0b25zLmJvbGRcIiAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmJvbGQpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pdGFsaWNcIiAgICAqbmdJZj1cImNvbmZpZy5idXR0b25zLml0YWxpY1wiICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLml0YWxpYylcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLXVuZGVybGluZVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMudW5kZXJsaW5lXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMudW5kZXJsaW5lKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc3RyaWtlXCIgICAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5zdHJpa2VcIiAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5zdHJpa2UpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNibG9ja1N0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dCbG9ja1N0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1ibG9ja3F1b3RlXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5ibG9ja3F1b3RlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuYmxvY2txdW90ZSlcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNvZGUtYmxvY2tcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmNvZGVibG9ja1wiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5jb2RlYmxvY2spXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkaW5nU3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd1F1aWNrSGVhZGluZ1N0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjFcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmgxXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaDEpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1oZWFkZXJcIiB2YWx1ZT1cIjJcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmgyXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaDIpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNsaXN0U3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd0xpc3RTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwib3JkZXJlZFwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMub3JkZXJlZFwiICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5vcmRlcmVkKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlzdFwiIHZhbHVlPVwiYnVsbGV0XCIgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuYnVsbGV0ZWRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5idWxsZXRlZClcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3NjcmlwdFN0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dTY3JpcHRTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc2NyaXB0XCIgdmFsdWU9XCJzdWJcIiAgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuc3ViU2NyaXB0XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuc3ViU2NyaXB0KVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtc2NyaXB0XCIgdmFsdWU9XCJzdXBlclwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuc3VwZXJTY3JpcHRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5zdXBlclNjcmlwdClcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuICAgIFxuPG5nLXRlbXBsYXRlICNpbmRlbnRTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93SW5kZW50U3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWluZGVudFwiIHZhbHVlPVwiLTFcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmRlY3JlYXNlSW5kZW50XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuZGVjcmVhc2VJbmRlbnQpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1pbmRlbnRcIiB2YWx1ZT1cIisxXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5pbmNyZWFzZUluZGVudFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmluY3JlYXNlSW5kZW50KVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjcnRsPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMucnRsXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1kaXJlY3Rpb25cIiB2YWx1ZT1cInJ0bFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnJ0bClcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2ZvbnRTaXplPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuZm9udFNpemVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5mb250U2l6ZSlcIj5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLXNpemVcIj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzbWFsbFwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJsYXJnZVwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImh1Z2VcIj48L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNoZWFkaW5nPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaGVhZGluZ1N0eWxlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaGVhZGluZ1N0eWxlKVwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtaGVhZGVyXCI+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMVwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjJcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIzXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNFwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjVcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI2XCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPVwic2VsZWN0ZWRcIj48L29wdGlvbj5cbiAgICAgICAgPC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNjb2xvcj5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmNvbG9yXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuY29sb3IpXCI+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1jb2xvclwiPjwvc2VsZWN0PlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYmFja2dyb3VuZFwiPjwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udD5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmZvbnRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5mb250KVwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtZm9udFwiPlxuICAgICAgICAgICAgPG9wdGlvbiBzZWxlY3RlZD48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJzZXJpZlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIm1vbm9zcGFjZVwiPjwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2FsaWduPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuYWxpZ25cIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5hbGlnbilcIj5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWFsaWduXCI+XG4gICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImNlbnRlclwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInJpZ2h0XCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwianVzdGlmeVwiPjwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NsZWFuPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuY2xlYW5cIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5jbGVhbilcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWNsZWFuXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNtZWRpYT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93TWVkaWFcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWxpbmtcIiAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5saW5rXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMubGluaylcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWltYWdlXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5pbWFnZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmltYWdlKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdmlkZW9cIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLnZpZGVvXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMudmlkZW8pXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNlZGl0b3JTaXplPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuZWRpdG9yU2l6ZVwiPlxuICAgICAgICA8YnV0dG9uIGlkPVwiZnVsbHNjcmVlblwiXG4gICAgICAgICAgICBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGZ1bGxzY3JlZW4gP1xuICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcgPyBjb25maWcudG9vbHRpcHMubWluaW1pemUgOiBjb25maWcudG9vbHRpcHMucG9waW4pIDpcbiAgICAgICAgICAgICAgICAoZnVsbHNjcmVlbk1vZGUgPT09ICdleHBhbmQnID8gY29uZmlnLnRvb2x0aXBzLm1heGltaXplIDogY29uZmlnLnRvb2x0aXBzLnBvcG91dCkpXCI+XG5cbiAgICAgICAgICAgIDxtYXQtaWNvbiAoY2xpY2spPVwidG9nZ2xlRnVsbHNjcmVlbigpXCI+XG4gICAgICAgICAgICAgICAge3sgZnVsbHNjcmVlbiA/XG4gICAgICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcgPyBjb25maWcuaWNvbnMubWluaW1pemUgOiBjb25maWcuaWNvbnMucG9waW4pIDpcbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZy5pY29ucy5tYXhpbWl6ZSA6IGNvbmZpZy5pY29ucy5wb3BvdXQpXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIDwvbWF0LWljb24+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9ybXVsYT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmZvcm11bGFcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5mb3JtdWxhKVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtZm9ybXVsYVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+Il19
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdG9yLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsLWVkaXRvci9zcmMvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NsZWF2ZWxhbmRwcmljZS9uZ3gtbGliL3F1aWxsLWVkaXRvci9zcmMvY29tcG9uZW50cy9lZGl0b3IvZWRpdG9yLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFNUcsT0FBTyxFQUEyQixlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUdwRixPQUFPLEVBQTJGLG9CQUFvQixFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRTFJLE9BQU8sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sS0FBSyxNQUFNLE9BQU8sQ0FBQztBQUMxQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFFcEQscUZBQXFGO0FBQ3JGLHNEQUFzRDtBQUN0RCxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7Ozs7Ozs7QUFRNUMsTUFBTSxPQUFPLGVBQWU7SUF1QzFCLFlBQVk7SUFFWixZQUFpRCxJQUFnQixFQUNqQyxTQUF3QyxFQUNwRCxzQkFBOEMsRUFDOUMsTUFBaUI7UUFGTCxjQUFTLEdBQVQsU0FBUyxDQUErQjtRQUNwRCwyQkFBc0IsR0FBdEIsc0JBQXNCLENBQXdCO1FBQzlDLFdBQU0sR0FBTixNQUFNLENBQVc7UUFyQzVCLFdBQU0sR0FBVyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FB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QUVHLE1BQU07c0JBQWQsS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFHRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csTUFBTTtzQkFBZCxLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxTQUFTO3NCQUFqQixLQUFLO2dCQUNHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBQ0csY0FBYztzQkFBdEIsS0FBSztnQkFDRyxVQUFVO3NCQUFsQixLQUFLO2dCQUNHLGNBQWM7c0JBQXRCLEtBQUs7Z0JBQ0csUUFBUTtzQkFBaEIsS0FBSztnQkFHRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csZUFBZTtzQkFBdkIsS0FBSztnQkFDRyxhQUFhO3NCQUFyQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBSUksaUJBQWlCO3NCQUExQixNQUFNO2dCQUdHLE1BQU07c0JBQWYsTUFBTTtnQkFDRyxnQkFBZ0I7c0JBQXpCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyxlQUFlO3NCQUF4QixNQUFNO2dCQUNHLE9BQU87c0JBQWhCLE1BQU07Z0JBQ0csa0JBQWtCO3NCQUEzQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEluamVjdCwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGQsIE9wdGlvbmFsIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5pbXBvcnQgeyBNYXREaWFsb2csIE1hdERpYWxvZ1JlZiwgTUFUX0RJQUxPR19EQVRBIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IEFjdGl2ZURpcmVjdG9yeVNlcnZpY2UsIFVzZXIgfSBmcm9tICdAY2xlYXZlbGFuZHByaWNlL25neC1saWIvYWN0aXZlLWRpcmVjdG9yeSc7XG5cbmltcG9ydCB7IENvbnRlbnRDaGFuZ2UsIEJsdXIsIEZvY3VzLCBFZGl0b3JDaGFuZ2VDb250ZW50LCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24sIFNlbGVjdGlvbkNoYW5nZSwgUXVpbGxFZGl0b3JDb21wb25lbnQgfSBmcm9tICduZ3gtcXVpbGwnO1xuXG5pbXBvcnQgJ3F1aWxsLW1lbnRpb24nO1xuaW1wb3J0IFF1aWxsIGZyb20gJ3F1aWxsJztcbmltcG9ydCB7IEltYWdlRHJvcCB9IGZyb20gJ3F1aWxsLWltYWdlLWRyb3AtbW9kdWxlJztcblxuLy8gVGhpcyBkb2Vzbid0IHdvcmsgd2hlbiBkb25lIGZyb20gdGhlIGxpYnJhcnkgLSBpdCBtdXN0IGJlIGRvbmUgZnJvbSB0aGUgY2xpZW50IGFwcFxuLy9pbXBvcnQgSW1hZ2VSZXNpemUgZnJvbSAncXVpbGwtaW1hZ2UtcmVzaXplLW1vZHVsZSc7XG4vL1F1aWxsLnJlZ2lzdGVyKCdtb2R1bGVzL2ltYWdlUmVzaXplJywgSW1hZ2VSZXNpemUpO1xuXG5pbXBvcnQgeyBDb25maWcgfSBmcm9tICcuLi8uLi9tb2RlbC9jb25maWcnO1xuaW1wb3J0IHsgRGlhbG9nRGF0YSB9IGZyb20gJy4uLy4uL21vZGVsL2RpYWxvZy1kYXRhJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnY3BxdWlsbC1lZGl0b3InLFxuICB0ZW1wbGF0ZVVybDogJy4vZWRpdG9yLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vZWRpdG9yLmNvbXBvbmVudC5jc3MnXVxufSlcbmV4cG9ydCBjbGFzcyBFZGl0b3JDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xuICBAVmlld0NoaWxkKFF1aWxsRWRpdG9yQ29tcG9uZW50LCB7IHN0YXRpYzogZmFsc2UgfSkgZWRpdG9yOiBRdWlsbEVkaXRvckNvbXBvbmVudCB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBmb3JtR3JvdXAhOiBGb3JtR3JvdXA7XG4gIEBJbnB1dCgpIGNvbnRyb2xOYW1lITogc3RyaW5nO1xuICBASW5wdXQoKSBuZ01vZGVsVmFsdWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuICBASW5wdXQoKSBjb25maWc6IENvbmZpZyA9IG5ldyBDb25maWcoKTtcbiAgQElucHV0KCkgcGxhY2Vob2xkZXI6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgQElucHV0KCkgdXNlcnM6IFVzZXJbXSB8IHVuZGVmaW5lZDtcblxuICAvLyNyZWdpb24gVGhlc2UgY2FuIGJlIHBhc3NlZCBpbiBhcyBASW5wdXQoKSwgb3IgdXNlIHZhbHVlcyBmcm9tIGNvbmZpZ1xuICBASW5wdXQoKSBmb3JtYXQ6ICdvYmplY3QnIHwgJ2h0bWwnIHwgJ3RleHQnIHwgJ2pzb24nID0gdGhpcy5jb25maWcuZm9ybWF0O1xuICBASW5wdXQoKSBoZWlnaHQgPSB0aGlzLmNvbmZpZy5oZWlnaHQ7XG4gIEBJbnB1dCgpIHdpZHRoID0gdGhpcy5jb25maWcud2lkdGg7XG4gIEBJbnB1dCgpIG1heEhlaWdodCA9IHRoaXMuY29uZmlnLm1heEhlaWdodDtcbiAgQElucHV0KCkgbWF4V2lkdGggPSB0aGlzLmNvbmZpZy5tYXhXaWR0aDtcbiAgQElucHV0KCkgZW5hYmxlVG9vbHRpcHMgPSB0aGlzLmNvbmZpZy5lbmFibGVUb29sdGlwcztcbiAgQElucHV0KCkgZnVsbHNjcmVlbiA9IHRoaXMuY29uZmlnLmZ1bGxzY3JlZW47XG4gIEBJbnB1dCgpIGZ1bGxzY3JlZW5Nb2RlOiAnZXhwYW5kJyB8ICdwb3BvdXQnID0gdGhpcy5jb25maWcuZnVsbHNjcmVlbk1vZGU7XG4gIEBJbnB1dCgpIHJlYWRvbmx5ID0gdGhpcy5jb25maWcucmVhZG9ubHk7XG5cbiAgLy8jcmVnaW9uIE9wdGlvbmFsIFF1aWxsIG1vZHVsZXNcbiAgQElucHV0KCkgaW1hZ2VSZXNpemVNb2R1bGUgPSB0aGlzLmNvbmZpZy5pbWFnZVJlc2l6ZU1vZHVsZTtcbiAgQElucHV0KCkgaW1hZ2VEcm9wTW9kdWxlID0gdGhpcy5jb25maWcuaW1hZ2VEcm9wTW9kdWxlO1xuICBASW5wdXQoKSBtZW50aW9uTW9kdWxlID0gdGhpcy5jb25maWcubWVudGlvbk1vZHVsZTtcbiAgQElucHV0KCkgc3ludGF4TW9kdWxlID0gdGhpcy5jb25maWcuc3ludGF4TW9kdWxlO1xuICAvLyNlbmRyZWdpb25cbiAgLy8jZW5kcmVnaW9uXG5cbiAgQE91dHB1dCgpIGZ1bGxzY3JlZW5DaGFuZ2VkID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xuXG4gIC8vI3JlZ2lvbiBQYXNzdGhyb3VnaCBldmVudHNcbiAgQE91dHB1dCgpIG9uQmx1ciA9IG5ldyBFdmVudEVtaXR0ZXI8Qmx1cj4oKTtcbiAgQE91dHB1dCgpIG9uQ29udGVudENoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPENvbnRlbnRDaGFuZ2U+KCk7XG4gIEBPdXRwdXQoKSBvbkVkaXRvckNoYW5nZWQgPSBuZXcgRXZlbnRFbWl0dGVyPEVkaXRvckNoYW5nZUNvbnRlbnQgfCBFZGl0b3JDaGFuZ2VTZWxlY3Rpb24+KCk7XG4gIEBPdXRwdXQoKSBvbkVkaXRvckNyZWF0ZWQgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG4gIEBPdXRwdXQoKSBvbkZvY3VzID0gbmV3IEV2ZW50RW1pdHRlcjxGb2N1cz4oKTtcbiAgQE91dHB1dCgpIG9uU2VsZWN0aW9uQ2hhbmdlZCA9IG5ldyBFdmVudEVtaXR0ZXI8U2VsZWN0aW9uQ2hhbmdlPigpO1xuICAvLyNlbmRyZWdpb25cbiAgXG4gIGNvbnN0cnVjdG9yKEBPcHRpb25hbCgpIEBJbmplY3QoTUFUX0RJQUxPR19EQVRBKSBkYXRhOiBEaWFsb2dEYXRhLFxuICAgICAgICAgICAgICBAT3B0aW9uYWwoKSBwcml2YXRlIGRpYWxvZ1JlZjogTWF0RGlhbG9nUmVmPEVkaXRvckNvbXBvbmVudD4sXG4gICAgICAgICAgICAgIHByaXZhdGUgYWN0aXZlRGlyZWN0b3J5U2VydmljZTogQWN0aXZlRGlyZWN0b3J5U2VydmljZSxcbiAgICAgICAgICAgICAgcHJpdmF0ZSBkaWFsb2c6IE1hdERpYWxvZykge1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICBpZiAodGhpcy5pbWFnZURyb3BNb2R1bGUpIHtcbiAgICAgICAgICAgICAgICBRdWlsbC5yZWdpc3RlcignbW9kdWxlcy9pbWFnZURyb3AnLCBJbWFnZURyb3ApO1xuICAgICAgICAgICAgICB9XG5cbiAgICBpZiAoZGF0YSkge1xuICAgICAgdGhpcy5mb3JtR3JvdXAgPSBkYXRhLmZvcm1Hcm91cDtcbiAgICAgIHRoaXMuY29udHJvbE5hbWUgPSBkYXRhLmNvbnRyb2xOYW1lO1xuICAgICAgdGhpcy5uZ01vZGVsVmFsdWUgPSBkYXRhLnZhbHVlO1xuXG4gICAgICB0aGlzLmNvbmZpZyA9IGRhdGEuY29uZmlnO1xuICAgICAgdGhpcy5wbGFjZWhvbGRlciA9IGRhdGEucGxhY2Vob2xkZXI7XG4gICAgICB0aGlzLmZvcm1hdCA9IGRhdGEuZm9ybWF0O1xuICAgICAgdGhpcy5oZWlnaHQgPSBkYXRhLmhlaWdodDtcbiAgICAgIHRoaXMud2lkdGggPSBkYXRhLndpZHRoO1xuICAgICAgdGhpcy5tYXhIZWlnaHQgPSBkYXRhLm1heEhlaWdodDtcbiAgICAgIHRoaXMubWF4V2lkdGggPSBkYXRhLm1heFdpZHRoO1xuICAgICAgdGhpcy5lbmFibGVUb29sdGlwcyA9IGRhdGEuZW5hYmxlVG9vbHRpcHM7XG4gICAgICB0aGlzLmZ1bGxzY3JlZW4gPSBkYXRhLmZ1bGxzY3JlZW47XG4gICAgICB0aGlzLmZ1bGxzY3JlZW5Nb2RlID0gZGF0YS5mdWxsc2NyZWVuTW9kZTtcbiAgICAgIHRoaXMucmVhZG9ubHkgPSBkYXRhLnJlYWRvbmx5O1xuICAgICAgdGhpcy51c2VycyA9IGRhdGEudXNlcnM7XG4gICAgfVxuICB9XG5cbiAgbmdPbkluaXQoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLnVzZXJzKSB7XG4gICAgICB0aGlzLmFjdGl2ZURpcmVjdG9yeVNlcnZpY2UuZ2V0VXNlcnMoKS5zdWJzY3JpYmUodXNlcnMgPT5cbiAgICAgICAgdGhpcy51c2VycyA9IHVzZXJzXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZUZ1bGxzY3JlZW4oKTogdm9pZCB7XG4gICAgIC8vIERlYnVnXG4gICAgY29uc29sZS5sb2coJ2Z1bGxzY3JlZW5Nb2RlJywgdGhpcy5mdWxsc2NyZWVuTW9kZSk7XG4gICAgY29uc29sZS5sb2coJ2Z1bGxzY3JlZW4nLCB0aGlzLmZ1bGxzY3JlZW4pO1xuICAgIGNvbnNvbGUubG9nKCdkaWFsb2dSZWYnLCB0aGlzLmRpYWxvZ1JlZik7XG5cbiAgICBpZiAodGhpcy5mdWxsc2NyZWVuTW9kZSA9PT0gJ3BvcG91dCcpIHtcbiAgICAgIGlmICh0aGlzLmZ1bGxzY3JlZW4pIHtcbiAgICAgICAgY29uc29sZS5sb2coJ3BhdGgxJyk7IC8vIERlYnVnXG4gICAgICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKHRoaXMuZm9ybUdyb3VwID9cbiAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5jb250cm9sTmFtZSk/LnZhbHVlIDpcbiAgICAgICAgICB0aGlzLm5nTW9kZWxWYWx1ZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zb2xlLmxvZygncGF0aDInKTsgLy8gRGVidWdcbiAgICAgICAgY29uc3QgZGF0YTogRGlhbG9nRGF0YSA9IHtcbiAgICAgICAgICBmb3JtR3JvdXA6IHRoaXMuZm9ybUdyb3VwLFxuICAgICAgICAgIGNvbnRyb2xOYW1lOiB0aGlzLmNvbnRyb2xOYW1lLFxuICAgICAgICAgIHZhbHVlOiB0aGlzLm5nTW9kZWxWYWx1ZSxcblxuICAgICAgICAgIGNvbmZpZzogdGhpcy5jb25maWcsXG4gICAgICAgICAgcGxhY2Vob2xkZXI6IHRoaXMucGxhY2Vob2xkZXIsXG4gICAgICAgICAgZm9ybWF0OiB0aGlzLmZvcm1hdCxcbiAgICAgICAgICBoZWlnaHQ6IHRoaXMubWF4SGVpZ2h0LFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgbWF4SGVpZ2h0OiB0aGlzLm1heEhlaWdodCxcbiAgICAgICAgICBtYXhXaWR0aDogJzEwMCUnLFxuICAgICAgICAgIGVuYWJsZVRvb2x0aXBzOiB0aGlzLmVuYWJsZVRvb2x0aXBzLFxuICAgICAgICAgIGZ1bGxzY3JlZW46IHRydWUsXG4gICAgICAgICAgZnVsbHNjcmVlbk1vZGU6IHRoaXMuZnVsbHNjcmVlbk1vZGUsXG4gICAgICAgICAgcmVhZG9ubHk6IHRoaXMucmVhZG9ubHksXG4gICAgICAgICAgdXNlcnM6IHRoaXMudXNlcnNcbiAgICAgICAgfTtcblxuICAgICAgICB0aGlzLmRpYWxvZy5vcGVuKEVkaXRvckNvbXBvbmVudCwge1xuICAgICAgICAgIGRpc2FibGVDbG9zZTogdHJ1ZSxcbiAgICAgICAgICB3aWR0aDogdGhpcy5tYXhXaWR0aCxcbiAgICAgICAgICBoZWlnaHQ6ICc5MHZoJyxcbiAgICAgICAgICBkYXRhXG4gICAgICAgIH0pXG4gICAgICAgIC5hZnRlckNsb3NlZCgpXG4gICAgICAgIC5zdWJzY3JpYmUodmFsdWUgPT4ge1xuICAgICAgICAgIHRoaXMuZnVsbHNjcmVlbiA9IGZhbHNlO1xuXG4gICAgICAgICAgaWYgKHRoaXMuZm9ybUdyb3VwKSB7XG4gICAgICAgICAgICB0aGlzLmZvcm1Hcm91cC5nZXQodGhpcy5jb250cm9sTmFtZSk/LnNldFZhbHVlKHZhbHVlKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5uZ01vZGVsVmFsdWUgPSB2YWx1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHRoaXMuZnVsbHNjcmVlbiA9ICF0aGlzLmZ1bGxzY3JlZW47XG4gICAgdGhpcy5mdWxsc2NyZWVuQ2hhbmdlZC5lbWl0KHRoaXMuZnVsbHNjcmVlbik7XG4gIH1cblxuICB0b29sdGlwKHZhbDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5lbmFibGVUb29sdGlwcyA/IHZhbCA6ICcnO1xuICB9XG5cbiAgZ2V0IG1vZHVsZXMoKSB7XG4gICAgaWYgKCF0aGlzLnVzZXJzKSB7IHJldHVybiB1bmRlZmluZWQ7IH1cblxuICAgIGNvbnN0IG1vZHVsZXMgPSB7IH07XG5cbiAgICBpZiAodGhpcy5pbWFnZVJlc2l6ZU1vZHVsZSkge1xuICAgICAgbW9kdWxlc1snaW1hZ2VSZXNpemUnXSA9IHt9O1xuICAgIH1cblxuICAgIGlmICh0aGlzLmltYWdlRHJvcE1vZHVsZSkge1xuICAgICAgbW9kdWxlc1snaW1hZ2VEcm9wJ10gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLnN5bnRheE1vZHVsZSkge1xuICAgICAgbW9kdWxlc1snc3ludGF4J10gPSB0cnVlO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm1lbnRpb25Nb2R1bGUpIHtcbiAgICAgIG1vZHVsZXNbJ21lbnRpb24nXSA9IHtcbiAgICAgICAgYWxsb3dlZENoYXJzOiAvXltBLVphLXpcXHPDhcOEw5bDpcOkw7ZdKiQvLFxuXG4gICAgICAgIG9uU2VsZWN0OiAoaXRlbTogRE9NU3RyaW5nTWFwLCBpbnNlcnRJdGVtOiBhbnkpID0+IHtcbiAgICAgICAgICBjb25zdCBlZGl0b3IgPSB0aGlzLmVkaXRvciEucXVpbGxFZGl0b3JcbiAgICAgICAgICBpbnNlcnRJdGVtKGl0ZW0pXG4gICAgICAgICAgLy8gbmVjZXNzYXJ5IGJlY2F1c2UgcXVpbGwtbWVudGlvbiB0cmlnZ2VycyBjaGFuZ2VzIGFzICdhcGknIGluc3RlYWQgb2YgJ3VzZXInXG4gICAgICAgICAgZWRpdG9yLmluc2VydFRleHQoZWRpdG9yLmdldExlbmd0aCgpIC0gMSwgJycsICd1c2VyJylcbiAgICAgICAgfSxcblxuICAgICAgICBzb3VyY2U6IChzZWFyY2hUZXJtOiBzdHJpbmcsIHJlbmRlckxpc3Q6IGFueSkgPT4ge1xuICAgICAgICAgIGlmIChzZWFyY2hUZXJtLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICAgICAgcmVuZGVyTGlzdCh0aGlzLnVzZXJzPy5tYXAodSA9PiAoeyB2YWx1ZTogYCR7dS5kaXNwbGF5TmFtZX0gKCR7dS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pKSwgc2VhcmNoVGVybSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc3QgbWF0Y2hlczogYW55W10gPSBbXVxuXG4gICAgICAgICAgICB0aGlzLnVzZXJzIS5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgZW50cnkuZGlzcGxheU5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xIHx8XG4gICAgICAgICAgICAgICAgZW50cnkuc0FNQWNjb3VudE5hbWUudG9Mb3dlckNhc2UoKS5pbmRleE9mKHNlYXJjaFRlcm0udG9Mb3dlckNhc2UoKSkgIT09IC0xXG4gICAgICAgICAgICAgICAgKSB7XG4gICAgICAgICAgICAgICAgbWF0Y2hlcy5wdXNoKHsgdmFsdWU6IGAke2VudHJ5LmRpc3BsYXlOYW1lfSAoJHtlbnRyeS5zQU1BY2NvdW50TmFtZS50b0xvd2VyQ2FzZSgpfSlgIH0pXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pXG5cbiAgICAgICAgICAgIHJlbmRlckxpc3QobWF0Y2hlcywgc2VhcmNoVGVybSlcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH07XG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZHVsZXM7XG4gIH1cbn0iLCI8bmctY29udGFpbmVyICpuZ0lmPVwidXNlcnNcIj5cbiAgICA8IS0tIFJlYWN0aXZlIGZvcm1zIC0tPlxuICAgIDxmb3JtICpuZ0lmPVwiZm9ybUdyb3VwXCIgW2Zvcm1Hcm91cF09XCJmb3JtR3JvdXBcIj5cbiAgICAgICAgPHF1aWxsLWVkaXRvclxuICAgICAgICAgICAgW2Zvcm1Db250cm9sTmFtZV09XCJjb250cm9sTmFtZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2Zvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJmdWxsc2NyZWVuID8gbWF4SGVpZ2h0IDogaGVpZ2h0XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJmdWxsc2NyZWVuID8gbWF4V2lkdGggOiB3aWR0aFwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuICAgIFxuICAgICAgICAgICAgKG9uQmx1cik9XCJvbkJsdXIuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ29udGVudENoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkVkaXRvckNoYW5nZWQpPVwib25FZGl0b3JDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25FZGl0b3JDcmVhdGVkKT1cIm9uRWRpdG9yQ3JlYXRlZC5lbWl0KClcIlxuICAgICAgICAgICAgKG9uRm9jdXMpPVwib25Gb2N1cy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgXG4gICAgICAgICAgICA8ZGl2IHF1aWxsLWVkaXRvci10b29sYmFyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yU2l6ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcXVpbGwtZWRpdG9yPlxuICAgIDwvZm9ybT5cbiAgICBcbiAgICA8IS0tIE5nTW9kZWwgZm9ybXMgLS0+XG4gICAgPGZvcm0gKm5nSWY9XCIhZm9ybUdyb3VwXCI+XG4gICAgICAgIDxxdWlsbC1lZGl0b3IgbmFtZT1cImVkaXRvclwiXG4gICAgICAgICAgICBbKG5nTW9kZWwpXT1cIm5nTW9kZWxWYWx1ZVwiXG4gICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICAgICAgW2Zvcm1hdF09XCJmb3JtYXRcIlxuICAgICAgICAgICAgW3N0eWxlLmhlaWdodF09XCJmdWxsc2NyZWVuID8gbWF4SGVpZ2h0IDogaGVpZ2h0XCJcbiAgICAgICAgICAgIFtzdHlsZS53aWR0aF09XCJmdWxsc2NyZWVuID8gbWF4V2lkdGggOiB3aWR0aFwiXG4gICAgICAgICAgICBbcmVhZE9ubHldPVwicmVhZG9ubHlcIlxuICAgICAgICAgICAgW2NsYXNzLnJlYWRvbmx5XT1cInJlYWRvbmx5XCJcbiAgICAgICAgICAgIFttb2R1bGVzXT1cIm1vZHVsZXNcIlxuICAgIFxuICAgICAgICAgICAgKG9uQmx1cik9XCJvbkJsdXIuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkNvbnRlbnRDaGFuZ2VkKT1cIm9uQ29udGVudENoYW5nZWQuZW1pdCgkZXZlbnQpXCJcbiAgICAgICAgICAgIChvbkVkaXRvckNoYW5nZWQpPVwib25FZGl0b3JDaGFuZ2VkLmVtaXQoJGV2ZW50KVwiXG4gICAgICAgICAgICAob25FZGl0b3JDcmVhdGVkKT1cIm9uRWRpdG9yQ3JlYXRlZC5lbWl0KClcIlxuICAgICAgICAgICAgKG9uRm9jdXMpPVwib25Gb2N1cy5lbWl0KCRldmVudClcIlxuICAgICAgICAgICAgKG9uU2VsZWN0aW9uQ2hhbmdlZCk9XCJvblNlbGVjdGlvbkNoYW5nZWQuZW1pdCgkZXZlbnQpXCI+XG4gICAgXG4gICAgICAgICAgICA8ZGl2IHF1aWxsLWVkaXRvci10b29sYmFyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwidG9vbGJhclwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZWRpdG9yU2l6ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvcXVpbGwtZWRpdG9yPlxuICAgIDwvZm9ybT5cbjwvbmctY29udGFpbmVyPlxuXG48bmctdGVtcGxhdGUgI3Rvb2xiYXI+XG4gICAgPGRpdj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb250U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJibG9ja1N0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1N0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFN0eWxlXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwic2NyaXB0U3R5bGVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpbmRlbnRTdHlsZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cInJ0bFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvbnRTaXplXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaGVhZGluZ1wiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImNvbG9yXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiZm9udFwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImFsaWduXCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiY2xlYW5cIj48L25nLWNvbnRhaW5lcj5cbiAgICAgICAgPG50LWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJmb3JtdWxhXCI+PC9udC1jb250YWluZXI+XG4gICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibWVkaWFcIj48L25nLWNvbnRhaW5lcj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udFN0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dGb250U3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJvbGRcIiAgICAgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuYm9sZFwiICAgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuYm9sZClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWl0YWxpY1wiICAgICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaXRhbGljXCIgICAgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaXRhbGljKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtdW5kZXJsaW5lXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy51bmRlcmxpbmVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy51bmRlcmxpbmUpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zdHJpa2VcIiAgICAqbmdJZj1cImNvbmZpZy5idXR0b25zLnN0cmlrZVwiICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnN0cmlrZSlcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2Jsb2NrU3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd0Jsb2NrU3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWJsb2NrcXVvdGVcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmJsb2NrcXVvdGVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5ibG9ja3F1b3RlKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY29kZS1ibG9ja1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuY29kZWJsb2NrXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmNvZGVibG9jaylcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRpbmdTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93UXVpY2tIZWFkaW5nU3R5bGVcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaDFcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5oMSlcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWhlYWRlclwiIHZhbHVlPVwiMlwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuaDJcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5oMilcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2xpc3RTdHlsZT5cbiAgICA8c3BhbiBjbGFzcz1cInFsLWZvcm1hdHNcIiAqbmdJZj1cImNvbmZpZy5zaG93TGlzdFN0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saXN0XCIgdmFsdWU9XCJvcmRlcmVkXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5vcmRlcmVkXCIgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLm9yZGVyZWQpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1saXN0XCIgdmFsdWU9XCJidWxsZXRcIiAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5idWxsZXRlZFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmJ1bGxldGVkKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjc2NyaXB0U3R5bGU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuc2hvd1NjcmlwdFN0eWxlXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1YlwiICAgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5zdWJTY3JpcHRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5zdWJTY3JpcHQpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1zY3JpcHRcIiB2YWx1ZT1cInN1cGVyXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5zdXBlclNjcmlwdFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLnN1cGVyU2NyaXB0KVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG4gICAgXG48bmctdGVtcGxhdGUgI2luZGVudFN0eWxlPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dJbmRlbnRTdHlsZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW5kZW50XCIgdmFsdWU9XCItMVwiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuZGVjcmVhc2VJbmRlbnRcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5kZWNyZWFzZUluZGVudClcIj48L2J1dHRvbj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWluZGVudFwiIHZhbHVlPVwiKzFcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmluY3JlYXNlSW5kZW50XCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaW5jcmVhc2VJbmRlbnQpXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNydGw+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5ydGxcIj5cbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInFsLWRpcmVjdGlvblwiIHZhbHVlPVwicnRsXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMucnRsKVwiPjwvYnV0dG9uPlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjZm9udFNpemU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5mb250U2l6ZVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmZvbnRTaXplKVwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtc2l6ZVwiPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNtYWxsXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cImxhcmdlXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiaHVnZVwiPjwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2hlYWRpbmc+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5oZWFkaW5nU3R5bGVcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5oZWFkaW5nU3R5bGUpXCI+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1oZWFkZXJcIj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCIxXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiMlwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjNcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCI0XCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiNVwiPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cIjZcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ9XCJzZWxlY3RlZFwiPjwvb3B0aW9uPlxuICAgICAgICA8L3NlbGVjdD5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2NvbG9yPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuY29sb3JcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5jb2xvcilcIj5cbiAgICAgICAgPHNlbGVjdCBjbGFzcz1cInFsLWNvbG9yXCI+PC9zZWxlY3Q+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1iYWNrZ3JvdW5kXCI+PC9zZWxlY3Q+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb250PlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuZm9udFwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmZvbnQpXCI+XG4gICAgICAgIDxzZWxlY3QgY2xhc3M9XCJxbC1mb250XCI+XG4gICAgICAgICAgICA8b3B0aW9uIHNlbGVjdGVkPjwvb3B0aW9uPlxuICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT1cInNlcmlmXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwibW9ub3NwYWNlXCI+PC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjYWxpZ24+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5hbGlnblwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmFsaWduKVwiPlxuICAgICAgICA8c2VsZWN0IGNsYXNzPVwicWwtYWxpZ25cIj5cbiAgICAgICAgICAgIDxvcHRpb24gc2VsZWN0ZWQ+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwiY2VudGVyXCI+PC9vcHRpb24+XG4gICAgICAgICAgICA8b3B0aW9uIHZhbHVlPVwicmlnaHRcIj48L29wdGlvbj5cbiAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9XCJqdXN0aWZ5XCI+PC9vcHRpb24+XG4gICAgICAgIDwvc2VsZWN0PlxuICAgIDwvc3Bhbj5cbjwvbmctdGVtcGxhdGU+XG5cbjxuZy10ZW1wbGF0ZSAjY2xlYW4+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5jbGVhblwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmNsZWFuKVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtY2xlYW5cIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI21lZGlhPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLnNob3dNZWRpYVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtbGlua1wiICAqbmdJZj1cImNvbmZpZy5idXR0b25zLmxpbmtcIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy5saW5rKVwiPjwvYnV0dG9uPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwicWwtaW1hZ2VcIiAqbmdJZj1cImNvbmZpZy5idXR0b25zLmltYWdlXCIgW21hdFRvb2x0aXBdPVwidG9vbHRpcChjb25maWcudG9vbHRpcHMuaW1hZ2UpXCI+PC9idXR0b24+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC12aWRlb1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMudmlkZW9cIiBbbWF0VG9vbHRpcF09XCJ0b29sdGlwKGNvbmZpZy50b29sdGlwcy52aWRlbylcIj48L2J1dHRvbj5cbiAgICA8L3NwYW4+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI2VkaXRvclNpemU+XG4gICAgPHNwYW4gY2xhc3M9XCJxbC1mb3JtYXRzXCIgKm5nSWY9XCJjb25maWcuYnV0dG9ucy5lZGl0b3JTaXplXCI+XG4gICAgICAgIDxidXR0b24gaWQ9XCJmdWxsc2NyZWVuXCJcbiAgICAgICAgICAgIFttYXRUb29sdGlwXT1cInRvb2x0aXAoZnVsbHNjcmVlbiA/XG4gICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZy50b29sdGlwcy5taW5pbWl6ZSA6IGNvbmZpZy50b29sdGlwcy5wb3BpbikgOlxuICAgICAgICAgICAgICAgIChmdWxsc2NyZWVuTW9kZSA9PT0gJ2V4cGFuZCcgPyBjb25maWcudG9vbHRpcHMubWF4aW1pemUgOiBjb25maWcudG9vbHRpcHMucG9wb3V0KSlcIj5cblxuICAgICAgICAgICAgPG1hdC1pY29uIChjbGljayk9XCJ0b2dnbGVGdWxsc2NyZWVuKClcIj5cbiAgICAgICAgICAgICAgICB7eyBmdWxsc2NyZWVuID9cbiAgICAgICAgICAgICAgICAgICAgKGZ1bGxzY3JlZW5Nb2RlID09PSAnZXhwYW5kJyA/IGNvbmZpZy5pY29ucy5taW5pbWl6ZSA6IGNvbmZpZy5pY29ucy5wb3BpbikgOlxuICAgICAgICAgICAgICAgICAgICAoZnVsbHNjcmVlbk1vZGUgPT09ICdleHBhbmQnID8gY29uZmlnLmljb25zLm1heGltaXplIDogY29uZmlnLmljb25zLnBvcG91dClcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPC9tYXQtaWNvbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT5cblxuPG5nLXRlbXBsYXRlICNmb3JtdWxhPlxuICAgIDxzcGFuIGNsYXNzPVwicWwtZm9ybWF0c1wiICpuZ0lmPVwiY29uZmlnLmJ1dHRvbnMuZm9ybXVsYVwiIFttYXRUb29sdGlwXT1cInRvb2x0aXAoY29uZmlnLnRvb2x0aXBzLmZvcm11bGEpXCI+XG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJxbC1mb3JtdWxhXCI+PC9idXR0b24+XG4gICAgPC9zcGFuPlxuPC9uZy10ZW1wbGF0ZT4iXX0=
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
export class Tooltips {
|
|
2
2
|
constructor() {
|
|
3
3
|
//#region Font Style
|
|
4
|
-
this.bold = '
|
|
4
|
+
this.bold = 'Bold';
|
|
5
5
|
this.italic = 'Italic';
|
|
6
6
|
this.strike = 'Strikethrough';
|
|
7
7
|
this.underline = 'Underline';
|
|
@@ -51,4 +51,4 @@ export class Tooltips {
|
|
|
51
51
|
//#endregion
|
|
52
52
|
}
|
|
53
53
|
}
|
|
54
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
54
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jbGVhdmVsYW5kcHJpY2Uvbmd4LWxpYi9xdWlsbC1lZGl0b3Ivc3JjL21vZGVsL3Rvb2x0aXBzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sT0FBTyxRQUFRO0lBQXJCO1FBQ0ksb0JBQW9CO1FBQ3BCLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxXQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ2xCLFdBQU0sR0FBRyxlQUFlLENBQUM7UUFDekIsY0FBUyxHQUFHLFdBQVcsQ0FBQztRQUN4QixZQUFZO1FBRVosZUFBZTtRQUNmLFNBQUksR0FBRyxNQUFNLENBQUM7UUFDZCxVQUFLLEdBQUcsY0FBYyxDQUFDO1FBQ3ZCLFVBQUssR0FBRyxjQUFjLENBQUM7UUFDdkIsWUFBWTtRQUVaLHFCQUFxQjtRQUNyQixlQUFVLEdBQUcsWUFBWSxDQUFDO1FBQzFCLGNBQVMsR0FBRyxZQUFZLENBQUM7UUFDekIsWUFBWTtRQUVaLHVCQUF1QjtRQUN2QixPQUFFLEdBQUcsV0FBVyxDQUFDO1FBQ2pCLE9BQUUsR0FBRyxXQUFXLENBQUM7UUFDakIsWUFBWTtRQUVaLGVBQWU7UUFDZixVQUFLLEdBQUcseUJBQXlCLENBQUM7UUFDbEMsWUFBWTtRQUVaLG9CQUFvQjtRQUNwQixhQUFRLEdBQUcsZUFBZSxDQUFDO1FBQzNCLFlBQU8sR0FBRyxjQUFjLENBQUM7UUFDekIsWUFBWTtRQUVaLHNCQUFzQjtRQUN0QixjQUFTLEdBQUcsV0FBVyxDQUFDO1FBQ3hCLGdCQUFXLEdBQUcsYUFBYSxDQUFDO1FBQzVCLFlBQVk7UUFFWixzQkFBc0I7UUFDdEIsbUJBQWMsR0FBRyxpQkFBaUIsQ0FBQztRQUNuQyxtQkFBYyxHQUFHLGlCQUFpQixDQUFDO1FBQ25DLFlBQVk7UUFFWixtQkFBbUI7UUFDbkIsVUFBSyxHQUFHLE9BQU8sQ0FBQztRQUNoQixTQUFJLEdBQUcsTUFBTSxDQUFDO1FBQ2QsYUFBUSxHQUFHLFdBQVcsQ0FBQztRQUN2QixpQkFBWSxHQUFHLFNBQVMsQ0FBQztRQUN6QixZQUFZO1FBRVosd0JBQXdCO1FBQ3hCLFVBQUssR0FBRyxPQUFPLENBQUM7UUFDaEIsWUFBTyxHQUFHLFNBQVMsQ0FBQztRQUNwQixRQUFHLEdBQUcsZUFBZSxDQUFDO1FBQ3RCLGFBQVEsR0FBRyxVQUFVLENBQUM7UUFDdEIsYUFBUSxHQUFHLFVBQVUsQ0FBQztRQUN0QixXQUFNLEdBQUcsUUFBUSxDQUFDO1FBQ2xCLFVBQUssR0FBRyxNQUFNLENBQUM7UUFDZixZQUFZO0lBQ2hCLENBQUM7Q0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBUb29sdGlwcyB7XHJcbiAgICAvLyNyZWdpb24gRm9udCBTdHlsZVxyXG4gICAgYm9sZCA9ICdCb2xkJztcclxuICAgIGl0YWxpYyA9ICdJdGFsaWMnO1xyXG4gICAgc3RyaWtlID0gJ1N0cmlrZXRocm91Z2gnO1xyXG4gICAgdW5kZXJsaW5lID0gJ1VuZGVybGluZSc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gTWVkaWFcclxuICAgIGxpbmsgPSAnTGluayc7XHJcbiAgICBpbWFnZSA9ICdJbnNlcnQgSW1hZ2UnO1xyXG4gICAgdmlkZW8gPSAnSW5zZXJ0IFZpZGVvJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBCbG9jayBTdHlsZVxyXG4gICAgYmxvY2txdW90ZSA9ICdCbG9ja3F1b3RlJztcclxuICAgIGNvZGVibG9jayA9ICdDb2RlIEJsb2NrJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBIZWFkaW5nIFN0eWxlXHJcbiAgICBoMSA9ICdIZWFkaW5nIDEnO1xyXG4gICAgaDIgPSAnSGVhZGluZyAyJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBDb2xvclxyXG4gICAgY29sb3IgPSAnRm9udCAvIEJhY2tncm91bmQgQ29sb3InO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIExpc3QgU3R5bGVcclxuICAgIGJ1bGxldGVkID0gJ0J1bGxldGVkIExpc3QnO1xyXG4gICAgb3JkZXJlZCA9ICdPcmRlcmVkIExpc3QnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNjcmlwdCBTdHlsZVxyXG4gICAgc3ViU2NyaXB0ID0gJ1N1YnNjcmlwdCc7XHJcbiAgICBzdXBlclNjcmlwdCA9ICdTdXBlcnNjcmlwdCc7XHJcbiAgICAvLyNlbmRyZWdpb25cclxuXHJcbiAgICAvLyNyZWdpb24gSW5kZW50IFN0eWxlXHJcbiAgICBpbmNyZWFzZUluZGVudCA9ICdJbmNyZWFzZSBJbmRlbnQnO1xyXG4gICAgZGVjcmVhc2VJbmRlbnQgPSAnRGVjcmVhc2UgSW5kZW50JztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG5cclxuICAgIC8vI3JlZ2lvbiBEcm9wRG93bnNcclxuICAgIGFsaWduID0gJ0FsaWduJztcclxuICAgIGZvbnQgPSAnRm9udCc7XHJcbiAgICBmb250U2l6ZSA9ICdGb250IFNpemUnO1xyXG4gICAgaGVhZGluZ1N0eWxlID0gJ0hlYWRpbmcnO1xyXG4gICAgLy8jZW5kcmVnaW9uXHJcblxyXG4gICAgLy8jcmVnaW9uIFNpbmdsZSBCdXR0b25zXHJcbiAgICBjbGVhbiA9ICdDbGVhbic7XHJcbiAgICBmb3JtdWxhID0gJ0Zvcm11bGEnO1xyXG4gICAgcnRsID0gJ1JpZ2h0LVRvLUxlZnQnO1xyXG4gICAgbWF4aW1pemUgPSAnTWF4aW1pemUnO1xyXG4gICAgbWluaW1pemUgPSAnTWluaW1pemUnO1xyXG4gICAgcG9wb3V0ID0gJ1BvcG91dCc7XHJcbiAgICBwb3BpbiA9ICdEb25lJztcclxuICAgIC8vI2VuZHJlZ2lvblxyXG59Il19
|
|
@@ -81,7 +81,7 @@ class Icons {
|
|
|
81
81
|
class Tooltips {
|
|
82
82
|
constructor() {
|
|
83
83
|
//#region Font Style
|
|
84
|
-
this.bold = '
|
|
84
|
+
this.bold = 'Bold';
|
|
85
85
|
this.italic = 'Italic';
|
|
86
86
|
this.strike = 'Strikethrough';
|
|
87
87
|
this.underline = 'Underline';
|
|
@@ -226,15 +226,19 @@ class EditorComponent {
|
|
|
226
226
|
}
|
|
227
227
|
toggleFullscreen() {
|
|
228
228
|
var _a;
|
|
229
|
-
|
|
230
|
-
|
|
229
|
+
// Debug
|
|
230
|
+
console.log('fullscreenMode', this.fullscreenMode);
|
|
231
|
+
console.log('fullscreen', this.fullscreen);
|
|
232
|
+
console.log('dialogRef', this.dialogRef);
|
|
231
233
|
if (this.fullscreenMode === 'popout') {
|
|
232
|
-
if (this.
|
|
234
|
+
if (this.fullscreen) {
|
|
235
|
+
console.log('path1'); // Debug
|
|
233
236
|
this.dialogRef.close(this.formGroup ?
|
|
234
237
|
(_a = this.formGroup.get(this.controlName)) === null || _a === void 0 ? void 0 : _a.value :
|
|
235
238
|
this.ngModelValue);
|
|
236
239
|
}
|
|
237
240
|
else {
|
|
241
|
+
console.log('path2'); // Debug
|
|
238
242
|
const data = {
|
|
239
243
|
formGroup: this.formGroup,
|
|
240
244
|
controlName: this.controlName,
|
|
@@ -247,7 +251,7 @@ class EditorComponent {
|
|
|
247
251
|
maxHeight: this.maxHeight,
|
|
248
252
|
maxWidth: '100%',
|
|
249
253
|
enableTooltips: this.enableTooltips,
|
|
250
|
-
fullscreen:
|
|
254
|
+
fullscreen: true,
|
|
251
255
|
fullscreenMode: this.fullscreenMode,
|
|
252
256
|
readonly: this.readonly,
|
|
253
257
|
users: this.users
|
|
@@ -271,6 +275,8 @@ class EditorComponent {
|
|
|
271
275
|
});
|
|
272
276
|
}
|
|
273
277
|
}
|
|
278
|
+
this.fullscreen = !this.fullscreen;
|
|
279
|
+
this.fullscreenChanged.emit(this.fullscreen);
|
|
274
280
|
}
|
|
275
281
|
tooltip(val) {
|
|
276
282
|
return this.enableTooltips ? val : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleavelandprice-ngx-lib-quill-editor.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/quill-editor.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/cleavelandprice-ngx-lib-quill-editor.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bole';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100vw';\r\n maxHeight = '85vh';\r\n maxWidth = '100vw';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, EventEmitter, Inject, Input, OnInit, Output, ViewChild, Optional } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport { ContentChange, Blur, Focus, EditorChangeContent, EditorChangeSelection, SelectionChange, QuillEditorComponent } from 'ngx-quill';\n\nimport 'quill-mention';\nimport Quill from 'quill';\nimport { ImageDrop } from 'quill-image-drop-module';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\nimport { Config } from '../../model/config';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.css']\n})\nexport class EditorComponent implements OnInit {\n @ViewChild(QuillEditorComponent, { static: false }) editor: QuillEditorComponent | undefined;\n\n @Input() formGroup!: FormGroup;\n @Input() controlName!: string;\n @Input() ngModelValue: string | undefined;\n\n @Input() config: Config = new Config();\n @Input() placeholder: string | undefined;\n @Input() users: User[] | undefined;\n\n //#region These can be passed in as @Input(), or use values from config\n @Input() format: 'object' | 'html' | 'text' | 'json' = this.config.format;\n @Input() height = this.config.height;\n @Input() width = this.config.width;\n @Input() maxHeight = this.config.maxHeight;\n @Input() maxWidth = this.config.maxWidth;\n @Input() enableTooltips = this.config.enableTooltips;\n @Input() fullscreen = this.config.fullscreen;\n @Input() fullscreenMode: 'expand' | 'popout' = this.config.fullscreenMode;\n @Input() readonly = this.config.readonly;\n\n //#region Optional Quill modules\n @Input() imageResizeModule = this.config.imageResizeModule;\n @Input() imageDropModule = this.config.imageDropModule;\n @Input() mentionModule = this.config.mentionModule;\n @Input() syntaxModule = this.config.syntaxModule;\n //#endregion\n //#endregion\n\n @Output() fullscreenChanged = new EventEmitter<boolean>();\n\n //#region Passthrough events\n @Output() onBlur = new EventEmitter<Blur>();\n @Output() onContentChanged = new EventEmitter<ContentChange>();\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\n @Output() onEditorCreated = new EventEmitter();\n @Output() onFocus = new EventEmitter<Focus>();\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\n //#endregion\n \n constructor(@Optional() @Inject(MAT_DIALOG_DATA) data: DialogData,\n @Optional() private dialogRef: MatDialogRef<EditorComponent>,\n private activeDirectoryService: ActiveDirectoryService,\n private dialog: MatDialog) {\n \n if (this.imageDropModule) {\n Quill.register('modules/imageDrop', ImageDrop);\n }\n\n if (data) {\n this.formGroup = data.formGroup;\n this.controlName = data.controlName;\n this.ngModelValue = data.value;\n\n this.config = data.config;\n this.placeholder = data.placeholder;\n this.format = data.format;\n this.height = data.height;\n this.width = data.width;\n this.maxHeight = data.maxHeight;\n this.maxWidth = data.maxWidth;\n this.enableTooltips = data.enableTooltips;\n this.fullscreen = data.fullscreen;\n this.fullscreenMode = data.fullscreenMode;\n this.readonly = data.readonly;\n this.users = data.users;\n }\n }\n\n ngOnInit(): void {\n if (!this.users) {\n this.activeDirectoryService.getUsers().subscribe(users =>\n this.users = users\n );\n }\n }\n\n toggleFullscreen(): void {\n this.fullscreen = !this.fullscreen;\n this.fullscreenChanged.emit(this.fullscreen);\n\n if (this.fullscreenMode === 'popout') {\n if (this.dialogRef) {\n this.dialogRef.close(this.formGroup ?\n this.formGroup.get(this.controlName)?.value :\n this.ngModelValue);\n } else {\n\n const data: DialogData = {\n formGroup: this.formGroup,\n controlName: this.controlName,\n value: this.ngModelValue,\n\n config: this.config,\n placeholder: this.placeholder,\n format: this.format,\n height: this.maxHeight,\n width: '100%',\n maxHeight: this.maxHeight,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips,\n fullscreen: this.fullscreen,\n fullscreenMode: this.fullscreenMode,\n readonly: this.readonly,\n users: this.users\n };\n\n this.dialog.open(EditorComponent, {\n disableClose: true,\n width: this.maxWidth,\n height: '90vh',\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.fullscreen = false;\n\n if (this.formGroup) {\n this.formGroup.get(this.controlName)?.setValue(value);\n } else {\n this.ngModelValue = value;\n }\n });\n }\n }\n }\n\n tooltip(val: string): string {\n return this.enableTooltips ? val : '';\n }\n\n get modules() {\n if (!this.users) { return undefined; }\n\n const modules = { };\n\n if (this.imageResizeModule) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule) {\n modules['syntax'] = true;\n }\n\n if (this.mentionModule) {\n modules['mention'] = {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n };\n }\n\n return modules;\n }\n}","<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>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { QuillModule } from 'ngx-quill';\n\nimport { EditorComponent } from './components/editor/editor.component';\n\n@NgModule({\n declarations: [\n EditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n MatTooltipModule,\n\n QuillModule.forRoot()\n ],\n exports: [\n EditorComponent\n ]\n})\nexport class QuillEditorModule {\n static forRoot(): ModuleWithProviders<QuillEditorModule> {\n return {\n ngModule: QuillEditorModule\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: QuillEditorModule) {\n if (parentModule) {\n throw new Error(\n 'QuillEditorModule is already loaded. Import it in the AppModule only');\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cleavelandprice-ngx-lib-quill-editor.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/quill-editor.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/cleavelandprice-ngx-lib-quill-editor.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bold';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100vw';\r\n maxHeight = '85vh';\r\n maxWidth = '100vw';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, EventEmitter, Inject, Input, OnInit, Output, ViewChild, Optional } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport { ContentChange, Blur, Focus, EditorChangeContent, EditorChangeSelection, SelectionChange, QuillEditorComponent } from 'ngx-quill';\n\nimport 'quill-mention';\nimport Quill from 'quill';\nimport { ImageDrop } from 'quill-image-drop-module';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\nimport { Config } from '../../model/config';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.css']\n})\nexport class EditorComponent implements OnInit {\n @ViewChild(QuillEditorComponent, { static: false }) editor: QuillEditorComponent | undefined;\n\n @Input() formGroup!: FormGroup;\n @Input() controlName!: string;\n @Input() ngModelValue: string | undefined;\n\n @Input() config: Config = new Config();\n @Input() placeholder: string | undefined;\n @Input() users: User[] | undefined;\n\n //#region These can be passed in as @Input(), or use values from config\n @Input() format: 'object' | 'html' | 'text' | 'json' = this.config.format;\n @Input() height = this.config.height;\n @Input() width = this.config.width;\n @Input() maxHeight = this.config.maxHeight;\n @Input() maxWidth = this.config.maxWidth;\n @Input() enableTooltips = this.config.enableTooltips;\n @Input() fullscreen = this.config.fullscreen;\n @Input() fullscreenMode: 'expand' | 'popout' = this.config.fullscreenMode;\n @Input() readonly = this.config.readonly;\n\n //#region Optional Quill modules\n @Input() imageResizeModule = this.config.imageResizeModule;\n @Input() imageDropModule = this.config.imageDropModule;\n @Input() mentionModule = this.config.mentionModule;\n @Input() syntaxModule = this.config.syntaxModule;\n //#endregion\n //#endregion\n\n @Output() fullscreenChanged = new EventEmitter<boolean>();\n\n //#region Passthrough events\n @Output() onBlur = new EventEmitter<Blur>();\n @Output() onContentChanged = new EventEmitter<ContentChange>();\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\n @Output() onEditorCreated = new EventEmitter();\n @Output() onFocus = new EventEmitter<Focus>();\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\n //#endregion\n \n constructor(@Optional() @Inject(MAT_DIALOG_DATA) data: DialogData,\n @Optional() private dialogRef: MatDialogRef<EditorComponent>,\n private activeDirectoryService: ActiveDirectoryService,\n private dialog: MatDialog) {\n \n if (this.imageDropModule) {\n Quill.register('modules/imageDrop', ImageDrop);\n }\n\n if (data) {\n this.formGroup = data.formGroup;\n this.controlName = data.controlName;\n this.ngModelValue = data.value;\n\n this.config = data.config;\n this.placeholder = data.placeholder;\n this.format = data.format;\n this.height = data.height;\n this.width = data.width;\n this.maxHeight = data.maxHeight;\n this.maxWidth = data.maxWidth;\n this.enableTooltips = data.enableTooltips;\n this.fullscreen = data.fullscreen;\n this.fullscreenMode = data.fullscreenMode;\n this.readonly = data.readonly;\n this.users = data.users;\n }\n }\n\n ngOnInit(): void {\n if (!this.users) {\n this.activeDirectoryService.getUsers().subscribe(users =>\n this.users = users\n );\n }\n }\n\n toggleFullscreen(): void {\n // Debug\n console.log('fullscreenMode', this.fullscreenMode);\n console.log('fullscreen', this.fullscreen);\n console.log('dialogRef', this.dialogRef);\n\n if (this.fullscreenMode === 'popout') {\n if (this.fullscreen) {\n console.log('path1'); // Debug\n this.dialogRef.close(this.formGroup ?\n this.formGroup.get(this.controlName)?.value :\n this.ngModelValue);\n } else {\n console.log('path2'); // Debug\n const data: DialogData = {\n formGroup: this.formGroup,\n controlName: this.controlName,\n value: this.ngModelValue,\n\n config: this.config,\n placeholder: this.placeholder,\n format: this.format,\n height: this.maxHeight,\n width: '100%',\n maxHeight: this.maxHeight,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips,\n fullscreen: true,\n fullscreenMode: this.fullscreenMode,\n readonly: this.readonly,\n users: this.users\n };\n\n this.dialog.open(EditorComponent, {\n disableClose: true,\n width: this.maxWidth,\n height: '90vh',\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.fullscreen = false;\n\n if (this.formGroup) {\n this.formGroup.get(this.controlName)?.setValue(value);\n } else {\n this.ngModelValue = value;\n }\n });\n }\n }\n\n this.fullscreen = !this.fullscreen;\n this.fullscreenChanged.emit(this.fullscreen);\n }\n\n tooltip(val: string): string {\n return this.enableTooltips ? val : '';\n }\n\n get modules() {\n if (!this.users) { return undefined; }\n\n const modules = { };\n\n if (this.imageResizeModule) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule) {\n modules['syntax'] = true;\n }\n\n if (this.mentionModule) {\n modules['mention'] = {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n };\n }\n\n return modules;\n }\n}","<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>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { QuillModule } from 'ngx-quill';\n\nimport { EditorComponent } from './components/editor/editor.component';\n\n@NgModule({\n declarations: [\n EditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n MatTooltipModule,\n\n QuillModule.forRoot()\n ],\n exports: [\n EditorComponent\n ]\n})\nexport class QuillEditorModule {\n static forRoot(): ModuleWithProviders<QuillEditorModule> {\n return {\n ngModule: QuillEditorModule\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: QuillEditorModule) {\n if (parentModule) {\n throw new Error(\n 'QuillEditorModule is already loaded. Import it in the AppModule only');\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -81,7 +81,7 @@ class Icons {
|
|
|
81
81
|
class Tooltips {
|
|
82
82
|
constructor() {
|
|
83
83
|
//#region Font Style
|
|
84
|
-
this.bold = '
|
|
84
|
+
this.bold = 'Bold';
|
|
85
85
|
this.italic = 'Italic';
|
|
86
86
|
this.strike = 'Strikethrough';
|
|
87
87
|
this.underline = 'Underline';
|
|
@@ -225,15 +225,19 @@ class EditorComponent {
|
|
|
225
225
|
}
|
|
226
226
|
}
|
|
227
227
|
toggleFullscreen() {
|
|
228
|
-
|
|
229
|
-
|
|
228
|
+
// Debug
|
|
229
|
+
console.log('fullscreenMode', this.fullscreenMode);
|
|
230
|
+
console.log('fullscreen', this.fullscreen);
|
|
231
|
+
console.log('dialogRef', this.dialogRef);
|
|
230
232
|
if (this.fullscreenMode === 'popout') {
|
|
231
|
-
if (this.
|
|
233
|
+
if (this.fullscreen) {
|
|
234
|
+
console.log('path1'); // Debug
|
|
232
235
|
this.dialogRef.close(this.formGroup ?
|
|
233
236
|
this.formGroup.get(this.controlName)?.value :
|
|
234
237
|
this.ngModelValue);
|
|
235
238
|
}
|
|
236
239
|
else {
|
|
240
|
+
console.log('path2'); // Debug
|
|
237
241
|
const data = {
|
|
238
242
|
formGroup: this.formGroup,
|
|
239
243
|
controlName: this.controlName,
|
|
@@ -246,7 +250,7 @@ class EditorComponent {
|
|
|
246
250
|
maxHeight: this.maxHeight,
|
|
247
251
|
maxWidth: '100%',
|
|
248
252
|
enableTooltips: this.enableTooltips,
|
|
249
|
-
fullscreen:
|
|
253
|
+
fullscreen: true,
|
|
250
254
|
fullscreenMode: this.fullscreenMode,
|
|
251
255
|
readonly: this.readonly,
|
|
252
256
|
users: this.users
|
|
@@ -269,6 +273,8 @@ class EditorComponent {
|
|
|
269
273
|
});
|
|
270
274
|
}
|
|
271
275
|
}
|
|
276
|
+
this.fullscreen = !this.fullscreen;
|
|
277
|
+
this.fullscreenChanged.emit(this.fullscreen);
|
|
272
278
|
}
|
|
273
279
|
tooltip(val) {
|
|
274
280
|
return this.enableTooltips ? val : '';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cleavelandprice-ngx-lib-quill-editor.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/quill-editor.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/cleavelandprice-ngx-lib-quill-editor.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bole';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100vw';\r\n maxHeight = '85vh';\r\n maxWidth = '100vw';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, EventEmitter, Inject, Input, OnInit, Output, ViewChild, Optional } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport { ContentChange, Blur, Focus, EditorChangeContent, EditorChangeSelection, SelectionChange, QuillEditorComponent } from 'ngx-quill';\n\nimport 'quill-mention';\nimport Quill from 'quill';\nimport { ImageDrop } from 'quill-image-drop-module';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\nimport { Config } from '../../model/config';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.css']\n})\nexport class EditorComponent implements OnInit {\n @ViewChild(QuillEditorComponent, { static: false }) editor: QuillEditorComponent | undefined;\n\n @Input() formGroup!: FormGroup;\n @Input() controlName!: string;\n @Input() ngModelValue: string | undefined;\n\n @Input() config: Config = new Config();\n @Input() placeholder: string | undefined;\n @Input() users: User[] | undefined;\n\n //#region These can be passed in as @Input(), or use values from config\n @Input() format: 'object' | 'html' | 'text' | 'json' = this.config.format;\n @Input() height = this.config.height;\n @Input() width = this.config.width;\n @Input() maxHeight = this.config.maxHeight;\n @Input() maxWidth = this.config.maxWidth;\n @Input() enableTooltips = this.config.enableTooltips;\n @Input() fullscreen = this.config.fullscreen;\n @Input() fullscreenMode: 'expand' | 'popout' = this.config.fullscreenMode;\n @Input() readonly = this.config.readonly;\n\n //#region Optional Quill modules\n @Input() imageResizeModule = this.config.imageResizeModule;\n @Input() imageDropModule = this.config.imageDropModule;\n @Input() mentionModule = this.config.mentionModule;\n @Input() syntaxModule = this.config.syntaxModule;\n //#endregion\n //#endregion\n\n @Output() fullscreenChanged = new EventEmitter<boolean>();\n\n //#region Passthrough events\n @Output() onBlur = new EventEmitter<Blur>();\n @Output() onContentChanged = new EventEmitter<ContentChange>();\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\n @Output() onEditorCreated = new EventEmitter();\n @Output() onFocus = new EventEmitter<Focus>();\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\n //#endregion\n \n constructor(@Optional() @Inject(MAT_DIALOG_DATA) data: DialogData,\n @Optional() private dialogRef: MatDialogRef<EditorComponent>,\n private activeDirectoryService: ActiveDirectoryService,\n private dialog: MatDialog) {\n \n if (this.imageDropModule) {\n Quill.register('modules/imageDrop', ImageDrop);\n }\n\n if (data) {\n this.formGroup = data.formGroup;\n this.controlName = data.controlName;\n this.ngModelValue = data.value;\n\n this.config = data.config;\n this.placeholder = data.placeholder;\n this.format = data.format;\n this.height = data.height;\n this.width = data.width;\n this.maxHeight = data.maxHeight;\n this.maxWidth = data.maxWidth;\n this.enableTooltips = data.enableTooltips;\n this.fullscreen = data.fullscreen;\n this.fullscreenMode = data.fullscreenMode;\n this.readonly = data.readonly;\n this.users = data.users;\n }\n }\n\n ngOnInit(): void {\n if (!this.users) {\n this.activeDirectoryService.getUsers().subscribe(users =>\n this.users = users\n );\n }\n }\n\n toggleFullscreen(): void {\n this.fullscreen = !this.fullscreen;\n this.fullscreenChanged.emit(this.fullscreen);\n\n if (this.fullscreenMode === 'popout') {\n if (this.dialogRef) {\n this.dialogRef.close(this.formGroup ?\n this.formGroup.get(this.controlName)?.value :\n this.ngModelValue);\n } else {\n\n const data: DialogData = {\n formGroup: this.formGroup,\n controlName: this.controlName,\n value: this.ngModelValue,\n\n config: this.config,\n placeholder: this.placeholder,\n format: this.format,\n height: this.maxHeight,\n width: '100%',\n maxHeight: this.maxHeight,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips,\n fullscreen: this.fullscreen,\n fullscreenMode: this.fullscreenMode,\n readonly: this.readonly,\n users: this.users\n };\n\n this.dialog.open(EditorComponent, {\n disableClose: true,\n width: this.maxWidth,\n height: '90vh',\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.fullscreen = false;\n\n if (this.formGroup) {\n this.formGroup.get(this.controlName)?.setValue(value);\n } else {\n this.ngModelValue = value;\n }\n });\n }\n }\n }\n\n tooltip(val: string): string {\n return this.enableTooltips ? val : '';\n }\n\n get modules() {\n if (!this.users) { return undefined; }\n\n const modules = { };\n\n if (this.imageResizeModule) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule) {\n modules['syntax'] = true;\n }\n\n if (this.mentionModule) {\n modules['mention'] = {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n };\n }\n\n return modules;\n }\n}","<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>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { QuillModule } from 'ngx-quill';\n\nimport { EditorComponent } from './components/editor/editor.component';\n\n@NgModule({\n declarations: [\n EditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n MatTooltipModule,\n\n QuillModule.forRoot()\n ],\n exports: [\n EditorComponent\n ]\n})\nexport class QuillEditorModule {\n static forRoot(): ModuleWithProviders<QuillEditorModule> {\n return {\n ngModule: QuillEditorModule\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: QuillEditorModule) {\n if (parentModule) {\n throw new Error(\n 'QuillEditorModule is already loaded. Import it in the AppModule only');\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cleavelandprice-ngx-lib-quill-editor.mjs","sources":["../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/buttons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/icons.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/tooltips.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/model/config.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/components/editor/editor.component.html","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/quill-editor.module.ts","../../../../projects/cleavelandprice/ngx-lib/quill-editor/src/cleavelandprice-ngx-lib-quill-editor.ts"],"sourcesContent":["export class Buttons {\r\n //#region Font Style\r\n bold = true;\r\n italic = true;\r\n strike = true;\r\n underline = true;\r\n //#endregion\r\n\r\n //#region Media\r\n link = true;\r\n image = true;\r\n video = true;\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = true;\r\n codeblock = true;\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = true;\r\n h2 = true;\r\n //#endregion\r\n\r\n //#region Color\r\n color = true;\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = true;\r\n ordered = true;\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = true;\r\n superScript = true;\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = true;\r\n decreaseIndent = true;\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = true;\r\n font = true;\r\n fontSize = true;\r\n headingStyle = true;\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = true;\r\n formula = true;\r\n rtl = true;\r\n editorSize = true;\r\n //#endregion\r\n}","export class Icons {\r\n maximize = 'open_in_full';\r\n minimize = 'close_fullscreen';\r\n popout = 'open_in_full';\r\n popin = 'done';\r\n}","export class Tooltips {\r\n //#region Font Style\r\n bold = 'Bold';\r\n italic = 'Italic';\r\n strike = 'Strikethrough';\r\n underline = 'Underline';\r\n //#endregion\r\n\r\n //#region Media\r\n link = 'Link';\r\n image = 'Insert Image';\r\n video = 'Insert Video';\r\n //#endregion\r\n\r\n //#region Block Style\r\n blockquote = 'Blockquote';\r\n codeblock = 'Code Block';\r\n //#endregion\r\n\r\n //#region Heading Style\r\n h1 = 'Heading 1';\r\n h2 = 'Heading 2';\r\n //#endregion\r\n\r\n //#region Color\r\n color = 'Font / Background Color';\r\n //#endregion\r\n\r\n //#region List Style\r\n bulleted = 'Bulleted List';\r\n ordered = 'Ordered List';\r\n //#endregion\r\n\r\n //#region Script Style\r\n subScript = 'Subscript';\r\n superScript = 'Superscript';\r\n //#endregion\r\n\r\n //#region Indent Style\r\n increaseIndent = 'Increase Indent';\r\n decreaseIndent = 'Decrease Indent';\r\n //#endregion\r\n\r\n //#region DropDowns\r\n align = 'Align';\r\n font = 'Font';\r\n fontSize = 'Font Size';\r\n headingStyle = 'Heading';\r\n //#endregion\r\n\r\n //#region Single Buttons\r\n clean = 'Clean';\r\n formula = 'Formula';\r\n rtl = 'Right-To-Left';\r\n maximize = 'Maximize';\r\n minimize = 'Minimize';\r\n popout = 'Popout';\r\n popin = 'Done';\r\n //#endregion\r\n}","import { Buttons } from \"./buttons\";\r\nimport { Icons } from \"./icons\";\r\nimport { Tooltips } from \"./tooltips\";\r\n\r\nexport class Config {\r\n buttons = new Buttons();\r\n tooltips = new Tooltips();\r\n icons = new Icons();\r\n\r\n //#region These can be overriden via @Input()\r\n format: 'object' | 'html' | 'text' | 'json' = 'html';\r\n height = '50vh';\r\n width = '100vw';\r\n maxHeight = '85vh';\r\n maxWidth = '100vw';\r\n enableTooltips = true;\r\n fullscreen = false;\r\n fullscreenMode: 'expand' | 'popout' = 'popout';\r\n readonly = false;\r\n\r\n //#region Optional Quill modules\r\n imageResizeModule = true;\r\n imageDropModule = true;\r\n mentionModule = true;\r\n syntaxModule = true;\r\n //#endregion\r\n\r\n //#endregion\r\n\r\n //#region Groups\r\n showBlockStyle = () => this.buttons.blockquote || this.buttons.codeblock;\r\n showFontStyle = () => this.buttons.bold || this.buttons.italic || this.buttons.strike || this.buttons.underline;\r\n showQuickHeadingStyle = () => this.buttons.h1 || this.buttons.h2;\r\n showIndentStyle = () => this.buttons.decreaseIndent || this.buttons.increaseIndent;\r\n showListStyle = () => this.buttons.bulleted || this.buttons.ordered;\r\n showMedia = () => this.buttons.link || this.buttons.image || this.buttons.video;\r\n showScriptStyle = () => this.buttons.subScript || this.buttons.superScript;\r\n //#endregion\r\n}","import { Component, EventEmitter, Inject, Input, OnInit, Output, ViewChild, Optional } from '@angular/core';\nimport { FormGroup } from '@angular/forms';\nimport { MatDialog, MatDialogRef, MAT_DIALOG_DATA } from '@angular/material/dialog';\nimport { ActiveDirectoryService, User } from '@cleavelandprice/ngx-lib/active-directory';\n\nimport { ContentChange, Blur, Focus, EditorChangeContent, EditorChangeSelection, SelectionChange, QuillEditorComponent } from 'ngx-quill';\n\nimport 'quill-mention';\nimport Quill from 'quill';\nimport { ImageDrop } from 'quill-image-drop-module';\n\n// This doesn't work when done from the library - it must be done from the client app\n//import ImageResize from 'quill-image-resize-module';\n//Quill.register('modules/imageResize', ImageResize);\n\nimport { Config } from '../../model/config';\nimport { DialogData } from '../../model/dialog-data';\n\n@Component({\n selector: 'cpquill-editor',\n templateUrl: './editor.component.html',\n styleUrls: ['./editor.component.css']\n})\nexport class EditorComponent implements OnInit {\n @ViewChild(QuillEditorComponent, { static: false }) editor: QuillEditorComponent | undefined;\n\n @Input() formGroup!: FormGroup;\n @Input() controlName!: string;\n @Input() ngModelValue: string | undefined;\n\n @Input() config: Config = new Config();\n @Input() placeholder: string | undefined;\n @Input() users: User[] | undefined;\n\n //#region These can be passed in as @Input(), or use values from config\n @Input() format: 'object' | 'html' | 'text' | 'json' = this.config.format;\n @Input() height = this.config.height;\n @Input() width = this.config.width;\n @Input() maxHeight = this.config.maxHeight;\n @Input() maxWidth = this.config.maxWidth;\n @Input() enableTooltips = this.config.enableTooltips;\n @Input() fullscreen = this.config.fullscreen;\n @Input() fullscreenMode: 'expand' | 'popout' = this.config.fullscreenMode;\n @Input() readonly = this.config.readonly;\n\n //#region Optional Quill modules\n @Input() imageResizeModule = this.config.imageResizeModule;\n @Input() imageDropModule = this.config.imageDropModule;\n @Input() mentionModule = this.config.mentionModule;\n @Input() syntaxModule = this.config.syntaxModule;\n //#endregion\n //#endregion\n\n @Output() fullscreenChanged = new EventEmitter<boolean>();\n\n //#region Passthrough events\n @Output() onBlur = new EventEmitter<Blur>();\n @Output() onContentChanged = new EventEmitter<ContentChange>();\n @Output() onEditorChanged = new EventEmitter<EditorChangeContent | EditorChangeSelection>();\n @Output() onEditorCreated = new EventEmitter();\n @Output() onFocus = new EventEmitter<Focus>();\n @Output() onSelectionChanged = new EventEmitter<SelectionChange>();\n //#endregion\n \n constructor(@Optional() @Inject(MAT_DIALOG_DATA) data: DialogData,\n @Optional() private dialogRef: MatDialogRef<EditorComponent>,\n private activeDirectoryService: ActiveDirectoryService,\n private dialog: MatDialog) {\n \n if (this.imageDropModule) {\n Quill.register('modules/imageDrop', ImageDrop);\n }\n\n if (data) {\n this.formGroup = data.formGroup;\n this.controlName = data.controlName;\n this.ngModelValue = data.value;\n\n this.config = data.config;\n this.placeholder = data.placeholder;\n this.format = data.format;\n this.height = data.height;\n this.width = data.width;\n this.maxHeight = data.maxHeight;\n this.maxWidth = data.maxWidth;\n this.enableTooltips = data.enableTooltips;\n this.fullscreen = data.fullscreen;\n this.fullscreenMode = data.fullscreenMode;\n this.readonly = data.readonly;\n this.users = data.users;\n }\n }\n\n ngOnInit(): void {\n if (!this.users) {\n this.activeDirectoryService.getUsers().subscribe(users =>\n this.users = users\n );\n }\n }\n\n toggleFullscreen(): void {\n // Debug\n console.log('fullscreenMode', this.fullscreenMode);\n console.log('fullscreen', this.fullscreen);\n console.log('dialogRef', this.dialogRef);\n\n if (this.fullscreenMode === 'popout') {\n if (this.fullscreen) {\n console.log('path1'); // Debug\n this.dialogRef.close(this.formGroup ?\n this.formGroup.get(this.controlName)?.value :\n this.ngModelValue);\n } else {\n console.log('path2'); // Debug\n const data: DialogData = {\n formGroup: this.formGroup,\n controlName: this.controlName,\n value: this.ngModelValue,\n\n config: this.config,\n placeholder: this.placeholder,\n format: this.format,\n height: this.maxHeight,\n width: '100%',\n maxHeight: this.maxHeight,\n maxWidth: '100%',\n enableTooltips: this.enableTooltips,\n fullscreen: true,\n fullscreenMode: this.fullscreenMode,\n readonly: this.readonly,\n users: this.users\n };\n\n this.dialog.open(EditorComponent, {\n disableClose: true,\n width: this.maxWidth,\n height: '90vh',\n data\n })\n .afterClosed()\n .subscribe(value => {\n this.fullscreen = false;\n\n if (this.formGroup) {\n this.formGroup.get(this.controlName)?.setValue(value);\n } else {\n this.ngModelValue = value;\n }\n });\n }\n }\n\n this.fullscreen = !this.fullscreen;\n this.fullscreenChanged.emit(this.fullscreen);\n }\n\n tooltip(val: string): string {\n return this.enableTooltips ? val : '';\n }\n\n get modules() {\n if (!this.users) { return undefined; }\n\n const modules = { };\n\n if (this.imageResizeModule) {\n modules['imageResize'] = {};\n }\n\n if (this.imageDropModule) {\n modules['imageDrop'] = true;\n }\n\n if (this.syntaxModule) {\n modules['syntax'] = true;\n }\n\n if (this.mentionModule) {\n modules['mention'] = {\n allowedChars: /^[A-Za-z\\sÅÄÖåäö]*$/,\n\n onSelect: (item: DOMStringMap, insertItem: any) => {\n const editor = this.editor!.quillEditor\n insertItem(item)\n // necessary because quill-mention triggers changes as 'api' instead of 'user'\n editor.insertText(editor.getLength() - 1, '', 'user')\n },\n\n source: (searchTerm: string, renderList: any) => {\n if (searchTerm.length === 0) {\n renderList(this.users?.map(u => ({ value: `${u.displayName} (${u.sAMAccountName.toLowerCase()})` })), searchTerm)\n } else {\n const matches: any[] = []\n\n this.users!.forEach((entry) => {\n if (\n entry.displayName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1 ||\n entry.sAMAccountName.toLowerCase().indexOf(searchTerm.toLowerCase()) !== -1\n ) {\n matches.push({ value: `${entry.displayName} (${entry.sAMAccountName.toLowerCase()})` })\n }\n })\n\n renderList(matches, searchTerm)\n }\n }\n };\n }\n\n return modules;\n }\n}","<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>","import { ModuleWithProviders, NgModule, Optional, SkipSelf } from '@angular/core';\nimport { CommonModule } from '@angular/common';\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\n\nimport { MatButtonModule } from '@angular/material/button';\nimport { MatDialogModule } from '@angular/material/dialog';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatTooltipModule } from '@angular/material/tooltip';\n\nimport { QuillModule } from 'ngx-quill';\n\nimport { EditorComponent } from './components/editor/editor.component';\n\n@NgModule({\n declarations: [\n EditorComponent\n ],\n imports: [\n CommonModule,\n FormsModule,\n ReactiveFormsModule,\n\n MatButtonModule,\n MatDialogModule,\n MatIconModule,\n MatTooltipModule,\n\n QuillModule.forRoot()\n ],\n exports: [\n EditorComponent\n ]\n})\nexport class QuillEditorModule {\n static forRoot(): ModuleWithProviders<QuillEditorModule> {\n return {\n ngModule: QuillEditorModule\n };\n }\n\n constructor(@Optional() @SkipSelf() parentModule: QuillEditorModule) {\n if (parentModule) {\n throw new Error(\n 'QuillEditorModule is already loaded. Import it in the AppModule only');\n }\n }\n}","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"comment": "NGX-LIB primary entry point package.json",
|
|
3
3
|
"name": "@cleavelandprice/ngx-lib",
|
|
4
|
-
"version": "3.1.
|
|
4
|
+
"version": "3.1.36",
|
|
5
5
|
"description": "Angular 14+ library providing foundational functionality to Cleaveland-Price applications",
|
|
6
6
|
"peerDependencies": {
|
|
7
7
|
"@angular/common": "^14.2.1",
|