packages feed

toodles 0.1.3 → 0.1.4

raw patch · 5 files changed

+51/−4 lines, 5 files

Files

README.md view
@@ -146,6 +146,24 @@ */ ``` +### Background++I work at a small startup called DotDashPay and over time the TODOs in our code+base continued building up to the point where it was difficult to use them+holistically. While the information in the TODOs was actually very useful and+methodically written, the fact that were couldn't easily organize them started+to weigh on us as mounting tech debt.++While not our main product focus, we try hard to find opportunities to build+tools that make use of the organization schemes we already have in place, since+doing so is a big win for us. Toodles became a nights and weekends side+project to use the pre-existing TODO scheme we had spent years using, but had+never effectively capitalized on.++A quick plug if you also like building great tools, like working in a fast paced+startup environment, and are located in the SF Bay Area: Reach out at+careers@dotdashpay.com and come work with us!+ ### Contributing  Contributions in any form are welcome! A few bits of info:
toodles.cabal view
@@ -1,6 +1,6 @@ cabal-version: 1.12 name: toodles-version: 0.1.3+version: 0.1.4 license: MIT license-file: LICENSE copyright: 2018 Avi Press
web/css/toodles.css view
@@ -53,6 +53,10 @@     font-size: .75em; } +.todo-source-link:hover {+    text-decoration: underline;+}+ .todo-source-link a:link, .todo-source-link a:visited {     color: grey !important; }@@ -75,6 +79,10 @@     margin-right: .2em;     padding: .3em;     text-align: center;+}++.todo-item:hover {+    cursor: pointer; }  .todo-item-body {
web/html/index.html view
@@ -37,8 +37,14 @@                         </span>                         <span>Delete</span>                     </div>-                    <div class="select-all navbar-item" v-on:click="selectAll">+                    <div class="navbar-item deselect-all" v-on:click="deselectAll" v-show="todos.length && todos.every(t => t.selected)">                         <span class="icon">+                           <i class="fa fa-square"></i> +                        </span>+                        <span>Deselect All</span>+                    </div>+                    <div class="select-all navbar-item" v-on:click="selectAll" v-show="todos.some(t => !t.selected)">+                        <span class="icon">                             <i class="fa fa-check-square"></i>                         </span>                         <span>Select All</span>@@ -130,14 +136,14 @@                             <th>Tags</th>                         </tr>                     </thead>-                    <tr class="todo-item" v-for="todo in todos" v-if="todo.body.indexOf(todoSearch) !== -1 || (todo.assignee || '').indexOf(todoSearch) !== -1 || (todo.tags || []).toString().indexOf(todoSearch) !== -1 || (todo.flag || '').indexOf(todoSearch) !== -1" @change="updateTodo('top level')">+                    <tr class="todo-item" v-for="todo in todos" v-if="todo.body.indexOf(todoSearch) !== -1 || (todo.assignee || '').indexOf(todoSearch) !== -1 || (todo.tags || []).toString().indexOf(todoSearch) !== -1 || (todo.flag || '').indexOf(todoSearch) !== -1" @change="updateTodo('top level')" @click="toggleTodo(todo)">                         <td><input type="checkbox" v-model="todo.selected"></td>                         <td class="todo-item-priority" >                             <div v-show="todo.priority !== undefined">{{ todo.priority }}</div>                         </td>                         <td class="todo-item-flag" >{{ todo.flag }}</td>                         <td class='todo-item-body'>-                            <div class="todo-source-link"><a :href="'/source_file/' + todo.id + '#line-' + todo.lineNumber" target="_blank">{{ todo.sourceFile }}:{{ todo.lineNumber}}</a></div>+                            <div class="todo-source-link" @click="stopPropagation"><a :href="'/source_file/' + todo.id + '#line-' + todo.lineNumber" target="_blank">{{ todo.sourceFile }}:{{ todo.lineNumber}}</a></div>                             <div>{{ todo.body }}</div>                         </td>                         <td class="todo-item-assignee" >{{ todo.assignee }}</td>
web/js/app.js view
@@ -120,7 +120,15 @@           console.log(name)         }       },+      +      toggleTodo: function(todo) {+        todo.selected = !todo.selected+      }, +      stopPropagation: function(e) {+        e.stopPropagation()+      },+       editSeletedTodos: function() {         $(".modal").addClass("is-active")         this.hideDropdown()@@ -155,6 +163,13 @@       selectAll: function() {         this.todos.map(function(t) {           t.selected = true+        })+        this.hideDropdown()+      },++      deselectAll: function() {+        this.todos.map(function(t) {+          t.selected = false         })         this.hideDropdown()       },