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

Commit 19bac29

Browse files
committed
refactor working, now its time to refresh page when modal is closed
1 parent d724907 commit 19bac29

File tree

8 files changed

+44
-86
lines changed

8 files changed

+44
-86
lines changed

src/Settings.ts

Lines changed: 15 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -6,27 +6,29 @@ import { LOGGER } from "services/Logger";
66
import { developer_settings_section } from "settings/DeveloperSection";
77
import { columns_settings_section } from "settings/ColumnsSection";
88
import { folder_settings_section } from "settings/FolderSection";
9-
import { StyleClasses } from "helpers/Constants";
9+
import { DEFAULT_COLUMN_CONFIG, StyleClasses } from "helpers/Constants";
1010
import { SettingHandlerResponse } from "settings/handlers/AbstractSettingHandler";
1111
import { media_settings_section } from "settings/MediaSection";
1212

13-
interface GlobalSettings {
14-
enable_debug_mode: boolean;
15-
logger_level_info: string;
16-
}
17-
1813
export interface MediaSettings {
1914
enable_media_view: boolean;
2015
width: number;
2116
height: number;
2217
}
18+
/**
19+
* Options that affects the behavior of the plugin and defines default values with some fields
20+
*/
21+
interface GlobalSettings {
22+
enable_debug_mode: boolean;
23+
logger_level_info: string;
24+
media_settings: MediaSettings;
25+
}
2326
export interface LocalSettings {
2427
enable_show_state: boolean;
2528
group_folder_column: string;
2629
remove_field_when_delete_column: boolean;
2730
show_metadata_created: boolean;
2831
show_metadata_modified: boolean;
29-
media_settings: MediaSettings;
3032
}
3133

