Merge pull request #7324 from UlisesTorrella/newChapter-isDefaultName

isDefaultName flag on newChapter
pull/7335/head
Thibault Duplessis 2020-09-21 09:59:41 +02:00 committed by GitHub
commit ab8938c56f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 12 additions and 5 deletions

View File

@ -48,7 +48,7 @@ final private class ChapterMaker(
parsed
.tags(_.Black)
.ifTrue {
data.name.value.isEmpty || Chapter.isDefaultName(data.name)
data.name.value.isEmpty || data.isDefaultName
}
.map { black =>
Chapter.Name(s"$white - $black")
@ -125,7 +125,7 @@ final private class ChapterMaker(
root <- game2root(game, initialFen)
tags <- pgnDump.tags(game, initialFen, none, withOpening = true)
name <- {
if (Chapter isDefaultName data.name)
if (data.isDefaultName)
Namer.gameVsText(game, withRatings = false)(lightUser.async) dmap Chapter.Name.apply
else fuccess(data.name)
}
@ -211,7 +211,8 @@ private[study] object ChapterMaker {
pgn: Option[String] = None,
orientation: String = "white",
mode: String = ChapterMaker.Mode.Normal.key,
initial: Boolean = false
initial: Boolean = false,
isDefaultName: Boolean = true,
) extends ChapterData {
def manyGames =

View File

@ -30,6 +30,7 @@ export interface StudyChapterNewFormCtrl {
tab: StoredProp<string>;
editor: any;
editorFen: Prop<Fen | null>;
isDefaultName: boolean;
};
open(): void;
openInitial(): void;
@ -52,7 +53,8 @@ export function ctrl(send: SocketSend, chapters: Prop<StudyChapterMeta[]>, setTa
initial: prop(false),
tab: storedProp('study.form.tab', 'init'),
editor: null,
editorFen: prop(null)
editorFen: prop(null),
isDefaultName: true,
};
function loadVariants() {
@ -137,7 +139,8 @@ export function view(ctrl: StudyChapterNewFormCtrl): VNode {
h('form.form3', {
hook: bindSubmit(e => {
const o: any = {
fen: fieldValue(e, 'fen') || (ctrl.vm.tab() === 'edit' ? ctrl.vm.editorFen() : null)
fen: fieldValue(e, 'fen') || (ctrl.vm.tab() === 'edit' ? ctrl.vm.editorFen() : null),
isDefaultName: ctrl.vm.isDefaultName
};
'name game variant pgn orientation mode'.split(' ').forEach(field => {
o[field] = fieldValue(e, field);
@ -157,6 +160,9 @@ export function view(ctrl: StudyChapterNewFormCtrl): VNode {
hook: onInsert<HTMLInputElement>(el => {
if (!el.value) {
el.value = trans('chapterX', (ctrl.vm.initial() ? 1 : (ctrl.chapters().length + 1)));
el.onchange = function (){
ctrl.vm.isDefaultName = false;
};
el.select();
el.focus();
}