Prototype OAuth3 Web App
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

260 lines
12 KiB

<div class="container" ng-init="vm.paramInit()">
<div class="row">
<notification-bar></notification-bar>
</div>
<div class="row">
<h1>Create Share</h1>
<button class="btn btn-primary btn-lg create-share-btn" title="..." data-toggle="modal" data-target=".create-website-modal">
Create Share
</button>
<hr>
<div class="modal fade create-website-modal" tabindex="-1" role="dialog" aria-labelledby="create-website-modal" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title">Create a new Website</h4>
</div>
<div class="modal-body">
<h4>Select a domain</h4>
<div class="input-group">
<div angucomplete-alt
placeholder="Select a domain"
pause="300"
selected-object="vm.selectedDomain"
local-data="domain"
local-search="localDomainSearch"
title-field="domain"
minlength="0"
input-class="form-control trigger-dropdown"
match-class="highlight">
</div>
<!-- <input type="text" class="form-control" placeholder="Select a domain" aria-label="Domain Name" ng-model="vm.newDomain" ng-change="vm.setDomain()" /> -->
<div class="input-group-btn">
<div class="btn-group">
<button type="button" class="btn btn-default trigger-dropdown" aria-haspopup="true" aria-expanded="false" ng-click="vm.triggerDropdown()"><span class="caret"></span>
</button>
</div>
</div>
</div>
<div class="input-group">
<input type="text" class="form-control" placeholder="www" ng-model="vm.newRecord" ng-change="vm.setRecord()" />
<div class="input-group-btn">
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li ng-repeat="record in vm.records track by $index"><button class="btn btn-link" ng-bind="record.sub" ng-click="vm.selectRecord(record)">www</button></li>
</ul>
</div>
</div>
</div>
<div class="input-group">
<div>
<label>Select .zip upload</label>
<input type="file" ng-model="vm.newFile" class="form-control" daplie-file-change="vm.Sites.setUpload(vm.dom)" />
</div>
<div ng-if="vm.isZip" >
<label>
<input type="checkbox" ng-model="vm.unzip" />
Unpack .zip
</label>
</div>
<div ng-if="vm.unzip" >
<label>
<input type="checkbox" ng-model="vm.stripZip" />
Strip zip directory root
</label>
</div>
<!-- <div ng-if="vm.isZip" ><label>Unzip directory</label> <input type="text" ng-model="vm.unzipPath" /></div -->
<div ng-if="vm.uploadTotal">
<span ng-bind="vm.uploadPercent">99</span>% | <span ng-bind="vm.uploadProgress">1</span> MiB / <span ng-bind="vm.uploadTotal">100</span> MiB
</div>
<div>
<label>Web path</label>
<input type="text" class="form-control" ng-model="vm.uploadPath" />
</div>
<button ng-click="vm.Sites.create()" type="button" name="button" class="btn btn-default">Create Website</button>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.showSharesList = false; vm.showListFiles = false;">Close</button>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="invite-card-container">
<div class="invite-option">
<h1>Enter Invite Code</h1>
<hr />
<input type="text" class="form-control" ng-model="vm.Shares.inviteToken" />
<hr />
<div class="price">
<div class="front">
<span class="price">&nbsp;</span>
</div>
<div class="">
<a class="btn btn-primary" ng-click="vm.Shares.accept()">Accept Invite</a>
</div>
</div>
</div>
</div>
<hr>
<div class="row">
<div class="websites-tile">
<h1>Your Verified Websites</h1>
<ul class="cards">
<li class="cards__item" ng-repeat="r in vm.sites">
<div class="card">
<div class="card__image card__image--fence avoid-clicks">
<iframe ng-src="{{ r.urlSafeDomain }}" width="350" height="350"></iframe>
</div>
<div class="card__content">
<div class="card__title text-center"><a ng-href="https://{{ r.domain }}" target="_blank" ng-bind="r.domain">example.com</a></div>
<div class="cards__title text-center"><span ng-if="r.pending" class="text-muted">(pending)</span></div>
<button class="btn btn--block card__btn" data-toggle="modal" data-target=".{{ r.challenge }}" ng-click="vm.closeAllOpenActions(); vm.checkShareRights(r);">Edit</button>
</div>
</div>
</li>
</ul>
</div>
<div class="modal fade {{ r.challenge }}" tabindex="-1" role="dialog" aria-labelledby="myLargeModalLabel" ng-repeat="r in vm.sites">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" ng-click="vm.closeAllOpenActions()"><span aria-hidden="true">×</span><span class="sr-only">Close</span></button>
<h4 class="modal-title"><a ng-href="https://{{ r.domain }}" target="_blank" ng-bind="r.urlSafeDomain">example.com</a></h4>
</div>
<div class="modal-body">
<notification-bar></notification-bar>
<div class="website-menu container" ng-hide="vm.websiteTiles">
<div class="row">
<div class="col-md-3">
<div class="square-service-block">
<a ng-click="vm.showAction('invite'); vm.closeFileUploadsContainers();" class="cp">
<div class="ssb-icon"><i class="fa fa-share-square-o" aria-hidden="true"></i></div>
<h2 class="ssb-title">Invite</h2>
</a>
</div>
</div>
<div class="col-md-3">
<div class="square-service-block">
<a ng-click="vm.showAction('shares'); vm.Shares.list(r); vm.closeFileUploadsContainers();" class="cp">
<div class="ssb-icon"> <i class="fa fa-list-alt" aria-hidden="true"></i> </div>
<h2 class="ssb-title">Shares</h2>
</a>
</div>
</div>
<div class="col-md-3">
<div class="square-service-block">
<a ng-click="vm.showAction('files'); vm.Sites.allContents(r); vm.cleanArrays(); vm.closeFileUploadsContainers();" class="cp trigger-files-list-refresh">
<div class="ssb-icon"><i class="fa fa-sitemap" aria-hidden="true"></i></div>
<h2 class="ssb-title">Files</h2>
</a>
</div>
</div>
</div>
<div class="row">
<div class="col-md-3">
<div class="square-service-block">
<a ng-href="https://{{ r.domain }}" target="_blank" class="cp">
<div class="ssb-icon"><i class="fa fa-globe" aria-hidden="true"></i></div>
<h2 class="ssb-title">Website</h2>
</a>
</div>
</div>
<div class="col-md-3">
<div class="square-service-block">
<a ng-click="vm.Sites.archive(r); vm.closeFileUploadsContainers();" class="cp">
<div class="ssb-icon"><i class="fa fa-file-archive-o" aria-hidden="true"></i></div>
<h2 class="ssb-title">Download</h2>
</a>
</div>
</div>
<div class="col-md-3">
<div class="square-service-block">
<a ng-click="vm.deleteWebsite(r, r); vm.closeFileUploadsContainers();" class="cp">
<div class="ssb-icon"><i class="fa fa-trash" aria-hidden="true"></i></div>
<h2 class="ssb-title">Delete</h2>
</a>
</div>
</div>
</div>
</div>
<div ng-show="vm.showInviteContainer">
<div ng-if="r.shareAccess.invite">
<h1><i class="fa fa-folder"></i> {{ vm.currentFolder | capitalize }}</h1>
<form class="form-horizontal">
<div class="form-group">
<label class="col-md-1 control-label" for="">To:</label>
<div class="col-md-8">
<input type="text" ng-model="r.shareEmail" class="form-control" placeholder="ex: john@example.com" />
<input type="hidden" ng-model="vm.autoPopulateWebPath" class="form-control" placeholder="/" disabled />
</div>
<div class="col-md-3">
<multiselect class="input-xlarge" multiple="true"
ng-model="selectedAccess"
options="c.name for c in accessLevel"
change="selected()"
ng-change="showShareBtn = true; vm.getSharedAccess(selectedAccess)">
</multiselect>
</div>
</div>
<div class="text-right" ng-show="showShareBtn">
<button type="submit" class="btn btn-success text-center" ng-click="vm.shareFolderFrom(r, opts)">Share</button>
</div>
</form>
</div>
<div ng-if="!r.shareAccess.invite">
<h3 class="text-muted">You do not have the correct permissions to invite or share files...</h3>
</div>
</div>
<div ng-show="vm.showSharesContainer">
<div class="text-center {{ vm.displaySpinner }}">
<i class="fa fa-spinner fa-spin fa-5x"></i>
</div>
<h3 class="text-muted text-center">{{ vm.notSharedMessage }}</h3>
<ul class="shares-container" ng-repeat="share in r.sharedWith" ng-if="!share.me">
<li>
<div class="media">
<div class="media-left align-self-center">
<img class="rounded-circle" src="http://s3.amazonaws.com/37assets/svn/765-default-avatar.png">
</div>
<div class="media-body">
<h4 ng-bind="share.comment">friend@email.com</h4>
<p><b>Share Path:</b> <span ng-bind="share.path" class="text-muted">/</span></p>
<p><b>Actions Allowed:</b> <span ng-bind="share.mode | prettyShareMode" class="text-muted">wrx</span></p>
<p><b>Invite:</b> <em ng-if="share.pending" class="text-muted">pending</em> <span ng-if="!share.pending" class="text-muted">Accepted</span></p>
</div>
<div class="media-right align-self-center">
<button ng-if="r.shareAccess.invite" class="btn btn-danger" ng-click="vm.Shares.remove(r, share)">Remove Access</button>
</div>
</div>
</li>
</ul>
</div>
<div ng-show="vm.showFilesContainer">
<file-tree r="r"></file-tree>
</div>
</div>
<div class="modal-footer ">
<button type="button" class="btn btn-primary pull-left" ng-show="vm.showBackBtn" ng-click="vm.closeAllOpenActions();">Back</button>
<button type="button" class="btn btn-default" data-dismiss="modal" ng-click="vm.closeAllOpenActions();">Close</button>
</div>
</div>
</div>
</div>
</div>