Install/uninstall working - just need a few ui updates and then get the repo install working

This commit is contained in:
Shannon
2016-06-13 20:10:31 +02:00
parent 2d9010caf4
commit 3d2fe3c9da
6 changed files with 108 additions and 34 deletions

View File

@@ -7,7 +7,6 @@
vm.state = "upload";
vm.localPackage = {};
vm.loadPackage = loadPackage;
vm.installPackage = installPackage;
vm.installState = {
status: ""
@@ -57,6 +56,7 @@
// set done status on file
vm.zipFile.uploadStatus = "done";
loadPackage();
vm.localPackage = data;
}
@@ -102,7 +102,7 @@
packageResource
.installFiles(vm.localPackage)
.then(function(pack) {
vm.installState.status = "Restarting, please hold...";
vm.installState.status = "Restarting, please wait...";
return packageResource.installData(pack);
},
installError)

View File

@@ -47,14 +47,7 @@
<p class="faded">
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam
</p>
<button type="button"
class="umb-era-button -blue"
ng-disabled="vm.zipFile.uploadStatus !== 'done'"
ng-class="{'-inactive' : vm.zipFile.uploadStatus !== 'done'}"
ng-click="vm.loadPackage()">Next
</button>
</form>
</div>
@@ -78,13 +71,13 @@
</div>
<div class="umb-info-local-item">
<strong>Repository</strong>
<a href="{{ vm.localPackage.info }}" target="_blank">{{ vm.localPackage.info }}</a>
<strong>Version</strong>
{{ vm.package.version }}
</div>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.localPackage.licenseLink }}">{{ vm.localPackage.license }}</a>
<a href="{{ vm.localPackage.licenseUrl }}">{{ vm.localPackage.license }}</a>
</div>
<div class="umb-info-local-item">
@@ -103,7 +96,7 @@
</button>
<label for="license-accept" class="umb-package-installer-label">
<input type="checkbox" id="license-accept" ng-model="vm.localPackage.packageLicenseAccept" required>
<strong class="label-text">I accept <a href="#">terms of use</a></strong>
<strong class="label-text">I accept <a href="{{ vm.package.licenseUrl }}">terms of use</a></strong>
</label>
</div>
<div class="umb-info-local-item">

View File

@@ -5,7 +5,13 @@
var vm = this;
vm.confirmUninstall = confirmUninstall;
vm.uninstallPackage = uninstallPackage;
vm.state = "list";
vm.installState = {
status: ""
};
vm.package = {};
function init() {
packageResource.getInstalled()
@@ -14,10 +20,17 @@
});
}
function confirmUninstall(pck) {
vm.state = "packageDetails";
vm.package = pck;
}
function uninstallPackage(installedPackage) {
vm.installState.status = "Uninstalling package...";
packageResource.uninstall(installedPackage.id)
.then(function() {
init();
var url = window.location.href + "?uninstalled=" + vm.package.packageGuid;
window.location.reload(true);
});
}

View File

@@ -1,29 +1,89 @@
<div class="umb-packages-view-wrapper" ng-controller="Umbraco.Editors.Packages.InstalledController as vm">
<!-- Package list-->
<div ng-if="vm.state == 'list'">
<div class="umb-packages-view-title">Installed packages</div>
<div class="umb-packages-view-title">Installed packages</div>
<div class="umb-package-list">
<div class="umb-package-list">
<div class="umb-package-list__item" ng-repeat="installedPackage in vm.installedPackages">
<div class="umb-package-list__item" ng-repeat="installedPackage in vm.installedPackages">
<div class="umb-package-list__item-icon">
<i ng-if="!installedPackage.icon" class="icon-box"></i>
<img ng-if="installedPackage.icon" ng-src="{{installedPackage.icon}}" />
</div>
<div class="umb-package-list__item-content">
<div class="umb-package-list__item-name">{{ installedPackage.name }}</div>
<div class="umb-package-list__item-description">
{{ installedPackage.version }} | <a href="{{ installedPackage.url }}">{{ installedPackage.url }}</a>| {{ installedPackage.author }}
<div class="umb-package-list__item-icon">
<i ng-if="!installedPackage.icon" class="icon-box"></i>
<img ng-if="installedPackage.icon" ng-src="{{installedPackage.icon}}" />
</div>
<div class="umb-package-list__item-content">
<div class="umb-package-list__item-name">{{ installedPackage.name }}</div>
<div class="umb-package-list__item-description">
{{ installedPackage.version }} | <a href="{{ installedPackage.url }}">{{ installedPackage.url }}</a>| {{ installedPackage.author }}
</div>
</div>
<div class="umb-package-list__item-actions">
<button type="button" class="umb-era-button" ng-click="vm.confirmUninstall(installedPackage)">Uninstall</button>
</div>
</div>
<div class="umb-package-list__item-actions">
<button type="button" class="umb-era-button" ng-click="vm.uninstallPackage(installedPackage)">Uninstall</button>
</div>
</div>
</div>
<!-- Package details -->
<div class="umb-info-local" ng-if="vm.state === 'packageDetails'">
<div class="umb-info-local-items">
<form novalidate name="uninstallForm">
<div class="umb-package-icon">
<img ng-src="{{vm.package.icon}}" alt="" />
</div>
<div class="umb-package-info">
<h4 class="umb-info-local-item"><strong>{{ vm.package.name }}</strong></h4>
<div class="umb-info-local-item">
<strong>Author</strong>
<a href="{{ vm.package.authorLink }}" target="_blank">{{ vm.package.author }}</a>
</div>
<div class="umb-info-local-item">
<strong>Version</strong>
{{ vm.package.version }}
</div>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.package.licenseUrl }}">{{ vm.package.license }}</a>
</div>
<div class="umb-info-local-item">
<strong>Read me</strong>
<br>
<small> {{ vm.package.readme }} </small>
</div>
<div class="umb-info-local-item mt-3" ng-if="vm.installState.status == ''">
<button type="button"
ng-class="{'-inactive' : uninstallForm.$invalid}"
ng-disabled="uninstallForm.$invalid"
class="umb-era-button -blue inline-flex"
ng-click="vm.uninstallPackage(vm.package)">
Uninstall package
</button>
<label for="confirm-uninstall" class="umb-package-installer-label">
<input type="checkbox" id="confirm-uninstall" ng-model="vm.package.confirmUninstall" required>
<strong class="label-text">Confirm package uninstall</strong>
</label>
</div>
<div class="umb-info-local-item">
<p>{{vm.installState.status}}</p>
</div>
</div>
</form>
</div>
</div>
</div>
</div>

View File

@@ -216,7 +216,9 @@ namespace Umbraco.Web.Editors
Id = pack.Id,
Author = pack.Author,
Version = pack.Version,
Url = pack.Url
Url = pack.Url,
License = pack.License,
LicenseUrl = pack.LicenseUrl
}).ToList();
}

View File

@@ -23,5 +23,11 @@ namespace Umbraco.Web.Models.ContentEditing
[DataMember(Name = "url")]
public string Url { get; set; }
[DataMember(Name = "license")]
public string License { get; set; }
[DataMember(Name = "licenseUrl")]
public string LicenseUrl { get; set; }
}
}