Skip to content

Commit

Permalink
Merge pull request #261 from morishin/always-load-query-from-db
Browse files Browse the repository at this point in the history
Load a query from DB whenever select or duplicate it
  • Loading branch information
morishin authored May 31, 2023
2 parents b64eb49 + 4ad7fdf commit 28a6931
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 17 deletions.
16 changes: 8 additions & 8 deletions src/renderer/components/QueryList/QueryList.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ type Props = {
readonly queries: QueryType[];
readonly selectedQueryId: number | null;
readonly onAddQuery: () => void;
readonly onSelectQuery: (query: QueryType) => void;
readonly onDuplicateQuery: (query: QueryType) => void;
readonly onSelectQuery: (queryId: number) => void;
readonly onDuplicateQuery: (queryId: number) => void;
readonly onDeleteQuery: (queryId: number) => void;
};

Expand All @@ -24,21 +24,21 @@ const QueryList: React.FC<Props> = ({

const handleClickItem = onSelectQuery;

const handleContextMenu = (query: QueryType): void => {
onSelectQuery(query);
const handleContextMenu = (queryId: number): void => {
onSelectQuery(queryId);
setImmediate(() => {
const menu = remote.Menu.buildFromTemplate([
{
label: "Duplicate",
click: (): void => {
onDuplicateQuery(query);
onDuplicateQuery(queryId);
},
},
{
label: "Delete",
click: (): void => {
if (window.confirm("Are you sure?")) {
onDeleteQuery(query.id);
onDeleteQuery(queryId);
}
},
},
Expand Down Expand Up @@ -68,8 +68,8 @@ const QueryList: React.FC<Props> = ({
<li
key={query.id}
className={selectedQueryId === query.id ? "is-selected" : ""}
onClick={(): void => handleClickItem(query)}
onContextMenu={(): void => handleContextMenu(query)}
onClick={(): void => handleClickItem(query.id)}
onContextMenu={(): void => handleContextMenu(query.id)}
>
<div className="QueryList-item">
<div className="QueryList-item-title">{query.title}</div>
Expand Down
14 changes: 5 additions & 9 deletions src/renderer/pages/Query/QueryAction.ts
Original file line number Diff line number Diff line change
Expand Up @@ -44,14 +44,9 @@ const QueryAction = {
);
},

async selectQuery(query: QueryType): Promise<void> {
const id = query.id;
if (query.body === undefined) {
const query = await Database.Query.find(id);
dispatch("selectQuery", { id, query });
} else {
dispatch("selectQuery", { id, query: {} });
}
async selectQuery(id: number): Promise<void> {
const query = await Database.Query.find(id);
dispatch("selectQuery", { id, query });
},

async addNewQuery({ dataSourceId }): Promise<void> {
Expand All @@ -67,7 +62,8 @@ const QueryAction = {
});
},

async duplicateQuery(query: QueryType): Promise<void> {
async duplicateQuery(id: number): Promise<void> {
const query = await Database.Query.find(id);
const newQuery = await Database.Query.create(query.title, query.dataSourceId, query.body);
dispatch("addNewQuery", { query: newQuery });
},
Expand Down

0 comments on commit 28a6931

Please sign in to comment.