From 63c041ba05a79a538daa80b8e69eafeb49fe7d2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=B7=E5=86=9B?= Date: Fri, 29 Dec 2023 10:54:09 +0800 Subject: [PATCH] feat: add sheet default rows stting --- manifest.json | 2 +- src/ExcelSettingTab.ts | 26 ++++++++++++++++++++++++++ src/ExcelView.ts | 6 +++--- src/MarkdownPostProcessor.ts | 4 ++-- src/lang/locale/en.ts | 4 ++++ src/lang/locale/zh-cn.ts | 4 ++++ src/utils/Settings.ts | 4 ++++ 7 files changed, 44 insertions(+), 6 deletions(-) diff --git a/manifest.json b/manifest.json index 5636d9d..0c62ac2 100644 --- a/manifest.json +++ b/manifest.json @@ -1,7 +1,7 @@ { "id": "excel", "name": "Excel", - "version": "1.3.20", + "version": "1.3.21", "minAppVersion": "0.15.0", "description": "Create spreadsheets and easily embed them in Markdown", "author": "ljcoder", diff --git a/src/ExcelSettingTab.ts b/src/ExcelSettingTab.ts index b9cc049..1401a38 100644 --- a/src/ExcelSettingTab.ts +++ b/src/ExcelSettingTab.ts @@ -115,6 +115,32 @@ export class ExcelSettingTab extends PluginSettingTab { }) ) + new Setting(containerEl) + .setName(t("DEFAULT_ROWS_LEN")) + .setDesc(t("DEFAULT_ROWS_LEN_DESC")) + .addText((text) => + text + .setPlaceholder("100") + .setValue(this.plugin.settings.defaultRowsLen) + .onChange(async (value) => { + this.plugin.settings.defaultRowsLen = value + this.plugin.saveSettings() + }) + ) + + new Setting(containerEl) + .setName(t("DEFAULT_COLS_LEN")) + .setDesc(t("DEFAULT_COLS_LEN_DESC")) + .addText((text) => + text + .setPlaceholder("26") + .setValue(this.plugin.settings.defaultColsLen) + .onChange(async (value) => { + this.plugin.settings.defaultColsLen = value + this.plugin.saveSettings() + }) + ) + new Setting(containerEl) .setName(t("SHOW_SHEET_BUTTON")) .setDesc(t("SHOW_SHEET_BUTTON_DESC")) diff --git a/src/ExcelView.ts b/src/ExcelView.ts index 6884bf6..fd19218 100644 --- a/src/ExcelView.ts +++ b/src/ExcelView.ts @@ -109,8 +109,8 @@ export class ExcelView extends TextFileView { sheetAny.rows.len = Math.max(100, parseInt(last) + 20) } }) - this.sheet.loadData(sheetData) this.saveData(JSON.stringify(sheetData)) + this.refresh() } else { new Notice(t("DATA_PARSING_ERROR")); } @@ -248,11 +248,11 @@ export class ExcelView extends TextFileView { width: () => this.contentEl.clientWidth - 32, }, row: { - len: 100, + len: parseInt(this.plugin.settings.defaultRowsLen), height: parseInt(this.plugin.settings.rowHeight), }, col: { - len: 26, + len: parseInt(this.plugin.settings.defaultColsLen), width: parseInt(this.plugin.settings.colWidth), indexWidth: 60, minWidth: 60, diff --git a/src/MarkdownPostProcessor.ts b/src/MarkdownPostProcessor.ts index b69f193..113de4e 100644 --- a/src/MarkdownPostProcessor.ts +++ b/src/MarkdownPostProcessor.ts @@ -375,11 +375,11 @@ const createSheetEl = ( width: () => width - 10, }, row: { - len: 100, + len: parseInt(plugin.settings.defaultRowsLen), height: parseInt(plugin.settings.rowHeight), }, col: { - len: 26, + len: parseInt(plugin.settings.defaultColsLen), width: parseInt(plugin.settings.colWidth), indexWidth: 60, minWidth: 60, diff --git a/src/lang/locale/en.ts b/src/lang/locale/en.ts index 81ebd9b..34ca2dd 100644 --- a/src/lang/locale/en.ts +++ b/src/lang/locale/en.ts @@ -42,6 +42,10 @@ export default { ROW_HEIGHT_DESC: "Default row height", COLUMN_WIDTH: "Column Width", COLUMN_WIDTH_DESC: "Default column width", + DEFAULT_ROWS_LEN: 'Default render rows', + DEFAULT_ROWS_LEN_DESC: 'Default number of render rows', + DEFAULT_COLS_LEN: 'Default render columns', + DEFAULT_COLS_LEN_DESC: 'Default number of rendered columns', SHOW_SHEET_BUTTON: "Show Sheet Button", SHOW_SHEET_BUTTON_DESC: "Show Sheet Button", }; diff --git a/src/lang/locale/zh-cn.ts b/src/lang/locale/zh-cn.ts index 834356f..e64c6dc 100644 --- a/src/lang/locale/zh-cn.ts +++ b/src/lang/locale/zh-cn.ts @@ -41,6 +41,10 @@ export default { ROW_HEIGHT_DESC: "设置表格的默认行高", COLUMN_WIDTH: "列宽", COLUMN_WIDTH_DESC: "设置表格的默认列宽", + DEFAULT_ROWS_LEN: '默认渲染行数', + DEFAULT_ROWS_LEN_DESC: '创建表格时默认渲染最大行数', + DEFAULT_COLS_LEN: '默认渲染列数', + DEFAULT_COLS_LEN_DESC: '创建表格时默认渲染最大列数', SHOW_SHEET_BUTTON: "显示标题按钮", SHOW_SHEET_BUTTON_DESC: "是否显示标题按钮", }; diff --git a/src/utils/Settings.ts b/src/utils/Settings.ts index a5b9398..40394e5 100644 --- a/src/utils/Settings.ts +++ b/src/utils/Settings.ts @@ -7,6 +7,8 @@ export interface ExcelSettings { colWidth: string, theme: string, showSheetButton: string, + defaultRowsLen: string, + defaultColsLen: string, } export const DEFAULT_SETTINGS: ExcelSettings = { @@ -18,4 +20,6 @@ export const DEFAULT_SETTINGS: ExcelSettings = { colWidth: "100", theme: "light", showSheetButton: "true", + defaultRowsLen: "100", + defaultColsLen: "26", };