Skip to content
This repository was archived by the owner on Jul 28, 2025. It is now read-only.

Commit 028b3bc

Browse files
committed
imporveing template from file
1 parent b58bcd6 commit 028b3bc

File tree

2 files changed

+23
-11
lines changed

2 files changed

+23
-11
lines changed

package.json

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -26,18 +26,18 @@
2626
"@rollup/plugin-typescript": "9.0.2",
2727
"@testing-library/jest-dom": "5.16.5",
2828
"@testing-library/react": "13.4.0",
29-
"@types/jest": "29.2.0",
30-
"@types/luxon": "3.0.2",
31-
"@types/node": "18.11.8",
32-
"@types/react": "18.0.24",
29+
"@types/jest": "29.2.2",
30+
"@types/luxon": "3.1.0",
31+
"@types/node": "18.11.9",
32+
"@types/react": "18.0.25",
3333
"@types/react-csv": "1.1.3",
3434
"@types/react-datepicker": "4.8.0",
3535
"@types/react-dom": "18.0.8",
3636
"@types/react-window": "1.8.5",
37-
"@typescript-eslint/eslint-plugin": "5.42.0",
38-
"@typescript-eslint/parser": "5.42.0",
39-
"eslint": "8.26.0",
40-
"jest": "29.2.2",
37+
"@typescript-eslint/eslint-plugin": "5.42.1",
38+
"@typescript-eslint/parser": "5.42.1",
39+
"eslint": "8.27.0",
40+
"jest": "29.3.1",
4141
"jest-mock-extended": "3.0.1",
4242
"obsidian": "0.16.3",
4343
"rollup": "2.79.1",

src/settings/handlers/columns/TemplateColumnsHandler.ts

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -39,10 +39,22 @@ export class TemplateColumnsHandler extends AbstractSettingsHandler {
3939
.setTooltip("Save columns from file")
4040
.onClick(async (): Promise<void> => {
4141
const tfile = resolve_tfile(selected_file);
42-
const columns = await obtainColumnsFromFile(tfile);
43-
view.diskConfig.yaml.columns = columns;
42+
const templateYamlColumns = await obtainColumnsFromFile(tfile);
43+
// Merge columns with existing ones at the end
44+
const new_columns = { ...view.diskConfig.yaml.columns };
45+
let currentSize = columns.length;
46+
let colsAdded = 0;
47+
Object.entries(templateYamlColumns).forEach(([key, value]) => {
48+
if (!new_columns[key]) {
49+
value.position = currentSize;
50+
new_columns[key] = value;
51+
currentSize++;
52+
colsAdded++;
53+
}
54+
});
55+
view.diskConfig.yaml.columns = new_columns;
4456
view.diskConfig.saveOnDisk();
45-
new Notice(`${Object.keys(columns).length} Columns were loaded from file "${tfile.basename}"! Close this dialog to show the database changes`);
57+
new Notice(`${colsAdded} Columns were loaded from file "${tfile.basename}". Total: ${currentSize}\nClose settings modal to show the database changes`);
4658
});
4759
});
4860

0 commit comments

Comments
 (0)