Added “Take me back link” to missing views

This commit is contained in:
Simon Busborg
2016-06-22 15:05:26 +02:00
parent 9602a52801
commit 340d0eb84e
4 changed files with 255 additions and 226 deletions

View File

@@ -67,6 +67,10 @@
font-weight: bold;
color: @blue;
cursor: pointer;
&:hover {
text-decoration: underline;
}
}

View File

@@ -411,13 +411,13 @@
display: flex;
}
.umb-package-details__back-link {
a.umb-package-details__back-link {
font-weight: bold;
color: @grayMed;
color: @black;
}
.umb-package-details__back-link:hover {
color: @black;
color: @grayMed;
text-decoration: none;
}

View File

@@ -1,110 +1,124 @@
<div class="umb-packages-view-wrapper" ng-controller="Umbraco.Editors.Packages.InstallLocalController as vm">
<div ng-controller="Umbraco.Editors.Packages.InstallLocalController as vm">
<!-- Upload -->
<div class="umb-upload-local" ng-if="vm.state === 'upload'">
<form novalidate name="localPackageForm">
<div class="umb-packages-view-wrapper" ng-if="vm.state === 'upload'">
<!-- Drag and drop files area -->
<div ngf-drop
ng-hide="hideDropzone"
ng-model="filesHolder"
ngf-change="handleFiles($files, $event)"
class="umb-upload-local__dropzone"
ngf-drag-over-class="drag-over"
ngf-multiple="false"
ngf-allow-dir="false"
ngf-pattern="*.zip"
ngf-max-size="{{ maxFileSize }}"
ng-class="{'is-small': compact!=='false' || (done.length+queue.length) > 0 }">
<!-- Upload -->
<div class="umb-upload-local">
<form novalidate name="localPackageForm">
<!-- Drag and drop files area -->
<div ngf-drop
ng-hide="hideDropzone"
ng-model="filesHolder"
ngf-change="handleFiles($files, $event)"
class="umb-upload-local__dropzone"
ngf-drag-over-class="drag-over"
ngf-multiple="false"
ngf-allow-dir="false"
ngf-pattern="*.zip"
ngf-max-size="{{ maxFileSize }}"
ng-class="{'is-small': compact!=='false' || (done.length+queue.length) > 0 }">
<div class="content">
<div class="content">
<!-- Drag and drop illustration -->
<i class="icon-box" draggable="false"></i>
<small class="faded" draggable="false"><strong>Drop to upload</strong></small>
<!-- Drag and drop illustration -->
<i class="icon-box" draggable="false"></i>
<small class="faded" draggable="false"><strong>Drop to upload</strong></small>
<!-- Select files -->
<div class="umb-upload-local__select-file"
ngf-select
ng-model="filesHolder"
ngf-change="handleFiles($files, $event)"
ngf-multiple="true"
ngf-pattern="*.zip"
ngf-max-size="{{ maxFileSize }}">
- <localize key="media_orClickHereToUpload">or click here to choose files</localize>
<!-- Select files -->
<div class="umb-upload-local__select-file"
ngf-select
ng-model="filesHolder"
ngf-change="handleFiles($files, $event)"
ngf-multiple="true"
ngf-pattern="*.zip"
ngf-max-size="{{ maxFileSize }}">
- <localize key="media_orClickHereToUpload">or click here to choose files</localize>
</div>
</div>
</div>
</div>
<h3><strong>Upload package</strong></h3>
<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>
<h3><strong>Upload package</strong></h3>
<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>
</form>
</form>
</div>
</div>
<div ng-if="vm.state === 'packageDetails'">
<!-- Package details -->
<div class="umb-info-local" ng-if="vm.state === 'packageDetails'">
<div class="umb-info-local-items">
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<a class="umb-package-details__back-link" href="" ng-click="vm.state = 'upload'">&larr; Cancel and upload another package</a>
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>
<form novalidate name="localPackageForm">
<div class="umb-package-icon">
<i ng-if="!vm.localPackage.icon" class="icon-box"></i>
<img ng-if="vm.localPackage.icon" ng-src="{{vm.localPackage.icon}}" alt="" />
</div>
<div class="umb-packages-view-wrapper">
<!-- Package details -->
<div class="umb-info-local" >
<div class="umb-info-local-items">
<form novalidate name="localPackageForm">
<div class="umb-package-icon">
<i ng-if="!vm.localPackage.icon" class="icon-box"></i>
<img ng-if="vm.localPackage.icon" ng-src="{{vm.localPackage.icon}}" alt="" />
</div>
<div class="umb-package-info">
<h4 class="umb-info-local-item"><strong>{{ vm.localPackage.name }}</strong></h4>
<div class="umb-package-info">
<h4 class="umb-info-local-item"><strong>{{ vm.localPackage.name }}</strong></h4>
<div class="umb-info-local-item">
<strong>Author</strong>
<a href="{{ vm.localPackage.authorLink }}" target="_blank">{{ vm.localPackage.author }}</a>
</div>
<div class="umb-info-local-item">
<strong>Author</strong>
<a href="{{ vm.localPackage.authorLink }}" target="_blank">{{ vm.localPackage.author }}</a>
</div>
<div class="umb-info-local-item">
<strong>Version</strong>
{{ vm.localPackage.version }}
</div>
<div class="umb-info-local-item">
<strong>Version</strong>
{{ vm.localPackage.version }}
</div>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.localPackage.licenseUrl }}">{{ vm.localPackage.license }}</a>
</div>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.localPackage.licenseUrl }}">{{ vm.localPackage.license }}</a>
</div>
<div class="umb-info-local-item">
<strong>Read me</strong>
<br>
<small ng-bind-html-unsafe="vm.localPackage.readMe"></small>
</div>
<div class="umb-info-local-item">
<strong>Read me</strong>
<br>
<small ng-bind-html-unsafe="vm.localPackage.readMe"></small>
</div>
<div class="umb-info-local-item mt-3 flex items-center flex-column" ng-if="vm.installState.status == '' && vm.localPackage.isCompatible">
<label for="license-accepts" class="umb-package-installer-label">
<input type="checkbox" id="license-accepts" ng-model="vm.localPackage.packageLicenseAccept" required no-dirty-check>
<strong class="label-text">I accept <a href="{{ vm.localPackage.licenseUrl }}">terms of use</a></strong>
</label>
<button type="button"
ng-class="{'-inactive' : localPackageForm.$invalid}"
ng-disabled="localPackageForm.$invalid"
class="umb-era-button -blue flex-inline mt-2"
ng-click="vm.installPackage()">
Install package
</button>
</div>
<div class="umb-info-local-item text-error" ng-if="!vm.localPackage.isCompatible">
This package cannot be installed, it requires a minimum Umbraco version of {{vm.localPackage.umbracoVersion}}
</div>
<div class="umb-info-local-item text-info">
<p>{{vm.installState.status}}</p>
</div>
<div class="umb-info-local-item mt-3 flex items-center flex-column" ng-if="vm.installState.status == '' && vm.localPackage.isCompatible">
<label for="license-accepts" class="umb-package-installer-label">
<input type="checkbox" id="license-accepts" ng-model="vm.localPackage.packageLicenseAccept" required no-dirty-check>
<strong class="label-text">I accept <a href="{{ vm.localPackage.licenseUrl }}">terms of use</a></strong>
</label>
<button type="button"
ng-class="{'-inactive' : localPackageForm.$invalid}"
ng-disabled="localPackageForm.$invalid"
class="umb-era-button -blue flex-inline mt-2"
ng-click="vm.installPackage()">
Install package
</button>
</div>
<div class="umb-info-local-item text-error" ng-if="!vm.localPackage.isCompatible">
This package cannot be installed, it requires a minimum Umbraco version of {{vm.localPackage.umbracoVersion}}
</div>
<div class="umb-info-local-item text-info">
<p>{{vm.installState.status}}</p>
</div>
</div>
</form>
</div>
</form>
</div>
</div>
</div>
@@ -131,5 +145,4 @@
</div>
</div>
</div>

