Skip to content

Commit ddcc349

Browse files
committed
minor bug
1 parent f054048 commit ddcc349

File tree

7 files changed

+20
-6
lines changed

7 files changed

+20
-6
lines changed

src/BoolColumn.ts

+1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export default class BoolColumn extends Column {
1010
return "Bool";
1111
}
1212
public sortRows(rows: HTMLElement[], asc: boolean): HTMLElement[] {
13+
this.isSortedAsc = asc;
1314
return rows.sort((a, b) => {
1415
// Récupère les cases à cocher (checkbox) dans les cellules
1516
const cellA = a.getElementsByTagName("td")[this.columnIndex];

src/Column.ts

+12-1
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export interface IColumn {
1010
columnId: string;
1111
cnt: number;
1212
visible: boolean;
13+
isSortedAsc: boolean;
1314

1415
setV(a: boolean): void;
1516
getV(): boolean;
@@ -21,6 +22,8 @@ export interface IColumn {
2122
setPropertyName(a: string): void;
2223
getPropertyName(): string;
2324

25+
getSortedAsc(): boolean;
26+
2427
print(): void;
2528

2629
addCnt1(): void;
@@ -58,6 +61,7 @@ export default abstract class Column implements IColumn {
5861
columnId: string;
5962
cnt: number;
6063
visible: boolean;
64+
isSortedAsc: boolean;
6165

6266
constructor(pname: string, app: App) {
6367
this.app = app;
@@ -68,6 +72,7 @@ export default abstract class Column implements IColumn {
6872
this.columnId = "";
6973
this.cnt = 0;
7074
this.visible = true;
75+
this.isSortedAsc = true;
7176
}
7277

7378
public extractCells(rows: HTMLElement[]): HTMLElement[] {
@@ -79,7 +84,7 @@ export default abstract class Column implements IColumn {
7984
});
8085
return values;
8186
}
82-
87+
8388
public applyV(rows: HTMLElement[]) {
8489
let cells = this.extractCells(rows);
8590
cells.forEach((c) => {
@@ -111,6 +116,10 @@ export default abstract class Column implements IColumn {
111116
return this.cnt;
112117
}
113118

119+
public getSortedAsc(): boolean {
120+
return this.isSortedAsc;
121+
}
122+
114123
public setId(a: string) {
115124
this.columnId = a;
116125
}
@@ -141,6 +150,7 @@ export default abstract class Column implements IColumn {
141150
}
142151

143152
public setStrType(a: string): void {}
153+
144154
public getStrType(): string {
145155
return "";
146156
}
@@ -201,6 +211,7 @@ export default abstract class Column implements IColumn {
201211
}
202212

203213
public sortRows(rows: HTMLElement[], asc: boolean): HTMLElement[] {
214+
this.isSortedAsc = asc;
204215
return rows.sort((a, b) => {
205216
const cellA = a.getElementsByTagName("td")[this.columnIndex]?.textContent?.trim().toLowerCase() || "";
206217
const cellB = b.getElementsByTagName("td")[this.columnIndex]?.textContent?.trim().toLowerCase() || "";

src/DateTimeColumn.ts

+1
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,7 @@ export default class DateTimeColumn extends Column {
8585
}
8686

8787
public sortRows(rows: HTMLElement[], asc: boolean) {
88+
this.isSortedAsc = asc;
8889
rows.sort((a, b) => {
8990
const cellA = a.getElementsByTagName("td")[this.columnIndex];
9091
const cellB = b.getElementsByTagName("td")[this.columnIndex];

src/IDColumn.ts

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ export default class IDColumn extends Column {
2929
return "ID";
3030
}
3131
public sortRows(rows : HTMLElement[], asc:boolean) : HTMLElement[] {
32+
this.isSortedAsc = asc;
3233
rows.sort((a, b) => {
3334
const cellA = a.getElementsByTagName("td")[this.columnIndex]?.textContent?.trim().toLowerCase() || "";
3435
const cellB = b.getElementsByTagName("td")[this.columnIndex]?.textContent?.trim().toLowerCase() || "";

src/IntColumn.ts

+1
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ export default class IntColumn extends Column {
4949
}
5050

5151
public sortRows(rows: HTMLElement[], asc: boolean): HTMLElement[] {
52+
this.isSortedAsc = asc;
5253
rows.sort((a, b) => {
5354
const cellA = a.getElementsByTagName("td")[this.columnIndex];
5455
const cellB = b.getElementsByTagName("td")[this.columnIndex];

src/TextColumn.ts

-3
Original file line numberDiff line numberDiff line change
@@ -64,9 +64,6 @@ export default class TextColumn extends BasedTextColumn {
6464
};
6565
renderMarkdown();
6666

67-
// const displayDiv = cell.createEl("div", { cls: "ptp-markdown-preview" });
68-
// this.renderMarkdownToDiv(displayDiv, v2, file);
69-
7067
const input = cell.createEl("input", { type: "text", cls: "ptp-text-preview" });
7168
input.value = v2;
7269
input.style.display = "none";

src/propTable.ts

+4-2
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,12 @@ export class GlobalPropertiesView extends ItemView {
3939
private folderPath: string = "/";
4040
private tablecreated = false;
4141
private settings;
42+
private sortedColumn : null|IColumn;
4243

4344
constructor(leaf: WorkspaceLeaf, setting: GlobalPropertiesSettings) {
4445
super(leaf);
4546
this.settings = setting;
47+
this.sortedColumn = null;
4648
}
4749

4850
public rebuildTheView() {
@@ -142,7 +144,6 @@ export class GlobalPropertiesView extends ItemView {
142144
buttonGlobF.appendChild(icon2Container);
143145
buttonGlobF.addEventListener("click", async (event) => {
144146
event.preventDefault();
145-
console.log("clearAllFilter");
146147
this.clearAllFilters();
147148
});
148149

@@ -199,6 +200,7 @@ export class GlobalPropertiesView extends ItemView {
199200
this.buildTableBody();
200201
this.applyVisibility();
201202
this.addZoomFeature();
203+
if(this.sortedColumn != null) this.sortTable(this.sortedColumn, this.sortedColumn.getSortedAsc());
202204
contentEl.scrollTop = 0;
203205
}
204206

@@ -427,7 +429,6 @@ export class GlobalPropertiesView extends ItemView {
427429
let allowedValues = col.getUniqDisplayValuesFiltered(this.getRows());
428430

429431
const modal = new FilterModal(this.app, col, allowedValues, (selectedValues: any[]) => {
430-
console.log(selectedValues);
431432
col.setFilter(selectedValues);
432433
this.reapplyAllFilters();
433434
this.updateFilterButtonStyles();
@@ -480,6 +481,7 @@ export class GlobalPropertiesView extends ItemView {
480481
if (!tbody) return;
481482
const rows = Array.from(tbody.getElementsByTagName("tr"));
482483
tbody.append(...col.sortRows(rows, asc));
484+
this.sortedColumn = col;
483485
}
484486

485487
private addZoomFeature() {

0 commit comments

Comments
 (0)