Browse Source

Fix initing search by hashtag

master
morethanwords 3 years ago
parent
commit
d479c08bbd
  1. 7
      src/components/appSearch.ts
  2. 36
      src/components/sidebarRight/tabs/search.ts

7
src/components/appSearch.ts

@ -132,9 +132,14 @@ export default class AppSearch { @@ -132,9 +132,14 @@ export default class AppSearch {
this.searchPromise = null;
}
public beginSearch(peerId = 0, threadId = 0) {
public beginSearch(peerId = 0, threadId = 0, query = '') {
this.peerId = peerId;
this.threadId = threadId;
if(this.query !== query) {
this.searchInput.inputField.value = query;
}
this.searchInput.input.focus();
}

36
src/components/sidebarRight/tabs/search.ts

@ -19,10 +19,11 @@ export default class AppPrivateSearchTab extends SliderSuperTab { @@ -19,10 +19,11 @@ export default class AppPrivateSearchTab extends SliderSuperTab {
private peerId = 0;
private threadId = 0;
private query = '';
private onDatePick: (timestamp: number) => void;
onOpenAfterTimeout() {
this.appSearch.beginSearch(this.peerId, this.threadId);
this.appSearch.beginSearch(this.peerId, this.threadId, this.query);
}
protected init() {
@ -44,30 +45,27 @@ export default class AppPrivateSearchTab extends SliderSuperTab { @@ -44,30 +45,27 @@ export default class AppPrivateSearchTab extends SliderSuperTab {
open(peerId: number, threadId?: number, onDatePick?: AppPrivateSearchTab['onDatePick'], query?: string) {
const ret = super.open();
if(this.init) {
this.init();
this.init = null;
}
query && (this.inputSearch.inputField.value = query);
if(!this.peerId) {
this.query = query;
this.peerId = peerId;
this.threadId = threadId;
this.onDatePick = onDatePick;
if(this.peerId !== 0) {
this.appSearch.beginSearch(this.peerId, this.threadId);
return ret;
}
this.btnPickDate.classList.toggle('hide', !this.onDatePick);
if(this.onDatePick) {
attachClickEvent(this.btnPickDate, () => {
new PopupDatePicker(new Date(), this.onDatePick).show();
});
}
this.peerId = peerId;
this.threadId = threadId;
this.onDatePick = onDatePick;
query && this.appSearch.searchInput.inputField.setValueSilently(query);
this.btnPickDate.classList.toggle('hide', !this.onDatePick);
if(this.onDatePick) {
attachClickEvent(this.btnPickDate, () => {
new PopupDatePicker(new Date(), this.onDatePick).show();
});
appSidebarRight.toggleSidebar(true);
} else {
this.appSearch.beginSearch(this.peerId, this.threadId, query);
}
appSidebarRight.toggleSidebar(true);
return ret;
}
}

Loading…
Cancel
Save