toodles 0.1.3 → 0.1.4
raw patch · 5 files changed
+51/−4 lines, 5 files
Files
- README.md +18/−0
- toodles.cabal +1/−1
- web/css/toodles.css +8/−0
- web/html/index.html +9/−3
- web/js/app.js +15/−0
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() },