Initial COmmit WIP

This commit is contained in:
Julius Haertl
2016-06-05 15:07:47 +02:00
commit e10fe82afb
55 changed files with 6366 additions and 0 deletions

58
templates/main.php Normal file
View File

@@ -0,0 +1,58 @@
<?php
use OCP\Util;
Util::addStyle('deck', 'font-awesome');
Util::addStyle('deck', 'style');
Util::addStyle('deck', '../js/vendor/ng-sortable/dist/ng-sortable.min');
Util::addStyle('deck', '../js/vendor/ng-sortable/dist/ng-sortable.style.min');
Util::addScript('deck', 'vendor/angular/angular.min');
Util::addScript('deck', 'vendor/angular-route/angular-route.min');
Util::addScript('deck', 'vendor/angular-sanitize/angular-sanitize.min');
Util::addScript('deck', 'vendor/angular-animate/angular-animate.min');
Util::addScript('deck', 'vendor/angular-ui-router/release/angular-ui-router.min');
Util::addScript('deck', 'vendor/ng-sortable/dist/ng-sortable.min');
Util::addScript('deck', 'app/App');
Util::addScript('deck', 'controller/AppController');
Util::addScript('deck', 'controller/CardController');
Util::addScript('deck', 'controller/BoardController');
Util::addScript('deck', 'controller/ListController');
Util::addScript('deck', 'service/factory.board');
Util::addScript('deck', 'service/factory.stack');
?>
<div id="app" class="app-deck" data-ng-app="Deck" ng-controller="AppController" ng-cloak>
<div id="app-navigation" data-ng-controller="ListController">
<?php print_unescaped($this->inc('part.navigation')); ?>
<?php print_unescaped($this->inc('part.settings')); ?>
</div>
<route-loading-indicator />
<div id="app-content" ui-view ng-class="{ 'details-visible': sidebar.show }" ng-if='!isRouteLoading' >
</div>
<script type="text/ng-template" id="/boardlist.mainView.html">
<?php print_unescaped($this->inc('part.boardlist')); ?>
</script>
<script type="text/ng-template" id="/boardlist.sidebarView.html">
<?php print_unescaped($this->inc('part.empty')); ?>
</script>
<script type="text/ng-template" id="/board.mainView.html">
<?php print_unescaped($this->inc('part.board.mainView')); ?>
</script>
<script type="text/ng-template" id="/board.html">
<?php print_unescaped($this->inc('part.board')); ?>
</script>
<script type="text/ng-template" id="/board.sidebarView.html">
<?php print_unescaped($this->inc('part.empty')); ?>
</script>
<script type="text/ng-template" id="/card.sidebarView.html">
<?php print_unescaped($this->inc('part.card')); ?>
</script>
</div>

View File

@@ -0,0 +1,62 @@
<div id="board-status" ng-if="status.active">
<div id="emptycontent">
<div class="icon-{{ status.icon }}"></div>
<h2>{{ status.title }}</h2>
<p>{{ status.text }}</p></div>
</div>
<div id="board" class="scroll-container" style="background-color:{{rgblight(board.color)}};">
<h1 style="background-color:#{{ board.color }};" ng-click="stackservice.getOne(6)">{{ board.title }} {{ stackservice.once }}
</h1>
<?php /* maybe later
<div class="board-actions">
<button class="fa fa-share-alt"></button>
<button class="fa fa-users"></button>
<button class="fa fa-ellipsis-h"></button>
</div> */ ?>
<div id="innerBoard" data-ng-model="stacks">
<div class="stack" ng-repeat="s in stacks" data-columnindex="{{$index}}" id="column{{$index}}" data-ng-model="stacks">
<h2>{{ s.title }}
<div class="stack-actions">
<button class="icon-rename"></button>
<button class="icon-delete"></button>
</div>
</h2>
<ul data-as-sortable="sortOptions" data-ng-model="s.cards" style="min-height: 40px;">
<li class="card as-sortable-item" ng-repeat="c in s.cards" data-as-sortable-item>
<a href="#/board/{{ id }}/card/{{ c.id }}" data-as-sortable-item-handle>
<h3><i class="fa fa-github"></i> {{ c.title }}</h3>
<span class="info due"><i class="fa fa-clock-o" aria-hidden="true"></i> <span>Today</span></span>
<span class="info tasks"><i class="fa fa-list" aria-hidden="true"></i> <span>3/12</span></span>
<span class="info members"><i class="fa fa-users" aria-hidden="true"></i> <span>4</span></span>
<button class="icon-more"></button>
<ul class="labels">
<li style="color:#a00; border-color:#aa0000;">important</li>
<li style="color:#0a0; border-color:#00aa00;">action-needed</li>
<li style="color:#00a; border-color:#00a;">action-needed</li>
<li style="color:#ac8ac8; border-color:#ac8ac8;">action-needed</li>
</ul>
</a>
</li>
</ul>
<div class="card create">
<h3><input type="text" /></h3>
<i class="fa fa-plus"></i>
</div>
</div>
<div class="stack" style="display: inline-block;">
<form class="ng-pristine ng-valid" ng-submit="createStack()">
<h2>
<input type="text" placeholder="Add a new stack" ng-focus="status.addStack=true" ng-blur="status.addStack=false" ng-model="newStack.title">
<button class="icon icon-add" ng-show="status.addStack" type="submit"></button>
</h2>
</form>
</div>
</div>
</div>
</div>

6
templates/part.board.php Normal file
View File

@@ -0,0 +1,6 @@
<?php print_unescaped($this->inc('part.board.mainView')); ?>
<route-loading-indicator></route-loading-indicator>
<div id="app-sidebar" class="details-view scroll-container" ng-class="{ 'details-visible': sidebar.show }" ui-view="sidebarView" ng-controller="CardController">
</div>

View File

@@ -0,0 +1,55 @@
<div id="boardlist">
<table id="boardlist" width="100%">
<thead>
<tr>
<td class="cell-board-bullet"></td>
<td class="cell-board-title">Board Title</td>
<td class="cell-board-members">Members</td>
<td class="cell-board-actions">Actions</td>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="b in boards" ui-sref="board({boardId: b.id})">
<td>
<span class="board-bullet" style="background-color:#{{b.color}};"> </span>
</td>
<td> <a href="#/board/{{b.id}}">{{ b.title }}</a></td>
<td>
<div id="assigned-users">
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(213, 231, 116);">D</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(213, 120, 220);">E</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(120, 120, 220);">C</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(120, 220, 220);">K</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(220, 220, 220);">+</div>
</div>
</td>
<td>
<a class="action action-share permanent" href="#" data-action="Share" data-original-title="" title=""><span class="icon icon-share"></span><span class="hidden-visually">Sharing</span></a>
<a class="action action-menu permanent" href="#" data-action="menu" data-original-title="" title=""><span class="icon icon-more"></span><span class="hidden-visually">Aktionen</span></a>
</td>
</tr>
<tr>
<td><span class="icon icon-add"></span></td>
<td>
<a ng-click="status.addBoard=!status.addBoard" ng-show="!status.addBoard">
Board erstellen
</a>
<form ng-show="status.addBoard" ng-disabled="isAddingList" class="ng-pristine ng-valid" ng-submit="createBoard()">
<input id="newTitle" class="edit ng-valid ng-empty" type="text" placeholder="Neue Liste" autofocus-on-insert ng-model="newBoard.title">
<div class="colorselect">
<div class="color" ng-repeat="c in colors" style="background-color:#{{ c }};" ng-click="selectColor(c)" ng-class="{'selected': (c == newBoard.color) }"><br /></div>
</div>
<input type="submit" value="" class="icon-checkmark svg">
</form>
</td>
<td></td>
<td></td>
</tr>
</tbody>
</table>
</div>

60
templates/part.card.php Normal file
View File

