consider board ids for selection
This commit is contained in:
Vendored
+17
-15
@@ -1438,8 +1438,8 @@
|
|||||||
this.boardInfo = boardInfo;
|
this.boardInfo = boardInfo;
|
||||||
this.loadListRelevantData();
|
this.loadListRelevantData();
|
||||||
this.isSelected = createProxyState(
|
this.isSelected = createProxyState(
|
||||||
[this.taskPageViewModel.selectedBoard],
|
[this.taskPageViewModel.selectedBoardId],
|
||||||
() => this.taskPageViewModel.selectedBoard.value == this
|
() => this.taskPageViewModel.selectedBoardId.value == this.boardInfo.fileId
|
||||||
);
|
);
|
||||||
this.color.subscribeSilent((newColor) => {
|
this.color.subscribeSilent((newColor) => {
|
||||||
this.applyColor(newColor);
|
this.applyColor(newColor);
|
||||||
@@ -1455,7 +1455,7 @@
|
|||||||
// state
|
// state
|
||||||
newBoardNameInput = new State("");
|
newBoardNameInput = new State("");
|
||||||
boardViewModels = new MapState();
|
boardViewModels = new MapState();
|
||||||
selectedBoard = new State(void 0);
|
selectedBoardId = new State(void 0);
|
||||||
// guards
|
// guards
|
||||||
cannotCreateBoard = createProxyState(
|
cannotCreateBoard = createProxyState(
|
||||||
[this.newBoardNameInput],
|
[this.newBoardNameInput],
|
||||||
@@ -1483,11 +1483,11 @@
|
|||||||
this.boardViewModels.set(boardInfo.fileId, boardViewModel);
|
this.boardViewModels.set(boardInfo.fileId, boardViewModel);
|
||||||
};
|
};
|
||||||
selectBoard = (boardViewModel) => {
|
selectBoard = (boardViewModel) => {
|
||||||
this.selectedBoard.value = boardViewModel;
|
this.selectedBoardId.value = boardViewModel.boardInfo.fileId;
|
||||||
this.chatViewModel.displayedColor.value = boardViewModel.color.value;
|
this.chatViewModel.displayedColor.value = boardViewModel.color.value;
|
||||||
};
|
};
|
||||||
closeBoard = () => {
|
closeBoard = () => {
|
||||||
this.selectedBoard.value = void 0;
|
this.selectedBoardId.value = void 0;
|
||||||
this.chatViewModel.resetColor();
|
this.chatViewModel.resetColor();
|
||||||
};
|
};
|
||||||
// load
|
// load
|
||||||
@@ -1766,6 +1766,7 @@
|
|||||||
createBoardButtonAudioLabel: "create board",
|
createBoardButtonAudioLabel: "create board",
|
||||||
///
|
///
|
||||||
noBoardSelected: "No board selected",
|
noBoardSelected: "No board selected",
|
||||||
|
boardNotFound: "Board not found",
|
||||||
///
|
///
|
||||||
closeBoard: "close board",
|
closeBoard: "close board",
|
||||||
showBoardSettingsButtonAudioLabel: "show board settigns",
|
showBoardSettingsButtonAudioLabel: "show board settigns",
|
||||||
@@ -2085,16 +2086,17 @@
|
|||||||
function TaskPage(taskPageViewModel) {
|
function TaskPage(taskPageViewModel) {
|
||||||
taskPageViewModel.loadData();
|
taskPageViewModel.loadData();
|
||||||
const paneContent = createProxyState(
|
const paneContent = createProxyState(
|
||||||
[taskPageViewModel.selectedBoard],
|
[taskPageViewModel.selectedBoardId],
|
||||||
() => {
|
() => {
|
||||||
const selectedBoard = taskPageViewModel.selectedBoard.value;
|
const selectedBoardId = taskPageViewModel.selectedBoardId.value;
|
||||||
if (selectedBoard == void 0) {
|
if (selectedBoardId == void 0) {
|
||||||
return [
|
return /* @__PURE__ */ createElement("div", { class: "pane align-center justify-center" }, /* @__PURE__ */ createElement("span", { class: "secondary" }, translations.chatPage.task.noBoardSelected));
|
||||||
/* @__PURE__ */ createElement("div", { class: "pane align-center justify-center" }, /* @__PURE__ */ createElement("span", { class: "secondary" }, translations.chatPage.task.noBoardSelected))
|
|
||||||
];
|
|
||||||
} else {
|
|
||||||
return BoardPage(selectedBoard);
|
|
||||||
}
|
}
|
||||||
|
const selectedBoard = taskPageViewModel.boardViewModels.value.get(selectedBoardId);
|
||||||
|
if (selectedBoard == void 0) {
|
||||||
|
return /* @__PURE__ */ createElement("div", { class: "pane align-center justify-center" }, /* @__PURE__ */ createElement("span", { class: "secondary" }, translations.chatPage.task.boardNotFound));
|
||||||
|
}
|
||||||
|
return BoardPage(selectedBoard);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
const listPaneWrapper = /* @__PURE__ */ createElement("div", { class: "pane-wrapper side" }, /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("div", { class: "flex-row width-input" }, /* @__PURE__ */ createElement(
|
const listPaneWrapper = /* @__PURE__ */ createElement("div", { class: "pane-wrapper side" }, /* @__PURE__ */ createElement("div", { class: "pane" }, /* @__PURE__ */ createElement("div", { class: "toolbar" }, /* @__PURE__ */ createElement("div", { class: "flex-row width-input" }, /* @__PURE__ */ createElement(
|
||||||
@@ -2125,8 +2127,8 @@
|
|||||||
}
|
}
|
||||||
))));
|
))));
|
||||||
const mainPageWrapper = /* @__PURE__ */ createElement("div", { class: "pane-wrapper", "children:set": paneContent });
|
const mainPageWrapper = /* @__PURE__ */ createElement("div", { class: "pane-wrapper", "children:set": paneContent });
|
||||||
bulkSubscribe([taskPageViewModel.selectedBoard], () => {
|
bulkSubscribe([taskPageViewModel.selectedBoardId], () => {
|
||||||
const selectedBoard = taskPageViewModel.selectedBoard.value;
|
const selectedBoard = taskPageViewModel.selectedBoardId.value;
|
||||||
if (selectedBoard == void 0) {
|
if (selectedBoard == void 0) {
|
||||||
listPaneWrapper.scrollIntoView();
|
listPaneWrapper.scrollIntoView();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -9,20 +9,31 @@ export function TaskPage(taskPageViewModel: TaskPageViewModel) {
|
|||||||
taskPageViewModel.loadData();
|
taskPageViewModel.loadData();
|
||||||
|
|
||||||
const paneContent = React.createProxyState(
|
const paneContent = React.createProxyState(
|
||||||
[taskPageViewModel.selectedBoard],
|
[taskPageViewModel.selectedBoardId],
|
||||||
() => {
|
() => {
|
||||||
const selectedBoard = taskPageViewModel.selectedBoard.value;
|
const selectedBoardId = taskPageViewModel.selectedBoardId.value;
|
||||||
if (selectedBoard == undefined) {
|
if (selectedBoardId == undefined) {
|
||||||
return [
|
return (
|
||||||
<div class="pane align-center justify-center">
|
<div class="pane align-center justify-center">
|
||||||
<span class="secondary">
|
<span class="secondary">
|
||||||
{translations.chatPage.task.noBoardSelected}
|
{translations.chatPage.task.noBoardSelected}
|
||||||
</span>
|
</span>
|
||||||
</div>,
|
</div>
|
||||||
];
|
);
|
||||||
} else {
|
|
||||||
return BoardPage(selectedBoard);
|
|
||||||
}
|
}
|
||||||
|
const selectedBoard =
|
||||||
|
taskPageViewModel.boardViewModels.value.get(selectedBoardId);
|
||||||
|
if (selectedBoard == undefined) {
|
||||||
|
return (
|
||||||
|
<div class="pane align-center justify-center">
|
||||||
|
<span class="secondary">
|
||||||
|
{translations.chatPage.task.boardNotFound}
|
||||||
|
</span>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
return BoardPage(selectedBoard);
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
@@ -66,8 +77,8 @@ export function TaskPage(taskPageViewModel: TaskPageViewModel) {
|
|||||||
<div class="pane-wrapper" children:set={paneContent}></div>
|
<div class="pane-wrapper" children:set={paneContent}></div>
|
||||||
);
|
);
|
||||||
|
|
||||||
React.bulkSubscribe([taskPageViewModel.selectedBoard], () => {
|
React.bulkSubscribe([taskPageViewModel.selectedBoardId], () => {
|
||||||
const selectedBoard = taskPageViewModel.selectedBoard.value;
|
const selectedBoard = taskPageViewModel.selectedBoardId.value;
|
||||||
if (selectedBoard == undefined) {
|
if (selectedBoard == undefined) {
|
||||||
listPaneWrapper.scrollIntoView();
|
listPaneWrapper.scrollIntoView();
|
||||||
} else {
|
} else {
|
||||||
|
|||||||
@@ -134,6 +134,7 @@ const englishTranslations = {
|
|||||||
///
|
///
|
||||||
|
|
||||||
noBoardSelected: "No board selected",
|
noBoardSelected: "No board selected",
|
||||||
|
boardNotFound: "Board not found",
|
||||||
|
|
||||||
///
|
///
|
||||||
|
|
||||||
|
|||||||
@@ -69,8 +69,9 @@ export default class BoardViewModel {
|
|||||||
this.loadListRelevantData();
|
this.loadListRelevantData();
|
||||||
|
|
||||||
this.isSelected = React.createProxyState(
|
this.isSelected = React.createProxyState(
|
||||||
[this.taskPageViewModel.selectedBoard],
|
[this.taskPageViewModel.selectedBoardId],
|
||||||
() => this.taskPageViewModel.selectedBoard.value == this
|
() =>
|
||||||
|
this.taskPageViewModel.selectedBoardId.value == this.boardInfo.fileId
|
||||||
);
|
);
|
||||||
|
|
||||||
this.color.subscribeSilent((newColor) => {
|
this.color.subscribeSilent((newColor) => {
|
||||||
|
|||||||
@@ -22,8 +22,8 @@ export default class TaskPageViewModel {
|
|||||||
|
|
||||||
boardViewModels: React.MapState<BoardViewModel> = new React.MapState();
|
boardViewModels: React.MapState<BoardViewModel> = new React.MapState();
|
||||||
|
|
||||||
selectedBoard: React.State<BoardViewModel | undefined> = new React.State<
|
selectedBoardId: React.State<string | undefined> = new React.State<
|
||||||
BoardViewModel | undefined
|
string | undefined
|
||||||
>(undefined);
|
>(undefined);
|
||||||
|
|
||||||
// guards
|
// guards
|
||||||
@@ -64,12 +64,12 @@ export default class TaskPageViewModel {
|
|||||||
};
|
};
|
||||||
|
|
||||||
selectBoard = (boardViewModel: BoardViewModel): void => {
|
selectBoard = (boardViewModel: BoardViewModel): void => {
|
||||||
this.selectedBoard.value = boardViewModel;
|
this.selectedBoardId.value = boardViewModel.boardInfo.fileId;
|
||||||
this.chatViewModel.displayedColor.value = boardViewModel.color.value;
|
this.chatViewModel.displayedColor.value = boardViewModel.color.value;
|
||||||
};
|
};
|
||||||
|
|
||||||
closeBoard = (): void => {
|
closeBoard = (): void => {
|
||||||
this.selectedBoard.value = undefined;
|
this.selectedBoardId.value = undefined;
|
||||||
this.chatViewModel.resetColor();
|
this.chatViewModel.resetColor();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user