3234
export interface DatabaseSettings {
@@ -37,19 +39,19 @@ export interface DatabaseSettings {
3739
export const DEFAULT_SETTINGS: DatabaseSettings = {
3840
global_settings: {
3941
enable_debug_mode: false,
40-
logger_level_info: 'error'
42+
logger_level_info: 'error',
43+
media_settings: {
44+
enable_media_view: DEFAULT_COLUMN_CONFIG.enable_media_view,
45+
width: DEFAULT_COLUMN_CONFIG.media_height,
46+
height: DEFAULT_COLUMN_CONFIG.media_height
47+
}
4148
},
4249
local_settings: {
4350
enable_show_state: false,
4451
remove_field_when_delete_column: false,
4552
group_folder_column: '',
4653
show_metadata_created: false,
4754
show_metadata_modified: false,
48-
media_settings: {
49-
enable_media_view: true,
50-
width: 100,
51-
height: 100
52-
}
5355
}
5456
};
5557

src/components/Header.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ export default function Header(headerProps: DatabaseHeaderProps) {
5858
const [expanded, setExpanded] = useState(created || false);
5959
const [domReady, setDomReady] = useState(false);
6060
const [referenceElement, setReferenceElement] = useState(null);
61+
console.log("headerProps", headerProps);
6162
const [isInline, setIsInline] = useState(headerProps.column.config.isInline);
6263
const [labelState, setLabelState] = useState(headerProps.column.label);
6364
React.useEffect(() => {

src/components/modals/handlers/MediaDimensionsHandler.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@ export class MediaDimensionsHandler extends AbstractColumnHandler {
4141
.onClick(async (): Promise<void> => {
4242
// Persist change
4343
view.diskConfig.updateColumnConfig(column.key, {
44-
media_width: dbSettings.local_settings.media_settings.width,
45-
media_height: dbSettings.local_settings.media_settings.height
44+
media_width: dbSettings.global_settings.media_settings.width,
45+
media_height: dbSettings.global_settings.media_settings.height
4646
});
4747
// Force refresh of settings
4848
//settingsManager.reset(settingHandlerResponse);

src/components/modals/handlers/MediaToggleHandler.ts

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,25 +5,21 @@ export class MediaToggleHandler extends AbstractColumnHandler {
55
handle(settingHandlerResponse: ColumnHandlerResponse): ColumnHandlerResponse {
66
const { column, containerEl, view } = settingHandlerResponse;
77
// pass if modal opened from local settings
8-
const { media_settings } = view.diskConfig.yaml.config;
98
const media_togle_promise = async (value: boolean): Promise<void> => {
10-
media_settings.enable_media_view = value;
9+
column.config.enable_media_view = value;
1110
// Check context to define correct promise
1211
// Persist value
13-
1412
view.diskConfig.updateColumnConfig(column.key, {
15-
enable_media_view: value
13+
media_togle_promise: value
1614
});
17-
view.diskConfig.updateConfig('media_settings', media_settings);
18-
1915
// Force refresh of settings
2016
//settingsManager.reset(settingHandlerResponse);
2117
}
2218
add_toggle(
2319
containerEl,
2420
this.settingTitle,
2521
"Enable/disable wrap media links with embedding content",
26-
media_settings.enable_media_view,
22+
column.config.enable_media_view,
2723
media_togle_promise
2824
);
2925
return this.goNext(settingHandlerResponse);

src/helpers/Constants.ts

Lines changed: 15 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,12 @@ export const MetadataLabels = Object.freeze({
4545
CALENDAR_TIME: 'Datetime',
4646
});
4747

48+
export const DEFAULT_COLUMN_CONFIG = Object.freeze({
49+
enable_media_view: true,
50+
media_width: 100,
51+
media_height: 100,
52+
isInline: false
53+
});
4854
export const MetadataDatabaseColumns = Object.freeze({
4955
FILE:
5056
{
@@ -55,12 +61,7 @@ export const MetadataDatabaseColumns = Object.freeze({
5561
isMetadata: true,
5662
skipPersist: false,
5763
csvCandidate: true,
58-
config: {
59-
enable_media_view: false,
60-
media_width: 0,
61-
media_height: 0,
62-
isInline: false
63-
}
64+
config: DEFAULT_COLUMN_CONFIG
6465
},
6566
ADD_COLUMN: {
6667
key: MetadataColumns.ADD_COLUMN,
@@ -70,12 +71,7 @@ export const MetadataDatabaseColumns = Object.freeze({
7071
isMetadata: true,
7172
skipPersist: true,
7273
csvCandidate: false,
73-
config: {
74-
enable_media_view: false,
75-
media_width: 0,
76-
media_height: 0,
77-
isInline: false
78-
}
74+
config: DEFAULT_COLUMN_CONFIG
7975
},
8076
CREATED: {
8177
key: MetadataColumns.CREATED,
@@ -85,12 +81,7 @@ export const MetadataDatabaseColumns = Object.freeze({
8581
isMetadata: true,
8682
skipPersist: false,
8783
csvCandidate: true,
88-
config: {
89-
enable_media_view: false,
90-
media_width: 0,
91-
media_height: 0,
92-
isInline: false
93-
}
84+
config: DEFAULT_COLUMN_CONFIG
9485
},
9586
MODIFIED: {
9687
key: MetadataColumns.MODIFIED,
@@ -100,12 +91,7 @@ export const MetadataDatabaseColumns = Object.freeze({
10091
isMetadata: true,
10192
skipPersist: false,
10293
csvCandidate: true,
103-
config: {
104-
enable_media_view: false,
105-
media_width: 0,
106-
media_height: 0,
107-
isInline: false
108-
}
94+
config: DEFAULT_COLUMN_CONFIG
10995
}
11096
});
11197

@@ -139,6 +125,11 @@ export const DatabaseFrontmatterOptions = Object.freeze({
139125
' accessor: column1',
140126
' label: Column 1',
141127
' position: 0',
128+
' config:',
129+
' enable_media_view: true',
130+
' media_width: 100',
131+
' media_height: 100',
132+
' isInline: false',
142133
'filters:',
143134
].join('\n')
144135
});

src/parsers/handlers/marshall/MarshallColumnsHandler.ts

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
import { YamlHandlerResponse } from 'cdm/MashallModel';
2-
import { DataTypes } from 'helpers/Constants';
2+
import { DataTypes, DEFAULT_COLUMN_CONFIG } from 'helpers/Constants';
33
import { AbstractYamlHandler } from 'parsers/handlers/marshall/AbstractYamlPropertyHandler';
44

55
export class MarshallColumnsHandler extends AbstractYamlHandler {
@@ -28,7 +28,6 @@ export class MarshallColumnsHandler extends AbstractYamlHandler {
2828
}
2929
// Check every column
3030
Object.keys(yaml.columns)
31-
.filter(key => !yaml.columns[key].isMetadata)
3231
.forEach((key) => {
3332
const column = yaml.columns[key];
3433
if (!column.input) {
@@ -48,29 +47,23 @@ export class MarshallColumnsHandler extends AbstractYamlHandler {
4847
yaml.columns[key].label = key;
4948
}
5049
if (!column.config && !(column.config instanceof Object)) {
51-
this.addError(`There was not config in column ${key}`);
52-
column.config = {
53-
enable_media_view: true,
54-
media_width: 100,
55-
media_height: 100,
56-
isInline: false
57-
};
50+
column.config = DEFAULT_COLUMN_CONFIG;
5851
yaml.columns[key] = column;
5952
} else {
6053
if (!column.config.enable_media_view) {
61-
column.config.enable_media_view = true;
54+
column.config.enable_media_view = DEFAULT_COLUMN_CONFIG.enable_media_view;
6255
yaml.columns[key] = column;
6356
}
6457
if (!column.config.media_width) {
65-
column.config.media_width = 100;
58+
column.config.media_width = DEFAULT_COLUMN_CONFIG.media_width;
6659
yaml.columns[key] = column;
6760
}
6861
if (!column.config.media_height) {
69-
column.config.media_height = 100;
62+
column.config.media_height = DEFAULT_COLUMN_CONFIG.media_height;
7063
yaml.columns[key] = column;
7164
}
7265
if (!column.config.isInline) {
73-
column.config.isInline = false;
66+
column.config.isInline = DEFAULT_COLUMN_CONFIG.isInline;
7467
yaml.columns[key] = column;
7568
}
7669
}

src/parsers/handlers/marshall/MarshallConfigHandler.ts

Lines changed: 0 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -36,33 +36,6 @@ export class MarshallConfigHandler extends AbstractYamlHandler {
3636
this.addError(`There was not show_metadata_modified key in yaml. Default will be loaded`);
3737
yaml.config.show_metadata_modified = false;
3838
}
39-
40-
// if media_settings is not defined, load default
41-
if (checkNullable(yaml.config.media_settings)) {
42-
this.addError(`There was not media_settings key in yaml. Default will be loaded`);
43-
yaml.config.media_settings = {
44-
enable_media_view: true,
45-
width: 100,
46-
height: 100
47-
};
48-
} else {
49-
// otherwise, check if the media_settings fields are defined
50-
if (checkNullable(yaml.config.media_settings.enable_media_view)) {
51-
this.addError(`There was not enable_media_view key in yaml. Default will be loaded`);
52-
yaml.config.media_settings.enable_media_view = true;
53-
}
54-
55-
if (checkNullable(yaml.config.media_settings.width)) {
56-
this.addError(`There was not width key in yaml. Default will be loaded`);
57-
yaml.config.media_settings.width = 100;
58-
}
59-
60-
if (checkNullable(yaml.config.media_settings.height)) {
61-
this.addError(`There was not height key in yaml. Default will be loaded`);
62-
yaml.config.media_settings.height = 100;
63-
}
64-
65-
}
6639
}
6740
handlerResponse.yaml = yaml;
6841
return this.goNext(handlerResponse);

src/parsers/handlers/unmarshall/UnmarshallColumnsHandler.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,8 @@ export class UnmarshallColumnsHandler extends AbstractDiskHandler {
2424
});
2525
this.localDisk.push(`${YAML_INDENT.repeat(2)}config:`);
2626

27+
// Skip those columns that are metadata. They dont have config
28+
if (column.isMetadata) continue;
2729
// Lvl4: column config
2830
Object.keys(column.config).forEach(key => {
2931
this.localDisk.push(`${YAML_INDENT.repeat(3)}${key}: ${column.config[key]}`);

0 commit comments

Comments
 (0)