2016-03-08 22:39:04 +00:00
< ? php
script ( 'tasks' , 'vendor/angular/angular.min' );
script ( 'tasks' , 'vendor/angular-route/angular-route.min' );
script ( 'tasks' , 'vendor/angular-animate/angular-animate.min' );
script ( 'tasks' , 'vendor/angular-sanitize/angular-sanitize.min' );
script ( 'tasks' , 'vendor/angular-draganddrop/angular-drag-and-drop-lists.min' );
script ( 'tasks' , 'vendor/angular-ui-select/dist/select.min' );
script ( 'tasks' , 'vendor/jstzdetect/jstz.min' );
script ( 'tasks' , 'public/app' );
script ( 'tasks' , 'vendor/jquery-timepicker/jquery.ui.timepicker' );
script ( 'tasks' , 'vendor/ical.js/build/ical' );
2016-08-02 18:30:40 +00:00
style ( 'tasks' , 'style' );
2017-09-09 16:06:24 +00:00
style ( 'tasks' , 'sprite' );
2016-03-08 22:39:04 +00:00
style ( 'tasks' , 'vendor/angularui/ui-select/select2' );
?>
2016-03-01 20:48:25 +00:00
< div ng - app = " Tasks " ng - cloak ng - controller = " AppController " ng - click = " closeAll( $event ) " id = " app " class = " handler " data - appVersion = " <?php p( $_['appVersion'] ); ?> " >
2014-07-26 08:24:31 +00:00
< div id = " app-navigation " ng - controller = " ListController " >
2015-05-13 12:22:16 +00:00
< ul id = " collections " >
2015-07-19 12:05:29 +00:00
< li id = " collection_ { { collection.id }} "
class = " collection "
collectionID = " { { collection.id}} "
ng - repeat = " collection in collections "
2016-02-28 00:43:56 +00:00
ng - class = " { 'animate-up': hideCollection(collection.id), active: collection.id==route.collectionID} "
2015-07-19 12:05:29 +00:00
dnd - list = " draggedTasks "
2016-03-16 22:02:20 +00:00
dnd - drop = " dropCollection(event, index, item) "
2016-03-15 21:15:38 +00:00
dnd - dragover = " dragoverCollection(event, index) " >
2016-02-28 00:43:56 +00:00
< a href = " #/collections/ { { collection.id }} " >
2015-07-19 12:05:29 +00:00
< span class = " icon collection- { { collection.id }} " >
< text ng - show = " collection.id=='today' " >< ? php p ( $_ [ 'DOM' ]); ?> </text>
</ span >
< span class = " title " > {{ collection . displayname }} </ span >
2015-05-13 12:22:16 +00:00
</ a >
2015-05-28 15:01:58 +00:00
< div class = " app-navigation-entry-utils " >
< ul >
2015-06-17 20:09:25 +00:00
< li class = " app-navigation-entry-utils-counter " > {{ getCollectionString ( collection . id ) | counterFormatter }} </ li >
2015-05-28 15:01:58 +00:00
</ ul >
</ div >
2015-05-13 12:22:16 +00:00
</ li >
2015-07-19 12:05:29 +00:00
< li class = " list with-menu handler "
2016-02-28 16:13:02 +00:00
id = " list_ { { calendar.uri }} "
calendarID = " { { calendar.uri}} "
2016-02-25 21:27:45 +00:00
ng - repeat = " calendar in calendars "
2016-08-11 12:26:19 +00:00
ng - class = " { active: calendar.uri==route.calendarID, edit:route.listparameter == 'name' && route.calendarID == calendar.uri,
caldav : route . listparameter == 'caldav' && route . calendarID == calendar . uri } "
2015-07-19 12:05:29 +00:00
dnd - list = " draggedTasks "
2016-03-16 22:02:20 +00:00
dnd - drop = " dropList(event, index, item) "
2016-03-15 21:15:38 +00:00
dnd - dragover = " dragoverList(event, index) " >
2016-05-18 20:43:12 +00:00
< a href = " #/calendars/ { { calendar.uri }} " ng - dblclick = " startRename(calendar) " >
< span class = " calendar-indicator " style = " background-color: { { calendar.color }}; " ></ span >
2016-02-28 16:13:02 +00:00
< span class = " title " > {{ calendar . displayname }} </ span >
2015-05-13 12:22:16 +00:00
</ a >
< div class = " app-navigation-entry-utils " >
< ul >
2016-02-28 16:13:02 +00:00
< li class = " app-navigation-entry-utils-counter " > {{ getListCount ( calendar . uri , 'all' ) | counterFormatter }} </ li >
2016-02-28 22:15:57 +00:00
< li class = " app-navigation-entry-utils-menu-button svg " ng - show = " calendar.writable " >< button ></ button ></ li >
2015-05-13 12:22:16 +00:00
</ ul >
</ div >
2016-02-28 22:15:57 +00:00
< div class = " app-navigation-entry-menu " ng - show = " calendar.writable " >
2015-05-13 12:22:16 +00:00
< ul >
2016-08-11 12:26:19 +00:00
< li >
2017-02-20 22:14:41 +00:00
< a ng - click = " startEdit(calendar) " >
< span class = " icon-rename svg " ></ span >
2016-08-11 12:26:19 +00:00
< span >< ? php p ( $l -> t ( 'Edit' )); ?> </span>
2017-02-20 22:14:41 +00:00
</ a >
2015-09-01 20:59:44 +00:00
</ li >
2016-08-11 12:26:19 +00:00
< li >
2017-02-20 22:14:41 +00:00
< a ng - click = " showCalDAVUrl(calendar) " >
< span class = " icon-public svg " ></ span >
2016-09-02 21:31:06 +00:00
< span >< ? php p ( $l -> t ( 'Link' )); ?> </span>
2017-02-20 22:14:41 +00:00
</ a >
2016-08-11 12:26:19 +00:00
</ li >
< li >
2016-09-02 21:31:06 +00:00
< a href = " { { calendar.exportUrl}} " download = " { { calendar.uri}}.ics " >
2017-02-20 22:14:41 +00:00
< span class = " icon-download svg " ></ span >
2016-09-02 21:31:06 +00:00
< span >< ? php p ( $l -> t ( 'Download' )); ?> </span>
2016-08-11 12:26:19 +00:00
</ a >
</ li >
2016-08-12 18:01:16 +00:00
< li confirmation = " delete(calendar) " confirmation - message = " deleteMessage(calendar) " >
2015-09-01 20:59:44 +00:00
</ li >
2015-05-13 12:22:16 +00:00
</ ul >
</ div >
2016-08-11 12:26:19 +00:00
< div class = " app-navigation-entry-edit name " ng - class = " { error: nameError} " >
2015-06-11 07:34:38 +00:00
< form >
2016-08-10 18:23:18 +00:00
< input ng - model = " calendar.displayname " class = " edit hasTooltip " type = " text " ng - keyup = " checkEdit( $event ,calendar) " autofocus - on - insert >
2016-08-06 22:23:15 +00:00
< input type = " cancel " value = " " class = " action icon-close svg " ng - click = " cancelEdit(calendar) " title = " <?php p( $l->t ('Cancel')); ?> " >
< input type = " submit " value = " " class = " action icon-checkmark svg " ng - click = " saveEdit(calendar) " title = " <?php p( $l->t ('Save')); ?> " >
2015-06-11 07:34:38 +00:00
</ form >
2016-08-06 22:23:15 +00:00
< colorpicker class = " colorpicker "
selected = " calendar.color " >
</ colorpicker >
2015-06-11 07:34:38 +00:00
</ div >
2016-08-11 12:26:19 +00:00
< div class = " app-navigation-entry-edit caldav " >
< form >
< input class = " caldav " ng - value = " calendar.caldav " readonly type = " text " />
< input type = " cancel " value = " " class = " action icon-close svg " ng - click = " hideCalDAVUrl() " title = " <?php p( $l->t ('Cancel')); ?> " >
</ form >
</ div >
2015-05-13 12:22:16 +00:00
</ li >
2015-06-14 19:22:13 +00:00
< li class = " newList handler " ng - class = " { edit: status.addingList} " >
2016-02-28 22:15:57 +00:00
< a class = " addlist " ng - click = " startCreate() " oc - click - focus = " { selector: '#newList', timeout: 0} " >
2015-05-13 12:22:16 +00:00
< span class = " icon detail-add " ></ span >
2015-06-14 18:57:09 +00:00
< span class = " title " >< ? php p ( $l -> t ( 'Add List...' )); ?> </span>
2015-05-13 12:22:16 +00:00
</ a >
2016-08-11 12:26:19 +00:00
< div class = " app-navigation-entry-edit name " ng - class = " { error: nameError} " >
2015-06-14 18:57:09 +00:00
< form ng - disabled = " isAddingList " >
2016-08-10 18:23:18 +00:00
< input id = " newList " ng - model = " status.newListName " class = " edit hasTooltip " type = " text " autofocus - on - insert
placeholder = " <?php p( $l->t ('New List')); ?> " ng - keyup = " checkNew( $event ,status.newListName) " >
2016-08-10 18:45:56 +00:00
< input type = " cancel " value = " " class = " action icon-close svg " ng - click = " cancelCreate() " title = " <?php p( $l->t ('Cancel')); ?> " >
< input type = " submit " value = " " class = " action icon-checkmark svg " ng - click = " create( $event ) " title = " <?php p( $l->t ('Save')); ?> " >
2015-06-14 18:57:09 +00:00
</ form >
2016-08-11 09:40:35 +00:00
< colorpicker class = " colorpicker "
selected = " color " >
</ colorpicker >
2015-06-14 18:57:09 +00:00
</ div >
2015-06-11 07:34:38 +00:00
</ li >
2015-05-13 12:22:16 +00:00
</ ul >
2015-05-13 13:15:31 +00:00
< div id = " app-settings " ng - controller = " SettingsController " >
2015-05-13 12:22:16 +00:00
< div id = " app-settings-header " >
2015-06-10 21:12:36 +00:00
< button class = " settings-button " data - apps - slide - toggle = " #app-settings-content " >
< span >< ? php p ( $l -> t ( 'Settings' )); ?> </span>
</ button >
2015-05-13 12:22:16 +00:00
</ div >
< div id = " app-settings-content " >
2015-05-13 13:15:31 +00:00
< ul >
2015-07-12 17:35:18 +00:00
< li >
< label for = " startOfWeek " >< ? php p ( $l -> t ( 'Start of week' )); ?> </label>
< select id = " startOfWeek " ng - change = " setStartOfWeek() " ng - model = " settingsmodel.getById('various').startOfWeek " ng - options = " startOfWeekOption.id as startOfWeekOption.name for startOfWeekOption in startOfWeekOptions " ></ select >
</ li >
< li class = " headline " >
< ? php p ( $l -> t ( 'Visibility of Smart Collections' )); ?>
</ li >
2015-05-13 13:15:31 +00:00
< li ng - repeat = " collection in collections " >
2016-08-03 18:51:35 +00:00
< div class = " label-container " >
< span class = " icon collection- { { collection.id }} " >< text ng - show = " collection.id=='today' " >< ? php p ( $_ [ 'DOM' ]); ?> </text></span>
< label for = " visibilityCollection- { { collection.id}} " class = " title " > {{ collection . displayname }} </ label >
</ div >
2015-05-13 13:15:31 +00:00
< select id = " visibilityCollection- { { collection.id}} " ng - change = " setVisibility(collection.id) " ng - model = " collection.show " ng - options = " collectionOption.id as collectionOption.name for collectionOption in collectionOptions " ></ select >
</ li >
</ ul >
2015-05-13 12:22:16 +00:00
</ div >
2014-03-28 19:11:56 +00:00
</ div >
</ div >
2017-03-01 20:49:50 +00:00
< div id = " app-content " ng - controller = " TasksController " ng - class = " { 'with-app-sidebar':route.taskID} " >
2014-07-26 08:24:31 +00:00
< div class = " content-wrapper " >
2017-02-20 22:14:41 +00:00
< div id = " add-task " class = " add-task handler " ng - show = " showInput() " ng - class = " { 'focus':status.focusTaskInput} " >
2014-07-26 08:24:31 +00:00
< a class = " input-star " >
2015-05-13 12:22:16 +00:00
< span class = " icon input-star " ></ span >
2014-07-26 08:24:31 +00:00
</ a >
< a class = " input-date " >
< span class = " icon input-date " ></ span >
</ a >
2015-07-19 12:05:29 +00:00
< form ng - submit = " addTask(status.taskName) " name = " addTaskForm " >
< input id = " target " ng - disabled = " isAddingTask " ng - click = " focusTaskInput() " class = " transparent " placeholder = " { { getAddString() }} " ng - model = " status.taskName "
2015-05-13 12:22:16 +00:00
ng - keydown = " checkTaskInput( $event ) " />
2014-07-26 08:24:31 +00:00
</ form >
</ div >
2016-08-30 21:42:19 +00:00
< div class = " app-navigation-entry-utils " >
2016-09-02 21:00:10 +00:00
< div class = " app-navigation-entry-utils-menu-button " title = " <?php p( $l->t ('Change sort order')); ?> " >
< button class = " sortorder-dropdown-button " >
2017-07-26 13:04:35 +00:00
< span class = " icon svg- { { settingsmodel.getById('various').sortOrder }} " ></ span >
2016-09-02 21:00:10 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
</ button >
2016-08-30 21:42:19 +00:00
</ div >
</ div >
< div class = " app-navigation-entry-menu bubble sortorder-dropdown " >
< ul >
2016-09-01 23:19:26 +00:00
< li ng - click = " setSortOrder( $event , 'default') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'default'} " class = " handler " >
2017-02-20 22:47:28 +00:00
< a >
2017-07-26 13:04:35 +00:00
< span class = " icon svg-menu " ></ span >
2016-08-30 21:42:19 +00:00
< span >< ? php p ( $l -> t ( 'Default' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-08-30 21:42:19 +00:00
</ li >
2016-09-01 23:19:26 +00:00
< li ng - click = " setSortOrder( $event , 'due') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'due'} " >
2017-02-20 22:47:28 +00:00
< a >
2016-08-30 21:42:19 +00:00
< span class = " icon detail-date " ></ span >
< span >< ? php p ( $l -> t ( 'Due date' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-08-30 21:42:19 +00:00
</ li >
2016-09-01 23:19:26 +00:00
< li ng - click = " setSortOrder( $event , 'start') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'start'} " >
2017-02-20 22:47:28 +00:00
< a >
2016-08-30 21:42:19 +00:00
< span class = " icon detail-start " ></ span >
< span >< ? php p ( $l -> t ( 'Start date' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-08-30 21:42:19 +00:00
</ li >
2016-09-01 23:19:26 +00:00
< li ng - click = " setSortOrder( $event , 'priority') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'priority'} " >
2017-02-20 22:47:28 +00:00
< a >
2016-08-30 21:42:19 +00:00
< span class = " icon detail-priority " ></ span >
< span >< ? php p ( $l -> t ( 'Priority' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-08-30 21:42:19 +00:00
</ li >
2016-09-01 23:19:26 +00:00
< li ng - click = " setSortOrder( $event , 'alphabetically') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'alphabetically'} " >
2017-02-20 22:47:28 +00:00
< a >
2017-07-26 13:04:35 +00:00
< span class = " icon svg-alphabetically " ></ span >
2016-08-30 21:42:19 +00:00
< span >< ? php p ( $l -> t ( 'Alphabetically' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-08-30 21:42:19 +00:00
</ li >
2016-09-02 21:04:04 +00:00
<!-- < li ng - click = " setSortOrder( $event , 'manual') " ng - class = " { active: settingsmodel.getById('various').sortOrder == 'manual'} " >
2017-02-20 22:47:28 +00:00
< a >
2016-08-30 21:42:19 +00:00
< span class = " icon sort-manual " ></ span >
< span >< ? php p ( $l -> t ( 'Manually' )); ?> </span>
2016-09-01 23:19:26 +00:00
< span class = " sort-indicator " ng - class = " { 'icon-triangle-n': settingsmodel.getById('various').sortDirection, 'icon-triangle-s': !settingsmodel.getById('various').sortDirection} " ></ span >
2017-02-20 22:47:28 +00:00
</ a >
2016-09-02 21:04:04 +00:00
</ li > -->
2016-08-30 21:42:19 +00:00
</ ul >
</ div >
2015-06-17 19:23:42 +00:00
< div class = " task-list " >
2014-07-26 08:24:31 +00:00
< ? php print_unescaped ( $this -> inc ( 'part.tasklist' )); ?>
< ? php print_unescaped ( $this -> inc ( 'part.collectionall' )); ?>
< ? php print_unescaped ( $this -> inc ( 'part.collectionweek' )); ?>
2015-05-28 19:20:41 +00:00
< div id = " searchresults " ></ div >
2015-02-25 20:14:44 +00:00
< div class = " task-item template " >
< div class = " task-body " >
< div class = " percentdone " ></ div >
2015-05-28 19:20:41 +00:00
< a class = " task-checkbox " name = " toggleCompleted " ng - click = " toggleCompleted() " >
2015-02-25 20:14:44 +00:00
< span class = " icon task-checkbox " ></ span >
</ a >
< a class = " icon task-separator " ></ a >
2015-05-28 19:20:41 +00:00
< a class = " task-star " ng - click = " toggleStarred(task.id) " >
2015-02-25 20:14:44 +00:00
< span class = " icon task-star faded " ></ span >
</ a >
< a class = " duedate " ng - class = " { overdue: TasksModel.overdue(task.due)} " > {{ task . due | dateTaskList }} </ a >
< div class = " title-wrapper " >
< span class = " title " ></ span >
< span class = " icon task-attachment " ></ span >
</ div >
</ div >
</ div >
2014-07-26 08:24:31 +00:00
</ div >
2014-03-28 19:11:56 +00:00
</ div >
2017-03-01 20:49:50 +00:00
< div id = " app-sidebar " ng - class = " { 'disappear':!route.taskID} " >
2015-02-08 19:13:16 +00:00
< div class = " content-wrapper " >
< ? php print_unescaped ( $this -> inc ( 'part.details' )); ?>
</ div >
2014-03-28 19:11:56 +00:00
</ div >
</ div >
2015-07-19 12:05:29 +00:00
< script type = " text/ng-template " id = " part.taskbody " >
< ? php print_unescaped ( $this -> inc ( 'part.taskbody' )); ?>
</ script >
2015-05-28 15:33:21 +00:00
</ div >