el-header-and-footer 0.0.39 → 0.0.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/el-header-and-footer.component.mjs +38 -88
- package/fesm2015/el-header-and-footer.mjs +38 -88
- package/fesm2015/el-header-and-footer.mjs.map +1 -1
- package/fesm2020/el-header-and-footer.mjs +37 -87
- package/fesm2020/el-header-and-footer.mjs.map +1 -1
- package/lib/el-header-and-footer.component.d.ts +2 -14
- package/package.json +1 -1
@@ -25,12 +25,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
25
25
|
}], ctorParameters: function () { return []; } });
|
26
26
|
|
27
27
|
class ElHeaderAndFooterComponent {
|
28
|
-
constructor(router, route, renderer, sanitizer
|
28
|
+
constructor(router, route, renderer, sanitizer) {
|
29
29
|
this.router = router;
|
30
30
|
this.route = route;
|
31
31
|
this.renderer = renderer;
|
32
32
|
this.sanitizer = sanitizer;
|
33
|
-
this.cdr = cdr;
|
34
33
|
this.editorId = '';
|
35
34
|
this.editorText = '';
|
36
35
|
this.editorFrom = '';
|
@@ -84,8 +83,6 @@ class ElHeaderAndFooterComponent {
|
|
84
83
|
ngOnChanges(changes) {
|
85
84
|
if (changes['bgColor']) {
|
86
85
|
const event = { color: { hex: this.bgColor } };
|
87
|
-
this.CanvasColor = this.bgColor;
|
88
|
-
this.mainCanvas();
|
89
86
|
this.setCanvasBackgroundColor(event, this.editorId);
|
90
87
|
}
|
91
88
|
}
|
@@ -246,15 +243,23 @@ class ElHeaderAndFooterComponent {
|
|
246
243
|
setDisabledState(isDisabled) {
|
247
244
|
// Handle the disabled state if necessary
|
248
245
|
}
|
249
|
-
|
250
|
-
|
251
|
-
|
252
|
-
|
253
|
-
|
246
|
+
// onModelChange(value: any): void {
|
247
|
+
// if (value) {
|
248
|
+
// const VALUE = value
|
249
|
+
// // this.editorText = this.mainCanvas(VALUE);
|
250
|
+
// // this.onChange(this.mainCanvas(VALUE));
|
251
|
+
// // this.editorTextChange.emit(this.mainCanvas(VALUE));
|
252
|
+
// this.editorText = `<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`;
|
253
|
+
// this.onChange(`<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`);
|
254
|
+
// this.editorTextChange.emit(`<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`);
|
255
|
+
// } else {
|
256
|
+
// this.selectedImage = null;
|
257
|
+
// }
|
258
|
+
// }
|
254
259
|
onModelChange(event) {
|
255
260
|
const value = event?.target?.innerHTML || ''; // Get the innerHTML content
|
256
261
|
if (value) {
|
257
|
-
const canvasHTML = this.
|
262
|
+
const canvasHTML = this.replaceBackgroundColor(value, this.CanvasColor); // Update the background color dynamically
|
258
263
|
// Prevent nested or repeated padding styles
|
259
264
|
const hasPadding = canvasHTML.includes('padding: 10px 60px;');
|
260
265
|
this.editorText = hasPadding
|
@@ -262,40 +267,12 @@ class ElHeaderAndFooterComponent {
|
|
262
267
|
: `<div style="padding: 10px 60px; background-color: ${this.CanvasColor};">${value}</div>`;
|
263
268
|
this.onChange(this.editorText);
|
264
269
|
this.editorTextChange.emit(this.editorText);
|
265
|
-
console.log('Updated editorText:', this.editorText);
|
270
|
+
console.log('Updated editorText on change:', this.editorText);
|
266
271
|
}
|
267
272
|
else {
|
268
273
|
this.selectedImage = null;
|
269
274
|
}
|
270
275
|
}
|
271
|
-
// onModelChange(value: any): void {
|
272
|
-
// if (value) {
|
273
|
-
// const VALUE = value;
|
274
|
-
// const canvasHTML = this.mainCanvas(VALUE); // Get the main canvas content
|
275
|
-
// // Ensure padding is applied only once
|
276
|
-
// this.editorText = canvasHTML.includes('padding:')
|
277
|
-
// ? canvasHTML
|
278
|
-
// : `<div style="padding: 10px 60px;">${canvasHTML}</div>`;
|
279
|
-
// this.onChange(this.editorText);
|
280
|
-
// this.editorTextChange.emit(this.editorText);
|
281
|
-
// console.log('this.editorText =>> 321 >> ', this.editorText)
|
282
|
-
// } else {
|
283
|
-
// this.selectedImage = null;
|
284
|
-
// }
|
285
|
-
// }
|
286
|
-
// onModelChange(value: any): void {
|
287
|
-
// if (value) {
|
288
|
-
// const VALUE = value
|
289
|
-
// // this.editorText = this.mainCanvas(VALUE);
|
290
|
-
// // this.onChange(this.mainCanvas(VALUE));
|
291
|
-
// // this.editorTextChange.emit(this.mainCanvas(VALUE));
|
292
|
-
// this.editorText = `<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`;
|
293
|
-
// this.onChange(`<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`);
|
294
|
-
// this.editorTextChange.emit(`<div style="padding: 10px 60px;">${this.mainCanvas(VALUE)}</div>`);
|
295
|
-
// } else {
|
296
|
-
// this.selectedImage = null;
|
297
|
-
// }
|
298
|
-
// }
|
299
276
|
applyImageStyles(content) {
|
300
277
|
const div = document.createElement('div');
|
301
278
|
div.innerHTML = content;
|
@@ -317,7 +294,6 @@ class ElHeaderAndFooterComponent {
|
|
317
294
|
if (html) {
|
318
295
|
let editor = document.getElementById(this.editorId);
|
319
296
|
if (editor) {
|
320
|
-
editor.style.backgroundColor = this.themeModeBgClr();
|
321
297
|
editor.focus();
|
322
298
|
this.setEditorContent(html);
|
323
299
|
// Set up a MutationObserver to handle content changes
|
@@ -920,14 +896,12 @@ class ElHeaderAndFooterComponent {
|
|
920
896
|
}
|
921
897
|
// setCanvasBackgroundColor(event: any, editorId: string): void {
|
922
898
|
// this.CanvasColor = event.color.hex;
|
923
|
-
// this.cdr.detectChanges();
|
924
899
|
// const editor = document.getElementById(editorId);
|
925
900
|
// if (editor) {
|
926
901
|
// let color = '';
|
927
|
-
//
|
902
|
+
// editor.style.backgroundColor = this.themeModeBgClr()
|
928
903
|
// color = event.color.hex || event
|
929
904
|
// editor.style.backgroundColor = color;
|
930
|
-
// document.execCommand('backColor', false, color)
|
931
905
|
// this.mainCanvas()
|
932
906
|
// // this.init_Func(`<div style="background-color: ${color};">${this.editorText}</div>`);
|
933
907
|
// if (this.dropdown) {
|
@@ -936,34 +910,33 @@ class ElHeaderAndFooterComponent {
|
|
936
910
|
// }
|
937
911
|
// }
|
938
912
|
setCanvasBackgroundColor(event, editorId) {
|
939
|
-
this.CanvasColor = event.color.hex; // Save the
|
913
|
+
this.CanvasColor = event.color.hex; // Save the newly selected color
|
940
914
|
const editor = document.getElementById(editorId);
|
941
915
|
if (editor) {
|
942
|
-
|
943
|
-
|
944
|
-
//
|
945
|
-
editor.innerHTML
|
946
|
-
// Update the
|
916
|
+
// Update the editor's background color dynamically
|
917
|
+
editor.style.backgroundColor = this.CanvasColor;
|
918
|
+
// Update the inner HTML to replace the old color with the new color
|
919
|
+
const updatedContent = this.replaceBackgroundColor(editor.innerHTML, this.CanvasColor);
|
920
|
+
// Update the editor text
|
947
921
|
this.editorText = updatedContent;
|
948
922
|
this.onChange(this.editorText);
|
949
923
|
this.editorTextChange.emit(this.editorText);
|
950
924
|
if (this.dropdown) {
|
951
925
|
this.dropdown.close(); // Close the dropdown menu
|
952
926
|
}
|
953
|
-
console.log('Updated
|
927
|
+
console.log('Updated content with new background color:', this.editorText);
|
954
928
|
}
|
955
929
|
}
|
956
930
|
replaceBackgroundColor(content, newColor) {
|
957
|
-
// Regular expression to find
|
958
|
-
const bgColorRegex = /background-color:\s*#[0-9a-fA-F]{6}|
|
931
|
+
// Regular expression to find an existing background-color style
|
932
|
+
const bgColorRegex = /background-color:\s*#[0-9a-fA-F]{6}|rgba?\([^\)]+\)/;
|
959
933
|
if (bgColorRegex.test(content)) {
|
960
|
-
// Replace the old
|
934
|
+
// Replace the old color with the new one
|
961
935
|
return content.replace(bgColorRegex, `background-color: ${newColor}`);
|
962
936
|
}
|
963
937
|
else {
|
964
|
-
// If no background color
|
965
|
-
|
966
|
-
return `<div style="background-color: ${newColor}; padding: 10px 60px;">${innerText}</div>`;
|
938
|
+
// If no background color is found, add the new background color
|
939
|
+
return `<div style="background-color: ${newColor};">${content}</div>`;
|
967
940
|
}
|
968
941
|
}
|
969
942
|
getToday() {
|
@@ -1061,34 +1034,6 @@ class ElHeaderAndFooterComponent {
|
|
1061
1034
|
}
|
1062
1035
|
}
|
1063
1036
|
}
|
1064
|
-
/**
|
1065
|
-
* new changes 16/01/2025
|
1066
|
-
* nested padding issue solve
|
1067
|
-
* @param data
|
1068
|
-
* @returns
|
1069
|
-
*/
|
1070
|
-
mainCanvas(data = '') {
|
1071
|
-
console.log('data mainCanvas=> ', data);
|
1072
|
-
let editor = document.getElementById(this.editorId);
|
1073
|
-
const BG = editor?.style?.backgroundColor || this.CanvasColor || '#ffffff'; // Ensure a default background color
|
1074
|
-
return `<div style="background-color: ${BG}; padding: 10px 60px;">${data}</div>`; // Apply styles in one place
|
1075
|
-
}
|
1076
|
-
// removeBackground(content: string): string {
|
1077
|
-
// return content.replace(/background-color: (.*?);/g, '');
|
1078
|
-
// }
|
1079
|
-
// mainCanvas(data?: any) {
|
1080
|
-
// let BG = this.CanvasColor;
|
1081
|
-
// const editor = document.getElementById(this.editorId);
|
1082
|
-
// if (editor) {
|
1083
|
-
// console.log('editor.style.backgroundColor => ', editor.style.backgroundColor)
|
1084
|
-
// BG = editor.style.backgroundColor
|
1085
|
-
// editor.focus();
|
1086
|
-
// console.log('BG.BG.BG => ', BG)
|
1087
|
-
// return `<div style="background-color: ${BG};">${data}</div>`; // Ensure the background-color style is closed properly
|
1088
|
-
// } else {
|
1089
|
-
// return `<div style="background-color: ${BG};">${data}</div>`; // Same here
|
1090
|
-
// }
|
1091
|
-
// }
|
1092
1037
|
// mainCanvas(data?: any) {
|
1093
1038
|
// let BG = ''
|
1094
1039
|
// const editor = document.getElementById(this.editorId);
|
@@ -1098,13 +1043,18 @@ class ElHeaderAndFooterComponent {
|
|
1098
1043
|
// BG = 'rgb(255, 255, 255)'
|
1099
1044
|
// } else {
|
1100
1045
|
// BG = editor.style.backgroundColor;
|
1101
|
-
// }
|
1046
|
+
// }
|
1102
1047
|
// return `${data}`
|
1103
1048
|
// }
|
1104
1049
|
// else {
|
1105
1050
|
// return `<div style="background-color: ${BG}>${data}</div>`
|
1106
1051
|
// }
|
1107
1052
|
// }
|
1053
|
+
mainCanvas(data = '') {
|
1054
|
+
const editor = document.getElementById(this.editorId);
|
1055
|
+
const BG = editor?.style?.backgroundColor || this.CanvasColor || '#ffffff'; // Get the current or default color
|
1056
|
+
return `<div style="background-color: ${BG}; padding: 10px 60px;">${data}</div>`; // Apply the updated background color
|
1057
|
+
}
|
1108
1058
|
themeMode() {
|
1109
1059
|
const clrMode = document.body.getAttribute('data-layout-color');
|
1110
1060
|
if (clrMode == 'dark') {
|
@@ -1151,7 +1101,7 @@ class ElHeaderAndFooterComponent {
|
|
1151
1101
|
}
|
1152
1102
|
}
|
1153
1103
|
}
|
1154
|
-
ElHeaderAndFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ElHeaderAndFooterComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i2.DomSanitizer }
|
1104
|
+
ElHeaderAndFooterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: ElHeaderAndFooterComponent, deps: [{ token: i1.Router }, { token: i1.ActivatedRoute }, { token: i0.Renderer2 }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
|
1155
1105
|
ElHeaderAndFooterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "13.2.7", type: ElHeaderAndFooterComponent, selector: "el-header-and-footer", inputs: { editorId: "editorId", editorText: "editorText", editorFrom: "editorFrom", clear: "clear", editorAction: "editorAction", style: "style", bgColor: "bgColor", toolbarMode: "toolbarMode", value: "value" }, outputs: { editorTextChange: "editorTextChange", editorActionResponse: "editorActionResponse", editorTextClear: "editorTextClear" }, providers: [{
|
1156
1106
|
provide: NG_VALUE_ACCESSOR,
|
1157
1107
|
useExisting: forwardRef(() => ElHeaderAndFooterComponent),
|
@@ -1164,7 +1114,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImpor
|
|
1164
1114
|
useExisting: forwardRef(() => ElHeaderAndFooterComponent),
|
1165
1115
|
multi: true
|
1166
1116
|
}], template: "<div class=\"container els-text-editor px-0\" style=\"border-radius: 20px !important;\">\r\n <div class=\"btn-toolbar els-btn-toolbar p-2 py-2 mb-0\" role=\"toolbar\" [id]=\"editorId+'toolbar'\"\r\n [style.background]=\"themeModeBgClr()\" aria-label=\"Toolbar with button groups\" style=\"border-top-left-radius: 20px !important; border-top-right-radius: 20px !important;\">\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Header Options\">\r\n <!-- <div class=\"dropdown\">\r\n <select class=\"els-form-select \" style=\" font-weight: 700 !important; color: #fff; width: 150px; border: 2px solid #7D6D6D !important;\" (change)=\"onFormatChange($event)\">\r\n <option [value]=\"'<h1>'\">Heading 1</option>v\r\n <option [value]=\"'<h2>'\">Heading 2</option>\r\n <option [value]=\"'<h3>'\">Heading 3</option>\r\n <option [value]=\"'<h4>'\">Heading 4</option>\r\n <option [value]=\"'<h5>'\">Heading 5</option>\r\n <option [value]=\"'<h6>'\">Heading 6</option>\r\n <option selected [value]=\"'<p>'\">Normal</option>\r\n </select>\r\n </div> -->\r\n <div ngbDropdown class=\"dropdown\">\r\n <button\r\n class=\"btn btn-white els-form-select border els-toolbar-dropdown-button dropdown-toggle text-start\"\r\n id=\"headerDropdown\" [style.border]=\"themeMode()\" [style.color]=\"themeModeClr()\" ngbDropdownToggle>\r\n <span>{{selectedFormatBlock | titlecase}}</span> <i class=\"mdi mdi-chevron-down \"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"headerDropdown\" class=\"els-text-format\"\r\n [style.border]=\"themeMode()\">\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h1>')\">\r\n <h1>Heading 1</h1>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h2>')\">\r\n <h2>Heading 2</h2>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h3>')\">\r\n <h3>Heading 3</h3>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h4>')\">\r\n <h4>Heading 4</h4>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h5>')\">\r\n <h5>Heading 5</h5>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<h6>')\">\r\n <h6>Heading 6</h6>\r\n </button>\r\n <button class=\"dropdown-item pb-0\" type=\"button\" [style.color]=\"themeModeClr()\"\r\n (click)=\"format('formatBlock', editorId, '<p>')\">\r\n <p>Normal</p>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <!-- <div ngbDropdown class=\"dropdown\">\r\n <button class=\"btn btn-white els-form-select border els-toolbar-dropdown-button dropdown-toggle text-start\"\r\n id=\"headerDropdown\" style=\"width: 100px\" [style.border]=\"themeMode()\" [style.color]=\"themeModeClr()\"\r\n ngbDropdownToggle>\r\n <span style=\"width: 85px; font-weight: 700 !important;\" class=\"text-truncate\">{{selectedFont |\r\n titlecase}}</span>\r\n <i class=\"mdi mdi-chevron-down \"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"headerDropdown\" class=\"els-text-format\" [style.border]=\"themeMode()\">\r\n <button class=\"dropdown-item pb-0\" type=\"button\" *ngFor=\"let font of fonts\" (click)=\"changeFont(font)\"\r\n [style.color]=\"themeModeClr()\">\r\n <span>{{ font }}</span>\r\n </button>\r\n </div>\r\n </div> -->\r\n <div class=\"btn-group els-button-group\" role=\"group\" aria-label=\"Font Options\">\r\n <!-- <select class=\"els-form-select \" style=\" font-weight: 700 !important; color: #fff;border: 2px solid #7D6D6D !important;\" \r\n [(ngModel)]=\"selectedFont\" (change)=\"changeFont($event)\">\r\n <option class=\"els-form-option\" *ngFor=\"let font of fonts\" [value]=\"font\">{{ font }}</option>\r\n </select> -->\r\n <div ngbDropdown class=\"dropdown\">\r\n <button class=\"btn btn-white els-form-select border els-toolbar-dropdown-button dropdown-toggle text-start\"\r\n id=\"headerDropdown\" style=\"width: 100px\" [style.border]=\"themeMode()\" [style.color]=\"themeModeClr()\"\r\n ngbDropdownToggle>\r\n <span style=\"width: 85px; font-weight: 700 !important;\" class=\"text-truncate\">{{selectedFont |\r\n titlecase}}</span>\r\n <i class=\"mdi mdi-chevron-down \"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"headerDropdown\" class=\"els-text-format\" [style.border]=\"themeMode()\">\r\n <button class=\"dropdown-item pb-0\" type=\"button\" *ngFor=\"let font of fonts\" (click)=\"changeFont(font)\"\r\n [style.color]=\"themeModeClr()\">\r\n <span>{{ font }}</span>\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"py-0\" style=\"height: fit-content;\" [style.color]=\"themeModeClr()\">\r\n <div class=\"btn-group els-button-group mr-2 \" role=\"group\" aria-label=\"Text Formatting\">\r\n <button type=\"button\" class=\"btn btn-sm els-toolbar-button\" [class.active]=\"isBoldActive\"\r\n (click)=\"format('bold', editorId)\">\r\n <i class=\"mdi mdi-format-bold\"></i>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [class.active]=\"isItalicActive\"\r\n (click)=\"format('italic', editorId)\">\r\n <i class=\"mdi mdi-format-italic\"></i>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [class.active]=\"isUnderlineActive\"\r\n (click)=\"format('underline', editorId)\">\r\n <i class=\"mdi mdi-format-underline\"></i>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [class.active]=\"isStrikethroughActive\"\r\n (click)=\"format('strikethrough', editorId)\">\r\n <i class=\"mdi mdi-format-strikethrough-variant\"></i>\r\n </button>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Text Color\">\r\n <!-- <input type=\"color\" id=\"textColorPicker\"\r\n style=\"position: absolute; top: 100%; left: 0; z-index: 100; opacity: 0;\"\r\n (change)=\"setTextColor($event)\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" style=\"position: relative;\"\r\n (click)=\"openColorPicker('textColorPicker')\">\r\n <i class=\"mdi mdi-format-color-text icon-with-underline\" [style.color]=\"selectedTextColor\"></i>\r\n </button> -->\r\n <div ngbDropdown class=\"ql-align\">\r\n <button type=\"button\"\r\n class=\"btn btn-outline-primary els-toolbar-button arrow-none text-secondary border-none p-0\"\r\n id=\"dropdownBasic1\" aria-expanded=\"false\" ngbDropdownToggle>\r\n <i class=\"mdi mdi-format-color-text icon-with-underline\"\r\n [style.color]=\"selectedTextColor\"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"width: 200px;\">\r\n <color-sketch color=\"#fff\" [presetColors]=\"[]\"\r\n (onChangeComplete)=\"setTextColor($event, editorId)\"></color-sketch>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"btn-group\" role=\"group\" aria-label=\"Background Color\" style=\"position: relative;\">\r\n <!-- <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [style.color]=\"backgroundColor\"\r\n (click)=\"openColorPicker('bgColorPicker')\">\r\n <i class=\"mdi mdi-alpha-a-box\"></i>\r\n </button>\r\n <input type=\"color\" id=\"bgColorPicker\"\r\n style=\"position: absolute; top: 100%; left: 0; z-index: 100; opacity: 0;\"\r\n (change)=\"setBackgroundColor($event)\"> -->\r\n <div ngbDropdown class=\"ql-align\">\r\n <button type=\"button\"\r\n class=\"btn btn-outline-primary els-toolbar-button arrow-none text-secondary border-none p-0\"\r\n id=\"dropdownBasic1\" aria-expanded=\"false\" ngbDropdownToggle>\r\n <i class=\"mdi mdi-alpha-a-box\" [style.color]=\"backgroundColor\"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"width: 200px;\">\r\n <color-sketch color=\"#fff\" [presetColors]=\"[]\"\r\n (onChangeComplete)=\"setBackgroundColor($event, editorId)\"></color-sketch>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"vertical-line ms-2 border\" [style.border-left]=\"themeModeClrVerticalLine()\"></div>\r\n </div>\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Text Formatting\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\"\r\n (click)=\"format('insertOrderedList', editorId)\"><i\r\n class=\"mdi mdi-format-list-numbered\"></i></button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\"\r\n (click)=\"format('insertUnorderedList', editorId)\"><i\r\n class=\"mdi mdi-format-list-bulleted\"></i></button>\r\n <div ngbDropdown class=\"ql-align\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button arrow-none text-secondary\"\r\n id=\"dropdownBasic1\" aria-expanded=\"false\" ngbDropdownToggle>\r\n <i class=\"mdi mdi-format-align-left \"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"width: 3px;\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" style=\"color: #7A7982;\"\r\n (click)=\"format('justifyLeft', editorId)\"><i class=\"mdi mdi-format-align-left\"></i></button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" style=\"color: #7A7982;\"\r\n (click)=\"format('justifyCenter', editorId)\"><i\r\n class=\"mdi mdi-format-align-center\"></i></button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" style=\"color: #7A7982;\"\r\n (click)=\"format('justifyRight', editorId)\"><i\r\n class=\"mdi mdi-format-align-right\"></i></button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" style=\"color: #7A7982;\"\r\n (click)=\"format('justifyFull', editorId)\"><i\r\n class=\"mdi mdi-format-align-justify\"></i></button>\r\n </div>\r\n </div>\r\n <div class=\"vertical-line ms-2 border\" [style.border-left]=\"themeModeClrVerticalLine()\"></div>\r\n </div>\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Text Formatting\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [class.active]=\"isSubscriptActive\"\r\n (click)=\"format('subscript', editorId)\">\r\n <i class=\"mdi mdi-format-subscript\"></i>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" [class.active]=\"isSuperscriptActive\"\r\n (click)=\"format('superscript', editorId)\">\r\n <i class=\"mdi mdi-format-superscript\"></i>\r\n </button>\r\n\r\n </div>\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Table Options\">\r\n\r\n <div ngbDropdown class=\"ql-align\">\r\n <button type=\"button\" class=\"btn btn-outline-primary arrow-none els-toolbar-button border-none p-0\"\r\n id=\"dropdownBasic1\" aria-expanded=\"false\" ngbDropdownToggle>\r\n <i class=\"mdi mdi-format-color-fill\"></i>\r\n </button>\r\n <div ngbDropdownMenu aria-labelledby=\"dropdownBasic1\" style=\"width: 200px;\">\r\n <color-sketch color=\"#fff\"\r\n (onChangeComplete)=\"setCanvasBackgroundColor($event, editorId)\"></color-sketch>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n <div class=\"btn-group els-button-group-2 mr-3\" role=\"group\" aria-label=\"Table Options\">\r\n <button class=\"btn btn-white px-1\" style=\"height: 24px;\" (click)=\"getToday()\">Date</button>\r\n </div>\r\n <div class=\"btn-group els-button-group-2\" role=\"group\" aria-label=\"Table Options\">\r\n <button class=\"btn btn-white px-1\" style=\"height: 24px;\" (click)=\"insertPageNumber()\">Page\r\n No</button>\r\n\r\n </div>\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Text Formatting\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"addLink()\"><i\r\n class=\"mdi mdi-link-variant\"></i></button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"insertsImage(editorId)\"><i\r\n class=\"mdi mdi-image\"></i></button>\r\n <input type=\"file\" id=\"imageInput\" style=\"display: none;\" (change)=\"handleImageUpload($event)\">\r\n\r\n </div>\r\n <!-- <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Table Options\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"addTable()\"><i\r\n class=\"mdi mdi-table\"></i></button>\r\n <button *ngIf=\"isTableSelected\" type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"addRow()\"><i\r\n class=\"mdi mdi-table-row-plus-after\"></i></button>\r\n <button *ngIf=\"isTableSelected\" type=\"button\" class=\"btn btn-white els-toolbar-button\"\r\n (click)=\"deleteRow()\"><i class=\"mdi mdi-table-row-remove\"></i></button>\r\n <button *ngIf=\"isTableSelected\" type=\"button\" class=\"btn btn-white els-toolbar-button\"\r\n (click)=\"addColumn()\"><i class=\"mdi mdi-table-column-plus-after\"></i></button>\r\n <button *ngIf=\"isTableSelected\" type=\"button\" class=\"btn btn-white els-toolbar-button\"\r\n (click)=\"deleteColumn()\"><i class=\"mdi mdi-table-column-remove\"></i></button>\r\n </div>\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Table Options\">\r\n <button *ngIf=\"selectedImage\" class=\"btn btn-white els-toolbar-button-2\" (click)=\"editImage()\"\r\n style=\"position: absolute;\">Edit Image</button>\r\n </div> -->\r\n <!-- <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Text Formatting\">\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"undo()\">\r\n <i class=\"mdi mdi-undo\"></i>\r\n </button>\r\n <button type=\"button\" class=\"btn btn-white els-toolbar-button\" (click)=\"redo()\">\r\n <i class=\"mdi mdi-redo\"></i>\r\n </button>\r\n\r\n </div> -->\r\n <div class=\"btn-group els-button-group mr-2\" role=\"group\" aria-label=\"Table Options\">\r\n <!-- <button *ngIf=\"selectedImage\" class=\"btn btn-white els-toolbar-button-2\" (click)=\"editImage()\"\r\n style=\"position: absolute;\">Edit Image</button> -->\r\n <button class=\"btn btn-white els-toolbar-button\" (click)=\"clearTextEditor()\">\r\n <i class=\"mdi mdi-close-circle\"></i>\r\n </button>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n\r\n <div contenteditable=\"true\" [id]=\"editorId\" class=\"els-border p-3\" #editor\r\n style=\"position: relative !important; height: 130px; max-width: 100%; overflow: hidden; border-bottom-left-radius: 20px !important; border-bottom-right-radius: 20px !important; border-bottom-left-radius: 20px !important;\"\r\n [style.border-top]=\"themeModeBorderTop()\"\r\n [ngStyle]=\"{'font-family': selectedFont, 'font-size': selectedFontSize + 'px'}\" [style]=\"style\"\r\n contenteditable=\"true\" (input)=\"onModelChange($event)\" placeholder=\"Insert text here ...\"\r\n (mouseup)=\"onTextSelect($event)\" [innerHTML]=\"sanitizedContent\" (paste)=\"onPaste($event)\" (focus)=\"onFocus()\"\r\n (blur)=\"onBlur()\" (click)=\"checkTableSelection($event)\">\r\n </div>\r\n <table *ngIf=\"parsedTable\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let header of parsedTable.headers\">{{ header }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let row of parsedTable.rows\">\r\n <td *ngFor=\"let cell of row\">{{ cell }}</td>\r\n </tr>\r\n </tbody>\r\n </table>\r\n</div>", styles: ["*{font-family:Noto Sans Telugu UI,sans-serif}#editor{min-height:125px;max-height:125px;overflow-y:auto}#editor img{max-width:100%;height:auto}.bubble-toolbar{position:absolute;background-color:#fff;border:1px solid #ddd;border-radius:4px;box-shadow:0 2px 5px #00000026;z-index:1000;display:none}.els-text-editor{box-sizing:border-box}.els-btn-toolbar{width:\"1028px\"}.els-toolbar-button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:28px}.els-toolbar-button-2{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;width:100px}.els-toolbar-dropdown-button{background:none;border:none;cursor:pointer;display:inline-block;float:left;height:24px;padding:3px 5px;color:#fff}.els-toolbar-dropdown-button:focus{outline:none}.els-form-select{cursor:pointer;display:inline-block;height:100%;padding:2px 5px 2px 8px;position:relative;width:100%;border:none;color:#000}.els-button-group{margin-right:15px}.els-form-select:focus{outline:none}.els-border{border:#353343}.els-border:focus{outline:none}.els-dropdown-item{width:50px!important}.els-toolbar-button.active,.btn-toolbar .btn.active,.btn-toolbar .btn:hover{color:#06c}.dropdown-toggle:after{display:none}.table-container{overflow-x:auto;width:100%}table{width:100%;max-width:100%;margin-bottom:1rem;background-color:transparent;border-collapse:collapse;table-layout:fixed}table td,table th{padding:.75rem;vertical-align:top;border:1px solid #dee2e6;word-wrap:break-word}@media (max-width: 576px){table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;border-spacing:0}table thead,table tbody,table tr,table th,table td{display:block}table thead tr{position:absolute;top:-9999px;left:-9999px}table tr{margin-bottom:.625rem;border:1px solid #ccc}table td,table th{border:none;border-bottom:1px solid #ddd;position:relative;padding-left:50%;white-space:normal;text-align:left}table td:before,table th:before{position:absolute;top:.75rem;left:.75rem;width:45%;padding-right:.75rem;white-space:nowrap;text-align:left;font-weight:700}}table.resizable{overflow:hidden;resize:both}.btn-group .btn{display:flex;align-items:center;justify-content:center}.btn-group .mdi{font-size:18px}.icon-with-underline{text-decoration:underline}pre{background-color:#f0f0f0;border:1px solid #ccc;border-radius:5px;overflow-x:auto}code{display:block;white-space:pre-wrap;font-family:Menlo,Monaco,Consolas,Courier New,monospace;font-size:14px}.custom-scrollbar::-webkit-scrollbar{width:4px}.custom-scrollbar::-webkit-scrollbar-thumb{background-color:#888;border-radius:10px;cursor:pointer}.custom-scrollbar::-webkit-scrollbar-thumb:hover{background-color:#555}.custom-scrollbar::-webkit-scrollbar-track{background:transparent;border-radius:10px}.pasted-table{border-collapse:collapse;width:100%}.pasted-table td{border:1px solid black;padding:8px}.pasted-table tr:nth-child(even){background-color:#f2f2f2}.pasted-table tr:hover{background-color:#ddd}.vertical-line{height:28px;margin:0 auto}.els-text-format{font-weight:800!important}.els-text-format>button{color:#000!important}.els-text-format>button:hover{background-color:#7d6d6d!important;color:#fff!important}\n"] }]
|
1167
|
-
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.Renderer2 }, { type: i2.DomSanitizer }
|
1117
|
+
}], ctorParameters: function () { return [{ type: i1.Router }, { type: i1.ActivatedRoute }, { type: i0.Renderer2 }, { type: i2.DomSanitizer }]; }, propDecorators: { dropdown: [{
|
1168
1118
|
type: ViewChild,
|
1169
1119
|
args: [NgbDropdown, { static: true }]
|
1170
1120
|
}], editorId: [{
|