Skip to content
This repository was archived by the owner on Sep 13, 2023. It is now read-only.

Commit c83a682

Browse files
slabruyerelauthieb
authored andcommitted
Generate file name if needed. (#51)
1 parent e2caeb8 commit c83a682

File tree

3 files changed

+24
-42
lines changed

3 files changed

+24
-42
lines changed

src/renderer/components/modals/create-note-modal/CreateNoteModal.html

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,7 @@ <h2 class="text-red" v-if="displayDupError">Oh sorry, you can't have duplicated
1111
type="text"
1212
ref="noteName"
1313
v-model="note.name"
14-
placeholder="Your note name"
15-
required>
14+
placeholder="Your note name">
1615
</b-input>
1716
</b-field>
1817

src/renderer/components/modals/create-note-modal/CreateNoteModal.vue

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,15 @@
77
import languages from '@/assets/data/languages.json';
88
import converter from '@/converter';
99
10+
const noteNameCharacters = "abcdef0123456789";
11+
12+
const generateNoteName = () => {
13+
let text = "";
14+
for (let i = 0; i < 32; i += 1)
15+
text += noteNameCharacters.charAt(Math.floor(Math.random() * 16));
16+
return text;
17+
};
18+
1019
export default {
1120
name: 'cn-create-note-modal',
1221
components: { editor },
@@ -44,21 +53,29 @@
4453
createNote() {
4554
if (!this.containsDupFiles()) {
4655
let separator = '-';
56+
let prefix = 'note';
4757
4858
if (this.gistsSelected) {
4959
separator = '.';
60+
prefix = 'gist';
5061
}
5162
52-
this.files.forEach(file => {
63+
let name;
64+
this.files.forEach((file, i) => {
65+
name = file.name || `${prefix}file${(i + 1)}`;
5366
this.note.files[
54-
`${file.name}${separator}${converter.languageToExtension(
67+
`${name}${separator}${converter.languageToExtension(
5568
file.language
5669
)}`
5770
] = file;
5871
});
5972
this.note.createdAt = new Date();
6073
this.note.updatedAt = new Date();
6174
75+
if (!this.note.name || this.note.name.trim() === "") {
76+
this.note.name = `${prefix}:${generateNoteName()}`;
77+
}
78+
6279
this.addNote(this.note).then(() => {
6380
this.$parent.close();
6481
});
@@ -98,25 +115,8 @@
98115
computed: {
99116
...mapGetters(['gistsSelected']),
100117
isDisabled() {
101-
if (this.gistsSelected) {
102-
return this.files.some(
103-
file =>
104-
!/^[^.]*$/.test(file.name) ||
105-
!/\S/.test(file.name) ||
106-
!/\S/.test(file.language) ||
107-
!/\S/.test(file.content)
108-
);
109-
}
110-
111-
return (
112-
!/\S/.test(this.note.name) ||
113-
this.files.some(
114-
file =>
115-
!/^[^.]*$/.test(file.name) ||
116-
!/\S/.test(file.name) ||
117-
!/\S/.test(file.language) ||
118-
!/\S/.test(file.content)
119-
)
118+
return this.files.some(
119+
file => !/\S/.test(file.content)
120120
);
121121
},
122122
},

src/renderer/components/modals/update-note-modal/UpdateNoteModal.vue

Lines changed: 2 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -137,25 +137,8 @@
137137
computed: {
138138
...mapGetters(['gistsSelected']),
139139
isDisabled() {
140-
if (this.gistsSelected) {
141-
return this.files.some(
142-
file =>
143-
!/^[^.]*$/.test(file.name) ||
144-
!/\S/.test(file.name) ||
145-
!/\S/.test(file.language) ||
146-
!/\S/.test(file.content)
147-
);
148-
}
149-
150-
return (
151-
!/\S/.test(this.note.name) ||
152-
this.files.some(
153-
file =>
154-
!/^[^.]*$/.test(file.name) ||
155-
!/\S/.test(file.name) ||
156-
!/\S/.test(file.language) ||
157-
!/\S/.test(file.content)
158-
)
140+
return this.files.some(
141+
file => !/\S/.test(file.content)
159142
);
160143
},
161144
},

0 commit comments

Comments
 (0)