mirror of https://github.com/keeweb/keeweb.git
plugin install progress button
This commit is contained in:
parent
f602f64c66
commit
14755294b2
|
@ -42,16 +42,20 @@ const SettingsPluginsView = Backbone.View.extend({
|
|||
lastInstallError: lastInstall.error,
|
||||
galleryLoading: PluginGallery.loading,
|
||||
galleryLoadError: PluginGallery.loadError,
|
||||
gallery: this.getGallery()
|
||||
galleryPlugins: this.getGalleryPlugins()
|
||||
});
|
||||
return this;
|
||||
},
|
||||
|
||||
getGallery() {
|
||||
getGalleryPlugins() {
|
||||
if (!PluginGallery.gallery) {
|
||||
return null;
|
||||
}
|
||||
return PluginGallery.gallery;
|
||||
const plugins = PluginManager.get('plugins');
|
||||
return PluginGallery.gallery.plugins
|
||||
.map(pl => pl)
|
||||
.filter(pl => !plugins.get(pl.manifest.name))
|
||||
.sort((x, y) => x.manifest.name.localeCompare(y.manifest.name));
|
||||
},
|
||||
|
||||
installClick() {
|
||||
|
@ -114,9 +118,15 @@ const SettingsPluginsView = Backbone.View.extend({
|
|||
},
|
||||
|
||||
galleryInstallClick(e) {
|
||||
const pluginId = $(e.target).data('plugin');
|
||||
const installBtn = $(e.target);
|
||||
const pluginId = installBtn.data('plugin');
|
||||
const plugin = PluginGallery.gallery.plugins.find(pl => pl.manifest.name === pluginId);
|
||||
PluginManager.install(plugin.url, plugin.manifest);
|
||||
installBtn.text(Locale.setPlInstallBtnProgress + '...').prop('disabled', true);
|
||||
PluginManager.install(plugin.url, plugin.manifest)
|
||||
.catch(() => { })
|
||||
.then(() => {
|
||||
installBtn.prop('disabled', true);
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
@ -49,9 +49,9 @@
|
|||
<div class="settings__plugins-install">
|
||||
<div>{{res 'setPlInstallDesc'}}</div>
|
||||
{{#if galleryLoadError}}<div class="error-color">{{res 'setPlGalleryLoadError'}}</div>{{/if}}
|
||||
{{#if gallery}}
|
||||
{{#if galleryPlugins}}
|
||||
<div class="settings__plugins-gallery">
|
||||
{{#each gallery.plugins as |plugin|}}
|
||||
{{#each galleryPlugins as |plugin|}}
|
||||
<div class="settings__plugins-gallery-plugin">
|
||||
<h3 class="settings__plugins-gallery-plugin-title">{{plugin.manifest.name}}</h3>
|
||||
<div class="settings__plugins-gallery-plugin-desc">{{plugin.manifest.description}}</div>
|
||||
|
@ -69,7 +69,14 @@
|
|||
</div>
|
||||
<button class="settings__plugins-gallery-plugin-install-btn"
|
||||
data-plugin="{{plugin.manifest.name}}"
|
||||
>{{res 'setPlInstallBtn'}}</button>
|
||||
{{#ifeq ../lastInstallUrl plugin.url}}disabled{{/ifeq}}
|
||||
>
|
||||
{{#ifeq ../lastInstallUrl plugin.url}}
|
||||
{{res 'setPlInstallBtnProgress'}}...
|
||||
{{else}}
|
||||
{{res 'setPlInstallBtn'}}
|
||||
{{/ifeq}}
|
||||
</button>
|
||||
</div>
|
||||
{{/each}}
|
||||
</div>
|
||||
|
|
Loading…
Reference in New Issue