el-header-and-footer 0.0.52 → 0.0.53

Sign up to get free protection for your applications and to get access to all the features.
@@ -658,30 +658,79 @@ class ElHeaderAndFooterComponent {
658
658
  // }
659
659
  // }
660
660
  // }
661
+ // addColumn() {
662
+ // if (this.selectedTable) {
663
+ // const columnCount = this.selectedTable.rows[0].cells.length + 1; // New column count
664
+ // const tableWidth = this.selectedTable.offsetWidth;
665
+ // const minWidth = tableWidth / columnCount;
666
+ // for (let i = 0; i < this.selectedTable.rows.length; i++) {
667
+ // let cell = this.selectedTable.rows[i].insertCell(-1);
668
+ // cell.innerHTML = '&nbsp;';
669
+ // cell.style.border = this.themeModeClrVerticalLineForTable();
670
+ // cell.style.minWidth = `${minWidth}px`;
671
+ // cell.style.wordWrap = 'break-word';
672
+ // cell.style.wordBreak = 'break-all';
673
+ // cell.style.whiteSpace = 'normal';
674
+ // }
675
+ // // Update existing cells' minWidth
676
+ // for (let i = 0; i < this.selectedTable.rows.length; i++) {
677
+ // for (let j = 0; j < this.selectedTable.rows[i].cells.length; j++) {
678
+ // this.selectedTable.rows[i].cells[j].style.minWidth = `${minWidth}px`;
679
+ // }
680
+ // }
681
+ // }
682
+ // }
683
+ // deleteColumn() {
684
+ // if (this.selectedTable) {
685
+ // if (window.getSelection) {
686
+ // let selection = window.getSelection();
687
+ // if (selection) {
688
+ // let cell = selection.anchorNode?.parentElement?.closest('td, th') as HTMLTableCellElement;
689
+ // if (cell) {
690
+ // let cellIndex = cell.cellIndex;
691
+ // for (let i = 0; i < this.selectedTable.rows.length; i++) {
692
+ // this.selectedTable.rows[i].deleteCell(cellIndex);
693
+ // }
694
+ // }
695
+ // }
696
+ // }
697
+ // }
698
+ // }
661
699
  addColumn() {
662
700
  if (this.selectedTable) {
663
- const columnCount = this.selectedTable.rows[0].cells.length + 1; // New column count
701
+ const columnCount = this.selectedTable.rows[0].cells.length; // Get current column count
702
+ if (columnCount >= 3) {
703
+ console.warn("Maximum column limit (3) reached!");
704
+ return; // Stop adding columns if the limit is reached
705
+ }
706
+ const newColumnCount = columnCount + 1; // New column count after adding
664
707
  const tableWidth = this.selectedTable.offsetWidth;
665
- const minWidth = tableWidth / columnCount;
708
+ const minWidth = tableWidth / newColumnCount;
666
709
  for (let i = 0; i < this.selectedTable.rows.length; i++) {
667
710
  let cell = this.selectedTable.rows[i].insertCell(-1);
668
711
  cell.innerHTML = '&nbsp;';
669
- cell.style.border = this.themeModeClrVerticalLineForTable();
712
+ cell.style.border = `1px solid #000`; // Set border color (Black)
670
713
  cell.style.minWidth = `${minWidth}px`;
671
714
  cell.style.wordWrap = 'break-word';
672
715
  cell.style.wordBreak = 'break-all';
673
716
  cell.style.whiteSpace = 'normal';
674
717
  }
675
- // Update existing cells' minWidth
718
+ // Update existing cells' minWidth and border color
676
719
  for (let i = 0; i < this.selectedTable.rows.length; i++) {
677
720
  for (let j = 0; j < this.selectedTable.rows[i].cells.length; j++) {
678
721
  this.selectedTable.rows[i].cells[j].style.minWidth = `${minWidth}px`;
722
+ this.selectedTable.rows[i].cells[j].style.border = `1px solid${this.themeModeClrBorderForTable()}`; // Apply border color
679
723
  }
680
724
  }
681
725
  }
682
726
  }
683
727
  deleteColumn() {
684
728
  if (this.selectedTable) {
729
+ const columnCount = this.selectedTable.rows[0].cells.length; // Get current column count
730
+ if (columnCount <= 1) {
731
+ console.warn("Cannot delete the last column!");
732
+ return; // Stop deleting if only one column is left
733
+ }
685
734
  if (window.getSelection) {
686
735
  let selection = window.getSelection();
687
736
  if (selection) {