fix: incremental loading for actions (#449)

* fix: incremental loading for actions

* fix: simplify loadingExtensions initialization

* fix: loading spinner per extension

* refactor: minor changes

* fix: loading and hidden state should not be persisted

* chore(deps): update snjs

* fix: keep === comparison operator

Co-authored-by: Johnny Almonte <johnny243@users.noreply.github.com>
This commit is contained in:
Johnny A
2020-08-26 09:35:54 -04:00
committed by GitHub
parent a63bfd8c0a
commit c4506a5407
3 changed files with 65 additions and 44 deletions

View File

@@ -7,23 +7,20 @@
target='blank'
)
menu-row(label="'Download Actions'")
div(ng-if='self.loadingExtensions')
.sk-menu-panel-header
.sk-menu-panel-column
.sk-menu-panel-header-title Loading...
.sk-spinner.small.loading
div(ng-repeat='extension in self.state.extensions track by extension.uuid')
.sk-menu-panel-header(
ng-click='self.updateExtension(extension, { hidden: !extension.hidden }); $event.stopPropagation();'
ng-click='self.toggleExtensionVisibility(extension.uuid); $event.stopPropagation();'
)
.sk-menu-panel-column
.sk-menu-panel-header-title {{extension.name}}
div(ng-if='extension.hidden') …
div(ng-if='self.isExtensionVisible(extension.uuid)') …
div(ng-if='self.isExtensionLoading(extension.uuid)')
.sk-spinner.small.loading
menu-row(
action='self.executeAction(action, extension)',
label='action.label',
ng-if='!extension.hidden',
ng-repeat='action in extension.actionsWithContextForItem(self.props.item) track by $index',
ng-if='!self.isExtensionVisible(extension.uuid) && !self.isExtensionLoading(extension.uuid)',
ng-repeat='action in extension.actionsWithContextForItem(self.item) track by $index',
disabled='action.running'
spinner-class="action.running ? 'info' : null",
sub-rows='action.subrows',
@@ -36,5 +33,5 @@
menu-row(
faded='true',
label="'No Actions Available'",
ng-if='extension.actionsWithContextForItem(self.props.item).length == 0'
ng-if='extension.actionsWithContextForItem(self.item).length == 0'
)