Skip to content

Commit e3184b7

Browse files
committed
add navigation buttons
add icons to archive buttons
1 parent ab878c4 commit e3184b7

File tree

3 files changed

+34
-6
lines changed

3 files changed

+34
-6
lines changed

app/ui/src/components/buttons.ts

+16
Original file line numberDiff line numberDiff line change
@@ -274,6 +274,22 @@ export class DeleteButton extends Button {
274274
}
275275
}
276276

277+
export class IconButton extends Button {
278+
private readonly icon: string
279+
constructor(opt: ButtonOptions, icon: string) {
280+
super(opt)
281+
this.icon = icon
282+
}
283+
284+
render($: WeyaElementFunction) {
285+
this.elem = $('nav', `.nav-link.tab.float-right${this.isDisabled ? '.disabled' : ''}`,
286+
{on: {click: this.onClick}},
287+
$ => {
288+
$('span', this.icon, '')
289+
})
290+
}
291+
}
292+
277293
export class CancelButton extends Button {
278294
constructor(opt: ButtonOptions) {
279295
super(opt)

app/ui/src/components/hamburger_menu.ts

+12
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,18 @@ export class HamburgerMenuView {
9797
link: '/runs',
9898
parent: this.constructor.name
9999
}).render($)
100+
new NavButton({
101+
icon: '.fas.fa-archive',
102+
text: 'Archived Runs',
103+
link: '/runs/archive',
104+
parent: this.constructor.name
105+
}).render($)
106+
new NavButton({
107+
icon: '.fas.fa-running',
108+
text: 'All Runs',
109+
link: '/runs/all',
110+
parent: this.constructor.name
111+
}).render($)
100112
new NavButton({
101113
icon: '.fas.fa-desktop',
102114
text: 'Computers',

app/ui/src/views/runs_list_view.ts

+6-6
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import CACHE, {RunsFolder, RunsListCache} from "../cache/cache"
55
import {RunListItem, RunListItemModel} from '../models/run_list'
66
import {RunsListItemView} from '../components/runs_list_item'
77
import {SearchView} from '../components/search'
8-
import {CancelButton, CustomButton, DeleteButton, EditButton} from '../components/buttons'
8+
import {CancelButton, DeleteButton, EditButton, IconButton} from '../components/buttons'
99
import {HamburgerMenuView} from '../components/hamburger_menu'
1010
import EmptyRunsList from './empty_runs_list'
1111
import {UserMessages} from '../components/user_messages'
@@ -24,7 +24,7 @@ class RunsListView extends ScreenView {
2424
searchQuery: string
2525
buttonContainer: HTMLDivElement
2626
deleteButton: DeleteButton
27-
archiveButton: CustomButton
27+
archiveButton: IconButton
2828
editButton: EditButton
2929
cancelButton: CancelButton
3030
isEditMode: boolean
@@ -46,11 +46,10 @@ class RunsListView extends ScreenView {
4646
this.deleteButton = new DeleteButton({onButtonClick: this.onDelete, parent: this.constructor.name})
4747
this.editButton = new EditButton({onButtonClick: this.onEdit, parent: this.constructor.name})
4848
this.cancelButton = new CancelButton({onButtonClick: this.onCancel, parent: this.constructor.name})
49-
this.archiveButton = new CustomButton({
50-
text: this.folder == RunsFolder.DEFAULT ? 'Archive' : 'Unarchive',
49+
this.archiveButton = new IconButton({
5150
onButtonClick: this.onArchiveClick,
5251
parent: this.constructor.name
53-
})
52+
}, folder == RunsFolder.DEFAULT ? '.fas.fa-archive' : '.fas.fa-upload')
5453

5554
this.userMessages = new UserMessages()
5655

@@ -140,7 +139,8 @@ class RunsListView extends ScreenView {
140139
this.deleteButton.hide(noRuns || !this.isEditMode)
141140
this.cancelButton.hide(noRuns || !this.isEditMode)
142141
this.editButton.hide(noRuns || this.isEditMode)
143-
this.archiveButton.hide(noRuns || !this.isEditMode)
142+
this.archiveButton.hide((noRuns || !this.isEditMode) ||
143+
(this.folder != RunsFolder.DEFAULT && this.folder != RunsFolder.ARCHIVE))
144144

145145
if (!noRuns && !this.isEditMode) {
146146
this.refresh.start()

0 commit comments

Comments
 (0)