@@ -0,0 +1,60 @@
<div id="card-header">
<h2>{{ cardId }} {{ card.title }}<a class="icon-close" ng-click="sidebar.show=!sidebar.show"> &nbsp;</a></h2>
<ul class="labels">
<li style="color:#a00; border-color:#aa0000;">important</li>
<li style="color:#0a0; border-color:#00aa00;">action-needed</li>
<li style="color:#00a; border-color:#00a;">action-needed</li>
<li style="color:#ac8ac8; border-color:#ac8ac8;">action-needed</li>
</ul>
<div id="assigned-users">
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(213, 231, 116);">D</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(213, 120, 220);">E</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(120, 120, 220);">C</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(120, 220, 220);">K</div>
<div class="avatardiv" style="height: 30px; width: 30px; color: rgb(255, 255, 255); font-weight: normal; text-align: center; line-height: 30px; font-size: 17px; background-color: rgb(220, 220, 220);">+</div>
</div>
<div id="card-description">
<textarea>
{{ card.description }}
</textarea>
</div>
</div>
<div id="card-attachments">
<h3>Attachments</h3>
<ul>
<li>
<a href="#">
<span class="fa fa-file"></span> clienta_webdesign_darft_032.pdf
<div class="details">
<span class="user">Added by John Doe at</span>
<span class="added">1.3.2014 14:13</span>
</div>
</a>
</li>
</ul>
</div>
<div class="card-block">
<h3>Comments</h3>
</div>
<div class="card-block">
<h3>Build Status</h3>
<p>
Autem inventore et exercitationem quas voluptatem perspiciatis nostrum. Eligendi numquam officia quas facere voluptas mollitia. Blanditiis quia eveniet ipsum magnam. Et consectetur repellat eum odio impedit dolorem veritatis. Aperiam delectus qui quis enim consequatur nihil. Provident molestiae et occaecati facere.
Quod perspiciatis ea dolores nostrum numquam rerum consectetur ut. Ex voluptatem fugiat officia voluptas et officia eaque consequatur. Voluptas minus soluta minima consequatur aspernatur ad voluptas. Neque et deleniti sunt a reprehenderit rerum.
Non rerum natus recusandae dolorem nihil. Impedit dolore molestiae dolorum aspernatur. Impedit nulla dolore amet consectetur voluptatem iusto sit. Repellendus in pariatur officiis eos necessitatibus saepe est ut. Quia vel adipisci voluptate expedita hic. Ad sed quia aut inventore consequatur.
Quia quia qui aspernatur cumque quo omnis corporis. Reprehenderit id sint architecto magni in. Et harum sequi eaque quasi qui sed id quod.
Officia quaerat facere et totam officiis dolores velit qui. Earum velit sint quia. Id libero quibusdam voluptatem.
</p>
<p>
Autem inventore et exercitationem quas voluptatem perspiciatis nostrum. Eligendi numquam officia quas facere voluptas mollitia. Blanditiis quia eveniet ipsum magnam. Et consectetur repellat eum odio impedit dolorem veritatis. Aperiam delectus qui quis enim consequatur nihil. Provident molestiae et occaecati facere.
Quod perspiciatis ea dolores nostrum numquam rerum consectetur ut. Ex voluptatem fugiat officia voluptas et officia eaque consequatur. Voluptas minus soluta minima consequatur aspernatur ad voluptas. Neque et deleniti sunt a reprehenderit rerum.
Non rerum natus recusandae dolorem nihil. Impedit dolore molestiae dolorum aspernatur. Impedit nulla dolore amet consectetur voluptatem iusto sit. Repellendus in pariatur officiis eos necessitatibus saepe est ut. Quia vel adipisci voluptate expedita hic. Ad sed quia aut inventore consequatur.
Quia quia qui aspernatur cumque quo omnis corporis. Reprehenderit id sint architecto magni in. Et harum sequi eaque quasi qui sed id quod.
Officia quaerat facere et totam officiis dolores velit qui. Earum velit sint quia. Id libero quibusdam voluptatem.
</p>
</div>

0
templates/part.empty.php Normal file
View File

View File

