mirror of
https://github.com/Ellpeck/ObsidianSimpleTimeTracker.git
synced 2024-06-12 10:13:51 +02:00
Make start and end time editable
This commit is contained in:
parent
05a4710b8a
commit
41beb1a896
|
@ -271,8 +271,16 @@ function addEditableTableRow(tracker: Tracker, entry: Entry, table: HTMLTableEle
|
||||||
let nameBox = new TextComponent(name).setValue(entry.name);
|
let nameBox = new TextComponent(name).setValue(entry.name);
|
||||||
nameBox.inputEl.hidden = true;
|
nameBox.inputEl.hidden = true;
|
||||||
|
|
||||||
row.createEl("td", { text: entry.startTime ? formatTimestamp(entry.startTime, settings) : "" });
|
let startTime = row.createEl("td");
|
||||||
row.createEl("td", { text: entry.endTime ? formatTimestamp(entry.endTime, settings) : "" });
|
let startTimePar = startTime.createEl("span", { text: entry.startTime ? formatTimestamp(entry.startTime, settings) : "" });
|
||||||
|
let startTimeBox = new TextComponent(startTime).setValue(entry.startTime ? formatTimestamp(entry.startTime, settings) : "");
|
||||||
|
startTimeBox.inputEl.hidden = true;
|
||||||
|
|
||||||
|
let endTime = row.createEl("td");
|
||||||
|
let endTimePar = endTime.createEl("span", { text: entry.endTime ? formatTimestamp(entry.endTime, settings) : "" });
|
||||||
|
let endTimeBox = new TextComponent(endTime).setValue(entry.endTime ? formatTimestamp(entry.endTime, settings) : "");
|
||||||
|
endTimeBox.inputEl.hidden = true;
|
||||||
|
|
||||||
row.createEl("td", { text: entry.endTime || entry.subEntries ? formatDuration(getDuration(entry)) : "" });
|
row.createEl("td", { text: entry.endTime || entry.subEntries ? formatDuration(getDuration(entry)) : "" });
|
||||||
|
|
||||||
let entryButtons = row.createEl("td");
|
let entryButtons = row.createEl("td");
|
||||||
|
@ -294,16 +302,52 @@ function addEditableTableRow(tracker: Tracker, entry: Entry, table: HTMLTableEle
|
||||||
if (namePar.hidden) {
|
if (namePar.hidden) {
|
||||||
namePar.hidden = false;
|
namePar.hidden = false;
|
||||||
nameBox.inputEl.hidden = true;
|
nameBox.inputEl.hidden = true;
|
||||||
|
if (entry.startTime) {
|
||||||
|
startTimePar.hidden = false;
|
||||||
|
startTimeBox.inputEl.hidden = true;
|
||||||
|
}
|
||||||
|
if (entry.endTime) {
|
||||||
|
endTimePar.hidden = false;
|
||||||
|
endTimeBox.inputEl.hidden = true;
|
||||||
|
}
|
||||||
editButton.setIcon("lucide-pencil");
|
editButton.setIcon("lucide-pencil");
|
||||||
if (nameBox.getValue()) {
|
if (nameBox.getValue() || startTimeBox.getValue() || endTimeBox.getValue()) {
|
||||||
entry.name = nameBox.getValue();
|
if (nameBox.getValue()) {
|
||||||
namePar.setText(entry.name);
|
entry.name = nameBox.getValue();
|
||||||
|
namePar.setText(entry.name);
|
||||||
|
}
|
||||||
|
if (startTimeBox.getValue()) {
|
||||||
|
if (moment(startTimeBox.getValue(), settings.timestampFormat).isValid()) {
|
||||||
|
entry.startTime = moment(startTimeBox.getValue(), settings.timestampFormat).format("X");
|
||||||
|
startTimePar.setText(entry.startTime ? formatTimestamp(entry.startTime, settings) : "" );
|
||||||
|
} else {
|
||||||
|
startTimeBox.setText(entry.startTime ? formatTimestamp(entry.startTime, settings) : "" );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (endTimeBox.getValue()) {
|
||||||
|
if (moment(endTimeBox.getValue(), settings.timestampFormat).isValid()) {
|
||||||
|
entry.endTime = moment(endTimeBox.getValue(), settings.timestampFormat).format("X");
|
||||||
|
endTimePar.setText(entry.endTime ? formatTimestamp(entry.endTime, settings) : "" );
|
||||||
|
} else {
|
||||||
|
endTimeBox.setText(entry.endTime ? formatTimestamp(entry.endTime, settings) : "" );
|
||||||
|
}
|
||||||
|
}
|
||||||
await saveTracker(tracker, this.app, getSectionInfo());
|
await saveTracker(tracker, this.app, getSectionInfo());
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
namePar.hidden = true;
|
namePar.hidden = true;
|
||||||
nameBox.inputEl.hidden = false;
|
nameBox.inputEl.hidden = false;
|
||||||
nameBox.setValue(entry.name);
|
nameBox.setValue(entry.name);
|
||||||
|
if (entry.startTime) {
|
||||||
|
startTimePar.hidden = true;
|
||||||
|
startTimeBox.inputEl.hidden = false;
|
||||||
|
startTimeBox.setValue(formatTimestamp(entry.startTime, settings));
|
||||||
|
}
|
||||||
|
if (entry.endTime) {
|
||||||
|
endTimePar.hidden = true;
|
||||||
|
endTimeBox.inputEl.hidden = false;
|
||||||
|
endTimeBox.setValue(formatTimestamp(entry.endTime, settings));
|
||||||
|
}
|
||||||
editButton.setIcon("lucide-check");
|
editButton.setIcon("lucide-check");
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue