-
Notifications
You must be signed in to change notification settings - Fork 70
/
todo-checklist.html
51 lines (49 loc) · 2.61 KB
/
todo-checklist.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<script type="text/ng-template" id="todoItemTemplate">
<div ui-tree-handle class="tree-node tree-node-content">
<input type="checkbox"
ng-hide="showSkipped"
ng-model="todo.completed"
ng-change="updateTodo(todo)">
<label ng-class="{'text-danger': isInDanger(todo)}">
<span ng-click="toggle(this)">
<i aria-hidden="true" ng-if="todo.items && todo.items.length > 0" data-nodrag
class="fa"
ng-class="{
'skipped-todos': showSkipped,
'fa-caret-right': collapsed,
'fa-caret-down': !collapsed
}"></i>
<i class="fa fa-circle-o" aria-hidden="true" ng-if="(!todo.items || todo.items.length === 0) && showSkipped" data-nodrag></i>
<span ng-hide="!todo.items || todo.items.length < 1 || showSkipped">[{{ ( todo.items | filter: { completed: true, skipped_datetime: '!' } ).length }}/{{ ( todo.items | filter: { skipped_datetime: '!' } ).length }}] </span>
<span class="todo__role">{{steps[taskSlugs[todo.task]].name}}: </span>
<span class="todo__description" ng-bind-html="todo.description"></span>
<span ng-class="{'todo__dates': true, 'todo__dates-danger': isInDanger(todo)}">
<span ng-if="isNonEmptyString(todo.start_by_datetime)">
Start <datetime-display datetime="todo.start_by_datetime" show-time="true"/>
</span>
<span ng-if="isNonEmptyString(todo.start_by_datetime) && isNonEmptyString(todo.due_datetime)" class="todo__dates-separator">|</span>
<span ng-if="isNonEmptyString(todo.due_datetime)">
Due <datetime-display datetime="todo.due_datetime" show-time="true"/></span>
</span>
</span>
<span ng-if="todoList.templates.length > 0">
<a href="#" ng-hide="!showSkipped" ng-click="unskipTodo(todo)">[add]</a>
<a href="#" ng-hide="showSkipped" ng-click="skipTodo(todo)">[skip]</a>
<a href="#" ng-hide="todo.parent_todo" ng-click="removeTodo(todo)">[remove]</a>
</span>
</label>
</div>
<ol ui-tree-nodes ng-model="todo.items" ng-class="{hidden: collapsed}">
<li ng-repeat="todo in filterTodoList(todo.items, showSkipped)" ui-tree-node data-collapsed="true" ng-include="'todoItemTemplate'"></li>
</ol>
</script>
<div class="list-by-status" ng-if="todos.length > 0">
<div class="todo">
<div ui-tree data-drag-enabled="false" id="tree-root">
<ol ui-tree-nodes ng-model="todos">
<li ng-repeat="todo in filterTodoList(todos, showSkipped)" ui-tree-node data-collapsed="true" ng-include="'todoItemTemplate'"></li>
</ol>
</div>
</div>
</div>