@@ -0,0 +1,55 @@
<ul class="with-icon">
<li><a href="#" class="">All Boards</a></li>
<li>{{stackservice.once}}</li>
<!--<li><a href="#" class="icon-starred">Starred Boards</a></li>
<li><a href="#" class="icon-share">Shared Boards</a></li>
<li><a href="#" class="icon-public">Public Boards</a></li> //-->
<li class="with-menu" data-ng-repeat="b in boards">
<span class="board-bullet" style="background-color:#{{b.color}};" ng-if="!b.status.edit"> </span>
<a href="#/board/{{b.id}}" ng-if="!b.status.edit">{{ b.title }}</a>
<div class="app-navigation-entry-utils" ng-show="!b.status.edit">
<ul>
<li class="app-navigation-entry-utils-menu-button svg"><button class="icon-more"></button></li>
</ul>
</div>
<div class="app-navigation-entry-menu" ng-show="!b.status.edit">
<ul>
<li><button class="icon-share svg" title="share"></button></li>
<li><button class="icon-rename svg" title="rename" ng-click="b.status.edit=true"></button></li>
<li><button class="icon-delete svg" title="delete" ng-click="deleteBoard($index)"></button></li>
</ul>
</div>
<div class="app-navigation-entry-deleted" ng-show="false">
<div class="app-navigation-entry-deleted-description">Deleted X</div>
<button class="app-navigation-entry-deleted-button icon-history svg" title="Undo"></button>
</div>
<div class="app-navigation-entry-edit" ng-show="b.status.edit">
<form ng-disabled="isAddingList" class="ng-pristine ng-valid" ng-submit="updateBoard(b)">
<input id="newTitle" class="edit ng-valid ng-empty" type="text" autofocus-on-insert ng-model="b.title">
<input type="submit" value="" class="action icon-checkmark svg">
<div class="colorselect">
<div class="color" ng-repeat="c in colors" style="background-color:#{{ c }};" ng-click="b.color=c" ng-class="{'selected': (c == b.color) }"><br /></div>
</div>
</form>
</div>
</li>
<!-- Add new Board //-->
<li>
<a ng-click="status.addBoard=!status.addBoard" ng-show="!status.addBoard" class="icon-add">
Board erstellen
</a>
<div class="app-navigation-entry-edit" ng-if="status.addBoard">
<form ng-disabled="isAddingList" class="ng-pristine ng-valid" ng-submit="createBoard()">
<input id="newTitle" class="edit ng-valid ng-empty" type="text" placeholder="Neue Liste" autofocus-on-insert ng-model="newBoard.title">
<input type="submit" value="" class="action icon-checkmark svg">
<div class="colorselect">
<div class="color" ng-repeat="c in colors" style="background-color:#{{ c }};" ng-click="selectColor(c)" ng-class="{'selected': (c == newBoard.color) }"><br /></div>
</div>
</form>
</div>
</li>
</ul>

View File

@@ -0,0 +1,15 @@
<div id="app-settings">
<div id="app-settings-header">
<button class="settings-button"
data-apps-slide-toggle="#app-settings-content"
></button>
</div>
<div id="app-settings-content">
We will provide some options here!
<br />
<input type="checkbox" /> Show labels on cards<br />
<input type="checkbox" /> Show summary on cards<br />
<input type="checkbox" /> Show members on cards<br />
<input type="checkbox" /> Show archived cards
</div>
</div>

24
templates/public.php Normal file
View File

@@ -0,0 +1,24 @@
<?php
use OCP\Util;
Util::addStyle('deck', 'font-awesome');
Util::addStyle('deck', 'style');
Util::addScript('deck', 'vendor/angular/angular.min');
Util::addScript('deck', 'vendor/angular-route/angular-route.min');
Util::addScript('deck', 'vendor/angular-sanitize/angular-sanitize.min');
Util::addScript('deck', 'vendor/angular-animate/angular-animate.min');
Util::addScript('deck', 'vendor/angular-ui-router/release/angular-ui-router.min');
Util::addScript('deck', 'app/App');
?>
<div id="app" class="app-deck public-board" data-ng-app="Deck" ng-controller="AppController" ng-cloak">
<div id="app-content" ng-class="{ 'details-visible': sidebar.show }">
<?php print_unescaped($this->inc('part.content')); ?>
</div>
<div id="app-sidebar" class="details-view scroll-container" ng-controller="CardController" ng-class="{ 'details-visible': sidebar.show }">
<?php print_unescaped($this->inc('part.card')); ?>
</div>
</div>