Skip to content

Commit 2538237

Browse files
Made modal more native-looking. Moved cssclasses field inside properties object
1 parent 995e39b commit 2538237

File tree

4 files changed

+26
-7
lines changed

4 files changed

+26
-7
lines changed

src/@types/Canvas.d.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ export interface CanvasOptions {
102102
}
103103

104104
export interface CanvasMetadata {
105-
cssclasses: string[]
105+
properties: { [key: string]: any }
106106
}
107107

108108
export interface CanvasHistory {

src/canvas-extensions/properties-canvas-extension.ts

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default class PropertiesCanvasExtension {
3939
canvas.wrapperEl.classList.remove(cssclass)
4040
})
4141

42-
this.previousCssclasses = canvas.metadata.cssclasses || []
42+
this.previousCssclasses = canvas.metadata.properties?.cssclasses || []
4343
this.previousCssclasses.forEach((cssclass) => {
4444
canvas.wrapperEl.classList.add(cssclass)
4545
})
@@ -66,13 +66,15 @@ class PropertiesModal extends Modal {
6666

6767
new Setting(this.contentEl)
6868
.setName("cssclasses")
69+
.setTooltip("Add classes to the canvas wrapper element. Separate multiple classes with spaces.")
6970
.addText((text) =>
7071
text
71-
.setValue(this.canvas.metadata.cssclasses.join(' '))
72-
.onChange((value) =>
73-
this.canvas.metadata.cssclasses = value.split(' ')
74-
)
75-
)
72+
.setValue(this.canvas.metadata.properties?.cssclasses?.join(' '))
73+
.onChange((value) => {
74+
this.canvas.metadata.properties = this.canvas.metadata.properties || {}
75+
this.canvas.metadata.properties.cssclasses = value.split(' ')
76+
})
77+
).settingEl.classList.add('properties-field')
7678
}
7779

7880
onClose() {}

src/styles.scss

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@use "styles/settings";
12
@use "styles/menu";
23
@use "styles/stickers";
34
@use "styles/shapes";

src/styles/settings.scss

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
.properties-field {
2+
& > .setting-item-info {
3+
flex: 0;
4+
margin: 0;
5+
padding: var(--size-4-1) var(--size-4-2);
6+
7+
border: var(--input-border-width) solid var(--background-modifier-border);
8+
border-radius: var(--input-radius) 0 0 var(--input-radius);
9+
}
10+
11+
& > .setting-item-control > input {
12+
width: 100%;
13+
14+
border-radius: 0 var(--input-radius) var(--input-radius) 0;
15+
}
16+
}

0 commit comments

Comments
 (0)