View File

@@ -111,7 +111,7 @@
<!-- DETAILS --->
<div class="umb-packages-view-wrapper" ng-if="vm.packageViewState === 'packageDetails' && vm.loading === false">
<div ng-if="vm.packageViewState === 'packageDetails' && vm.loading === false">
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
@@ -119,21 +119,23 @@
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>
<div class="umb-package-details">
<div class="umb-packages-view-wrapper">
<div class="umb-package-details__main-content">
<div class="umb-package-details">
<div class="umb-packages-view-title">{{ vm.package.name }}</div>
<div class="umb-package-details__main-content">
<div class="umb-package-details__description" ng-bind-html-unsafe="vm.package.description"></div>
<div class="umb-packages-view-title">{{ vm.package.name }}</div>
<div class="umb-gallery">
<div class="umb-gallery__thumbnails">
<div class="umb-package-details__description" ng-bind-html-unsafe="vm.package.description"></div>
<div class="umb-gallery">
<div class="umb-gallery__thumbnails">
<a class="umb-gallery__thumbnail" ng-repeat="image in vm.package.images" ng-click="vm.openLightbox($index, vm.package.images)">
<img ng-src="{{ image.thumbnail }}" />
</a>
<img ng-src="{{ image.thumbnail }}" />
</a>
</div>
</div>
</div>
<umb-lightbox
ng-if="vm.lightbox.show"
@@ -142,174 +144,184 @@
on-close="vm.closeLightbox">
</umb-lightbox>
</div>
<div class="umb-package-details__sidebar">
<div class="umb-package-details__section">
<button class="umb-era-button -blue -full-width" ng-click="vm.downloadPackage(vm.package)">Install package</button>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__owner-profile">
<div class="umb-package-details__sidebar">
<div class="umb-package-details__owner-profile-avatar">
<div class="umb-package-details__section">
<button class="umb-era-button -blue -full-width" ng-click="vm.downloadPackage(vm.package)">Install package</button>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__owner-profile">
<div class="umb-package-details__owner-profile-avatar">
<umb-avatar
size="m"
src="{{ 'https://our.umbraco.org' + vm.package.ownerInfo.ownerAvatar }}">
</umb-avatar>
</div>
</div>
<div>
<div class="umb-package-details__owner-profile-name">{{ vm.package.ownerInfo.owner }}</div>
<div class="umb-package-details__owner-profile-karma">
{{ vm.package.ownerInfo.owner }} has <strong>{{ vm.package.ownerInfo.karma }}</strong> karma points
</div>
</div>
</div>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">Information</div>
<div>
<div class="umb-package-details__owner-profile-name">{{ vm.package.ownerInfo.owner }}</div>
<div class="umb-package-details__owner-profile-karma">
{{ vm.package.ownerInfo.owner }} has <strong>{{ vm.package.ownerInfo.karma }}</strong> karma points
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Owner:</div>
<div>{{vm.package.ownerInfo.owner}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Contributors:</div>
<div ng-repeat="contributor in vm.package.ownerInfo.contributors">
<a class="umb-package-details__link" href="{{ contributor.profileUrl }}" target="_blank">{{ contributor.name }}<span ng-if="!$last">,&nbsp;&nbsp;</span></a>
</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Created:</div>
<div>{{vm.package.created}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Current version:</div>
<div>{{vm.package.latestVersion}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">.Net Version:</div>
<div>{{vm.package.information.netVersion}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">License:</div>
<div>{{vm.package.licenseName}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Downloads:</div>
<div>{{vm.package.downloads}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Karma:</div>
<div>{{vm.package.ownerInfo.karma}}</div>
</div>
</div>
</div>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">Information</div>
<div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Owner:</div>
<div>{{vm.package.ownerInfo.owner}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Contributors:</div>
<div ng-repeat="contributor in vm.package.ownerInfo.contributors">
<a class="umb-package-details__link" href="{{ contributor.profileUrl }}" target="_blank">{{ contributor.name }}<span ng-if="!$last">,&nbsp;&nbsp;</span></a>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">Compatibility</div>
<div class="umb-package-details__section-description">This project is compatible with the following versions as reported by community members who have downloaded this package:</div>
<div class="umb-package-details__compatability" ng-repeat="compatibility in vm.package.compatibility | filter:percentage > 0">
<div class="umb-package-details__compatability-label">
<span class="umb-package-details__information-item-label">{{compatibility.version}}</span>
<span class="umb-package-details__information-item-label-2">({{compatibility.percentage}}%)</span>
</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Created:</div>
<div>{{vm.package.created}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Current version:</div>
<div>{{vm.package.latestVersion}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">.Net Version:</div>
<div>{{vm.package.information.netVersion}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">License:</div>
<div>{{vm.package.licenseName}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Downloads:</div>
<div>{{vm.package.downloads}}</div>
</div>
<div class="umb-package-details__information-item">
<div class="umb-package-details__information-item-label">Karma:</div>
<div>{{vm.package.ownerInfo.karma}}</div>
</div>
</div>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">Compatibility</div>
<div class="umb-package-details__section-description">This project is compatible with the following versions as reported by community members who have downloaded this package:</div>
<div class="umb-package-details__compatability" ng-repeat="compatibility in vm.package.compatibility | filter:percentage > 0">
<div class="umb-package-details__compatability-label">
<span class="umb-package-details__information-item-label">{{compatibility.version}}</span>
<span class="umb-package-details__information-item-label-2">({{compatibility.percentage}}%)</span>
</div>
<umb-progress-bar
percentage="{{compatibility.percentage}}">
</umb-progress-bar>
</div>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">External sources</div>
<div>
<div class="umb-package-details__information-item" ng-repeat="externalSource in vm.package.externalSources">
<a class="umb-package-details__link" target="_blank" href="{{ externalSource.url }}">
<i class="icon-out"></i>
{{ externalSource.name }}
</a>
</div>
</div>
<div class="umb-package-details__section">
<div class="umb-package-details__section-title">External sources</div>
<div>
<div class="umb-package-details__information-item" ng-repeat="externalSource in vm.package.externalSources">
<a class="umb-package-details__link" target="_blank" href="{{ externalSource.url }}">
<i class="icon-out"></i>
{{ externalSource.name }}
</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Package details -->
<div class="umb-info-local" ng-if="vm.packageViewState === 'packageInstall' && vm.loading === false">
<div class="umb-info-local-items">
<div class="umb-packages-view-wrapper" ng-if="vm.packageViewState === 'packageInstall' && vm.loading === false">
<umb-editor-sub-header>
<umb-editor-sub-header-content-left>
<a class="umb-package-details__back-link" href="" ng-click="vm.setPackageViewState('packageDetails');">&larr; Take me back</a>
</umb-editor-sub-header-content-left>
</umb-editor-sub-header>
<form novalidate name="localPackageForm">
<div class="umb-package-icon">
<i ng-if="!vm.localPackage.icon" class="icon-box"></i>
<img ng-if="vm.localPackage.icon" ng-src="{{vm.localPackage.icon}}" alt="" />
</div>
<div class="umb-info-local">
<div class="umb-info-local-items">
<div class="umb-package-info">
<h4 class="umb-info-local-item"><strong>{{ vm.localPackage.name }}</strong></h4>
<div class="umb-info-local-item">
<strong>Author</strong>
<a href="{{ vm.localPackage.authorLink }}" target="_blank">{{ vm.localPackage.author }}</a>
<form novalidate name="localPackageForm">
<div class="umb-package-icon">
<i ng-if="!vm.localPackage.icon" class="icon-box"></i>
<img ng-if="vm.localPackage.icon" ng-src="{{vm.localPackage.icon}}" alt="" />
</div>
<div class="umb-info-local-item">
<strong>Version</strong>
{{ vm.localPackage.version }}
</div>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.localPackage.licenseUrl }}">{{ vm.localPackage.license }}</a>
</div>
<div class="umb-package-info">
<h4 class="umb-info-local-item"><strong>{{ vm.localPackage.name }}</strong></h4>
<div class="umb-info-local-item">
<strong>Read me</strong>
<br>
<small ng-bind-html-unsafe="vm.localPackage.readMe"></small>
</div>
<div class="umb-info-local-item">
<strong>Author</strong>
<a href="{{ vm.localPackage.authorLink }}" target="_blank">{{ vm.localPackage.author }}</a>
</div>
<div class="umb-info-local-item mt-3 flex items-center flex-column" ng-if="vm.installState.status == '' && vm.localPackage.isCompatible">
<label for="license-accept" class="umb-package-installer-label">
<input type="checkbox" id="license-accept" ng-model="vm.localPackage.packageLicenseAccept" required no-dirty-check>
<strong class="label-text">I accept <a href="{{ vm.localPackage.licenseUrl }}">terms of use</a></strong>
</label>
<button type="button"
ng-class="{'-inactive' : localPackageForm.$invalid}"
ng-disabled="localPackageForm.$invalid"
class="umb-era-button -blue flex-inline mt-2"
ng-click="vm.installPackage(vm.localPackage)">
Install package
</button>
</div>
<div class="umb-info-local-item text-error" ng-if="!vm.localPackage.isCompatible">
This package cannot be installed, it requires a minimum Umbraco version of {{vm.localPackage.umbracoVersion}}
</div>
<div class="umb-info-local-item text-info">
<p>{{vm.installState.status}}</p>
</div>
<div class="umb-info-local-item">
<strong>Version</strong>
{{ vm.localPackage.version }}
</div>
</div>
</form>
<div class="umb-info-local-item">
<strong>License</strong>
<a href="{{ vm.localPackage.licenseUrl }}">{{ vm.localPackage.license }}</a>
</div>
<div class="umb-info-local-item">
<strong>Read me</strong>
<br>
<small ng-bind-html-unsafe="vm.localPackage.readMe"></small>
</div>
<div class="umb-info-local-item mt-3 flex items-center flex-column" ng-if="vm.installState.status == '' && vm.localPackage.isCompatible">
<label for="license-accept" class="umb-package-installer-label">
<input type="checkbox" id="license-accept" ng-model="vm.localPackage.packageLicenseAccept" required no-dirty-check>
<strong class="label-text">I accept <a href="{{ vm.localPackage.licenseUrl }}">terms of use</a></strong>
</label>
<button type="button"
ng-class="{'-inactive' : localPackageForm.$invalid}"
ng-disabled="localPackageForm.$invalid"
class="umb-era-button -blue flex-inline mt-2"
ng-click="vm.installPackage(vm.localPackage)">
Install package
</button>
</div>
<div class="umb-info-local-item text-error" ng-if="!vm.localPackage.isCompatible">
This package cannot be installed, it requires a minimum Umbraco version of {{vm.localPackage.umbracoVersion}}
</div>
<div class="umb-info-local-item text-info">
<p>{{vm.installState.status}}</p>
</div>
</div>
</form>
</div>
</div>
</div>