Skip to content

Commit fc1566a

Browse files
authored
Release/v2.1.0 (#83)
* nitckpick boilerplate * Add license * Update issue templates * Add shields to readme Mention maintenance, license and that we use vue.js * Set up component boilerplate (#8) * set up component boilerplate * ensure component communication * add initial styling and sass compiler * Restructure folders to better handle styles * Move styling to dedicated scss files * Render lanes from object * Add codefactor shield * generate default epic file and import it * Get ready to render epics * Iterate through the demo * color epic based on their lanes * please linter gods * center lane title * passe correct epics to lanes * wrap things up * Remove useless scss and add more cards to the demo * add boilerplate for toolbar * please linter gods * fix icon hoevring issues * populate and style toolbar * simplify styles * center pen in toolbar * ensure the entire box is hovererd * add meta description * Apply PR updates * Merge demo * set up component boilerplate * ensure component communication * add initial styling and sass compiler * Restructure folders to better handle styles * Move styling to dedicated scss files * Render lanes from object * Add codefactor shield * generate default epic file and import it * Get ready to render epics * Iterate through the demo * color epic based on their lanes * please linter gods * center lane title * passe correct epics to lanes * wrap things up * Remove useless scss and add more cards to the demo * add boilerplate for toolbar * please linter gods * fix icon hoevring issues * populate and style toolbar * simplify styles * center pen in toolbar * ensure the entire box is hovererd * add meta description * Apply PR updates * Bump @vue/cli-plugin-babel from 3.10.0 to 3.11.0 (#6) Bumps [@vue/cli-plugin-babel](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-babel) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/vuejs/vue-cli/releases) - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-cli/commits/v3.11.0/packages/@vue/cli-plugin-babel) Signed-off-by: dependabot-preview[bot] <[email protected]> * upragde saas loader * Use node sass as suggested by yarn * Bump @vue/cli-service from 3.10.0 to 3.11.0 (#5) * Bump @vue/cli-service from 3.10.0 to 3.11.0 Bumps [@vue/cli-service](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-service) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/vuejs/vue-cli/releases) - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-cli/commits/v3.11.0/packages/@vue/cli-service) Signed-off-by: dependabot-preview[bot] <[email protected]> * Update loader * Bump @vue/cli-plugin-eslint from 3.10.0 to 3.11.0 (#4) * Bump @vue/cli-plugin-eslint from 3.10.0 to 3.11.0 Bumps [@vue/cli-plugin-eslint](https://github.com/vuejs/vue-cli/tree/HEAD/packages/@vue/cli-plugin-eslint) from 3.10.0 to 3.11.0. - [Release notes](https://github.com/vuejs/vue-cli/releases) - [Changelog](https://github.com/vuejs/vue-cli/blob/dev/CHANGELOG.md) - [Commits](https://github.com/vuejs/vue-cli/commits/v3.11.0/packages/@vue/cli-plugin-eslint) Signed-off-by: dependabot-preview[bot] <[email protected]> * Update package * Add todobot * Fix todobot config * Boilerplating modal * Revert "Boilerplating modal" This reverts commit d86d2f5. * [Security] Bump eslint-utils from 1.4.0 to 1.4.2 (#27) * [Security] Bump eslint-utils from 1.4.0 to 1.4.2 Bumps [eslint-utils](https://github.com/mysticatea/eslint-utils) from 1.4.0 to 1.4.2. **This update includes a security fix.** - [Release notes](https://github.com/mysticatea/eslint-utils/releases) - [Commits](mysticatea/eslint-utils@v1.4.0...v1.4.2) Signed-off-by: dependabot-preview[bot] <[email protected]> * fix sass issue * Configure Restyled.io * Bump babel-eslint from 10.0.2 to 10.0.3 (#28) Bumps [babel-eslint](https://github.com/babel/babel-eslint) from 10.0.2 to 10.0.3. - [Release notes](https://github.com/babel/babel-eslint/releases) - [Commits](babel/babel-eslint@v10.0.2...v10.0.3) Signed-off-by: dependabot-preview[bot] <[email protected]> * Bump core-js from 2.6.9 to 3.1.4 (#29) Bumps [core-js](https://github.com/zloirock/core-js) from 2.6.9 to 3.1.4. - [Release notes](https://github.com/zloirock/core-js/releases) - [Changelog](https://github.com/zloirock/core-js/blob/master/CHANGELOG.md) - [Commits](zloirock/core-js@v2.6.9...3.1.4) Signed-off-by: dependabot-preview[bot] <[email protected]> * Enable epic creation (#25) * Ensure app and modal communicate * add modal background * Add modal title * Add editor config * add styling to modals * Update colour naming * Wrap up modal styline (for now) * Please linter gods * Refactor sass file structure * Toggle modal (on close) * Toggle modal (on open) * Save epic input in data * Add new epics to epic object * Please linter gods * sorting epics in computed properties * Use computed components to sort epics * Use computed properties to sort epics * Remove breaks in switch expression Since returns acts as a break, the break condition would not be accesible and this would cause errors in the linter. * Close modal on save * add a nice message on save * Apply PR comments * Add tooltip messages to toolbar (#32) * add tooltip messages to toolbar * Make sure to pay the linter gods * Update github todo bot for linter reasons * Feature/add ci (#38) * Add linter to ci * add lint job * add building step * Make lint into another job * Small fix * Handle settings (#40) * Fix missclick * boilerplate for settings * Simplify working with .yml files * Handle escape key on modal to close * Boilerplate setting form * Add a second column to display a profile picture * Create user object * Pass user preferences to pref pane * Please linter gods (who are always right) * Add final details before handling changes * enable closing settings modal and styling change * emit settings object on save * Save user settings * Removing useless style files * Add early version disclaimer * Bump package version * Make label clickable * Actually use the user's picture to display it * Use username to create epic * Updates based on PR comments * Update package.json * Update src/App.vue * Add PR template * Ensure chekboxes are rendered * Bump sass-loader from 7.3.1 to 8.0.0 (#48) Bumps [sass-loader](https://github.com/webpack-contrib/sass-loader) from 7.3.1 to 8.0.0. - [Release notes](https://github.com/webpack-contrib/sass-loader/releases) - [Changelog](https://github.com/webpack-contrib/sass-loader/blob/master/CHANGELOG.md) - [Commits](webpack-contrib/sass-loader@v7.3.1...v8.0.0) Signed-off-by: dependabot-preview[bot] <[email protected]> * Enable epic edition (#46) * Bump version * Show selected epic * Add an ID to each epic and send it down * Upate app state * Reorganize modals * Go for it and send the whole epic * Review modal structure * Plan for epic detail restyle * display epic author * Style epic details modal * handle closing modal and DRY * Set resolved to true when creating done epic * Enable deleting epics (with a nice message) * Rename epic.name to epic.epicName * Letting the app know we update epic * Enable epic edition * Pimp epic id * Wrap up epic edition * Updates based on PR comments * Delete roadmap and error messages (#54) * Error message when user clicks a feature not done * Generalize error message * Display danger modal * Version bump * Respect linter gods. * Be really explicit about the risks of resetting * Delete roadmap. Don't look back. * Export roadmap (#56) * v0.5.0 * Improve on PR template * Export roadmap to JSON in a file * Fix merge conflict * Make file export happen in modal * Quick css fix (planning for png export) * Enable saving pictures * Trigger modal close * Be on our way on simplifying export * Keep simplifying * Relentlessly simplify * Respect linter gods (dammit) * Refactor modal title computing * Locally save a user's roadmap (#57) * v0.6.0 * Rename demoepic in user epic * Get local storage on creation * Get and retrieve local save * Fix date bug Since we store our epics as strings, our dates get converted to strings. This means they can't be read properly any longer. To fix it, we needed to revert the string to a date before working with it * Bring epic creation in app.js * Save user details * Quick fix * Enable deploying the app (#60) * Add deploy files * Quick fix * Add deployment script * Improve indentation on package * Serve is a dev dependancy * Please linter * v1.0.0 * Quick fix on max height lanes * Import user Roadmap (#59) * v0.7.0 * Boilerplate for CSV roadmap import * Add style and hints * Boilerplate interaction * Wait what? * Update babel config to support split Long story short: the issue was that the system (for lack of a better word) was looking for files that were prefixed with es6... whereas my core-js files were prefixed with es. Obviously, files would not be found. I updated my packages to make sure we were running the latest versions for everything and then, since this did not work, updated my babel config as proposed here: vuejs/vue-cli#3678. And now, after 3h, I can finally split a fucking string :) * Fix display issues in chrome (unrelated) * Verify import * Ensure epic validation works * And properly notify the user * Reset error message when input is emptied * Improve styling of error message * Refactor epic status validation and clean empty li * Add some documentation and informations * Bring epic creation in app (rather than in modal) * Batch create epics! * Ensuring linter gods are pleased. * Add manifest (#62) * v1.1.1 * Fix restyle to please .yaml (piece of crap) gods * Initialize manifest * Add pictures to manifest * [ImgBot] Optimize images (#65) * [ImgBot] Optimize images /src/assets/logo.png -- 6.69kb -> 5.73kb (14.4%) Signed-off-by: ImgBotApp <[email protected]> * [ImgBot] Optimize images *Total -- 26.31kb -> 22.98kb (12.65%) /public/android-chrome-192x192.png -- 5.89kb -> 5.00kb (15.07%) /public/android-chrome-512x512.png -- 20.42kb -> 17.98kb (11.95%) Signed-off-by: ImgBotApp <[email protected]> * v1.1.2 * Add vue cli to help CI * Feature/add segment (#67) * v1.2.0 * v1.2.1 * Load segment when user agrees * Add disclaimer about privacy and data collection * Fix a bug where the user was not saved * Boilerplate onboarding modal * Trigger onboarding modal * Remove uppercase everywhere but when needed * Design onboarding * v1.3.0 * Make sure that emoji has some room to breath * Restyle Update master (#69) * Restyled by prettier * Restyled by prettier * v1.2.3 * Use computed property to define display name and to handle resolution status (#71) * v1.2.4 * Remove the notion of display name for epic name * Link app to readme * Hotfix/tracking is a feature (#76) * v1.2.6 * Remove asterix next to tracking in settings * Add backlog (#74) * v1.3.0 * v1.3.1 * Simplify toolbar eventing system * Reorganize components * Resort component to match new compo map https://github.com/Armitage35/fuzzy-roadmap/wiki/Component-structure * Pay hommage to @nospoone * Create and style Ghost add epic * Toggle modal on click * Replace the create epic button by a roadmap icon * Ensure update date is properly populated * Handle the notion of isDisplayedInRoadmap * Create event bus! * Rename bus triggering function * Make sure last login date gets updated * Toolbar should use event bus to trigger modal * See epic details via bus * ToggleModal() is run exclusively through bus * Carry lane status over to epic creation modal * Please minor lint gods * Epic creation and update go through bus * Reset roadmap goes through bus * Setting changes are going through bus * Sort bus event in alphabetical order * Import and onboarding modal go through bus * Now all modal stuff go through bus! * Place lanes in a view directory * Initialize router * Set up routes * Add vue routes to toolbar * Make router use props (big boy!) * v2.0.0 * Boilerplate backlog * Set up base style and layout * Mostly wrap up epic card css * Please linter gods * Lazy load baclog * Quick cleanup * Add scss linter * Add sass linter to ci * Please Saas linter newfound god. * Wrap up the biggest chunk of the paint * Some more styling * Boilerplate draggable * Handle resorting epics * More linter pleasing * Wrap this PR up * Add filtering to backlog (#79) * v2.1.0 * build filter list on the fly * Fix circle CI * Add parallelism to ci * Handle filter render and action * Make filters work * Improve badge look & feel
1 parent 5cb2924 commit fc1566a

File tree

11 files changed

+90
-64
lines changed

11 files changed

+90
-64
lines changed

.circleci/config.yml

+2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ jobs:
33
build:
44
docker:
55
- image: circleci/node:10
6+
parallelism: 4
67
working_directory: ~/repo
78
steps:
89
- checkout
@@ -39,3 +40,4 @@ workflows:
3940
jobs:
4041
- build
4142
- lint
43+
- lint-sass

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "fuzz-roadmap",
3-
"version": "2.0.0",
3+
"version": "2.1.0",
44
"description": "A roadmapping tool that lets you forget about time estimate and focus on what matters",
55
"author": "Adrien D. Ahlqvist",
66
"bugs": "https://github.com/Armitage35/fuzzy-roadmap/issues",

src/App.scss

-4
Original file line numberDiff line numberDiff line change
@@ -34,10 +34,6 @@ input:hover {
3434
background-color: $veryLightGrey;
3535
}
3636

37-
input:hover {
38-
background-color: $veryLightGrey;
39-
}
40-
4137
button {
4238
margin: 12px;
4339
border: none;

src/App.vue

+5
Original file line numberDiff line numberDiff line change
@@ -246,6 +246,11 @@
246246
this.userEpics.splice(finalPosition, 0, element);
247247
248248
this.saveRoadmapInClient();
249+
250+
iziToast.success({
251+
title: 'Epic reordered',
252+
position: 'topRight'
253+
});
249254
}
250255
}
251256
}

src/components/Views/Backlog/Backlog.scss

+1-1
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,9 @@ $backlogStatusWidth: 30%;
2727
display: flex;
2828
flex-direction: row;
2929
cursor: pointer;
30-
border-bottom: solid 1px $darkGrey;
3130
text-transform: capitalize;
3231
margin-bottom: 20px;
32+
border-bottom: solid 1px $darkGrey;
3333
}
3434

3535
.backlog-filter {

src/components/Views/Backlog/Backlog.vue

+58-14
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
<div class="backlog-filters">
66
<div
77
class="backlog-filter"
8-
:class="isActive(index)"
9-
v-for="(filter, index) in filters"
10-
:key="index"
11-
@click="featureNotReady"
12-
>{{ filter }}
8+
:class="isActive(filter.type)"
9+
v-for="filter in filters"
10+
:key="filter.type"
11+
@click="updateFilter(filter.type)"
12+
>{{ filter.title }}
1313
</div>
1414
</div>
1515
<div class="backlog-tableHeader">
@@ -20,7 +20,7 @@
2020
<div class="backlog-tableHeader-epicName" @click="featureNotReady">Epic name
2121
<i class="fas fa-sort"></i>
2222
</div>
23-
<div class="backlog-tableHeader-status" @click="featureNotReady">Status
23+
<div class="backlog-tableHeader-status" @click="featureNotReady">Status
2424
<i class="fas fa-sort"></i>
2525
</div>
2626
<div class="backlog-tableHeader-author" @click="featureNotReady">Author
@@ -36,8 +36,9 @@
3636
<draggable group="people" @end="sortEpic">
3737
<EpicList
3838
v-for="epic in epics"
39-
:key="epic.id"
39+
:activeFilter="validStatuses"
4040
:epic="epic"
41+
:key="epic.id"
4142
:userDetails="userDetails"
4243
></EpicList>
4344
</draggable>
@@ -46,26 +47,32 @@
4647
</template>
4748

4849
<script>
49-
import EpicList from './EpicList/EpicList.vue';
50-
import draggable from 'vuedraggable';
5150
import { bus } from '../../../main.js';
5251
import iziToast from 'izitoast';
52+
import draggable from 'vuedraggable';
53+
import EpicList from './EpicList/EpicList.vue';
5354
5455
export default {
55-
props: [ 'epics', 'userDetails', 'lane'],
56+
props: [ 'epics', 'userDetails', 'lanes'],
5657
components: { EpicList, draggable },
58+
created() {
59+
this.buildFilterList();
60+
},
5761
data: () => {
5862
return {
59-
filters: ['all', 'active', 'in progress', 'soon', 'later', 'done', 'archived'],
63+
filters: [
64+
{title:'all', type: 'all'},
65+
{title: 'active', type: 'active'}
66+
],
6067
activeFilter: 'all'
6168
}
6269
},
6370
methods: {
6471
updateFilter (newFilter) {
65-
this.activeFilter = this.filters[newFilter];
72+
this.activeFilter = newFilter;
6673
},
67-
isActive (index) {
68-
if (index === this.activeFilter) {
74+
isActive (filterType) {
75+
if (filterType === this.activeFilter) {
6976
return 'active'
7077
}
7178
},
@@ -79,6 +86,43 @@
7986
position: 'topRight'
8087
});
8188
},
89+
buildFilterList() {
90+
for (let i = 0; i < this.lanes.length; i++){
91+
this.filters.push(this.lanes[i])
92+
}
93+
94+
this.filters.push({title: 'archived', type: 'archived'});
95+
}
96+
},
97+
computed: {
98+
validStatuses() {
99+
let laneStatuses = [];
100+
101+
for (let i = 0; i < this.lanes.length; i++) {
102+
laneStatuses.push(this.lanes[i].type);
103+
}
104+
105+
let activeStatuses = ['inProgress', 'soon', 'later'];
106+
107+
switch (this.activeFilter) {
108+
case 'all':
109+
return laneStatuses;
110+
case 'active':
111+
return activeStatuses;
112+
case 'inProgress':
113+
return 'inProgress';
114+
case 'soon':
115+
return 'soon';
116+
case 'later':
117+
return 'later';
118+
case 'done':
119+
return 'done';
120+
case 'archived':
121+
return 'done';
122+
default:
123+
return laneStatuses;
124+
}
125+
}
82126
}
83127
}
84128
</script>

src/components/Views/Backlog/EpicList/EpicList.scss

+10-4
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,23 @@
1111
user-select:none;
1212
}
1313

14+
.backlog-epicHidden {
15+
display: none;
16+
}
17+
1418
.backlog-epicCard > div {
1519
margin: 10px;
1620
align-self: center;
1721
}
18-
19-
.epicList-statusBadge {
22+
.epicCard-status {
2023
display: flex;
2124
width: $backlogStatusWidth;
22-
border-radius: 4px;
25+
}
26+
27+
.epicList-statusBadge {
28+
border-radius: 8px;
2329
color: $veryLightGrey;
24-
padding: 4px;
30+
padding: 8px;
2531
align-self: center;
2632
text-align: center;
2733
}

src/components/Views/Backlog/EpicList/EpicList.vue

+12-5
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
<template>
2-
<div class="backlog-epicCard">
2+
<div class="backlog-epicCard" :class="filterHandler(epic.status)">
33
<input type="checkbox">
44
<div class="epicCard-id">{{ 'FZ' + (epic.id + 1)}}</div>
55
<div class="epicCard-epicName">{{ epicNameResolver(epic.epicName) }}</div>
6-
<div :class="badgeResolver(epic.status)">{{ epic.status }}</div>
6+
<div class="epicCard-status">
7+
<div :class="badgeResolver(epic.status)">{{ epic.status }}</div>
8+
</div>
79
<div class="epicList-author">
810
<img :src="userDetails.profilePicture" :alt="userDetails.userName" class="epicList-userProfilePicture">
911
{{ epic.author }}
@@ -15,14 +17,19 @@
1517

1618
<script>
1719
export default {
18-
props: ['epic', 'userDetails'],
20+
props: ['activeFilter', 'epic', 'userDetails'],
1921
methods: {
22+
badgeResolver(status) {
23+
return 'epicList-statusBadge ' + 'badge' + status;
24+
},
2025
dateResolver(date) {
2126
date = new Date(date);
2227
return date.toLocaleDateString('en-CA');
2328
},
24-
badgeResolver(status) {
25-
return 'epicList-statusBadge ' + 'badge' + status;
29+
filterHandler(epicStatus) {
30+
if (!this.activeFilter.includes(epicStatus)) {
31+
return 'backlog-epicHidden'
32+
}
2633
},
2734
epicNameResolver(epicName) {
2835
return epicName.toLowerCase();

src/components/Views/Views.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,6 @@
1313
components: {
1414
Roadmap, Backlog
1515
},
16-
props: ['lanes', 'epics', 'userDetails'],
16+
props: ['epics', 'lanes', 'userDetails'],
1717
}
1818
</script>

src/utilities/variables.scss

-3
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,6 @@ $darkerPrimaryBlue: #3498DB;
1010
$red: #E74C3C;
1111
$darkerRed: #CA4133;
1212

13-
$red: #e74c3c;
14-
$darkerRed: #ca4133;
15-
1613
// Colours for epics
1714
$epicYellow: #FFF2CC;
1815
$epicDarkYellow: #D6B656;

yarn.lock

-31
Original file line numberDiff line numberDiff line change
@@ -2922,25 +2922,6 @@ chokidar@^2.1.5:
29222922
optionalDependencies:
29232923
fsevents "^1.2.7"
29242924

2925-
chokidar@^2.1.5:
2926-
version "2.1.8"
2927-
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
2928-
integrity sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==
2929-
dependencies:
2930-
anymatch "^2.0.0"
2931-
async-each "^1.0.1"
2932-
braces "^2.3.2"
2933-
glob-parent "^3.1.0"
2934-
inherits "^2.0.3"
2935-
is-binary-path "^1.0.0"
2936-
is-glob "^4.0.0"
2937-
normalize-path "^3.0.0"
2938-
path-is-absolute "^1.0.0"
2939-
readdirp "^2.2.1"
2940-
upath "^1.1.1"
2941-
optionalDependencies:
2942-
fsevents "^1.2.7"
2943-
29442925
chownr@^1.0.1, chownr@^1.1.1:
29452926
version "1.1.2"
29462927
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6"
@@ -5364,18 +5345,6 @@ generate-object-property@^1.0.0, generate-object-property@^1.1.0:
53645345
dependencies:
53655346
is-property "^1.0.0"
53665347

5367-
generate-function@^1.0.1:
5368-
version "1.1.0"
5369-
resolved "https://registry.yarnpkg.com/generate-function/-/generate-function-1.1.0.tgz#54c21b080192b16d9877779c5bb81666e772365f"
5370-
integrity sha1-VMIbCAGSsW2Yd3ecW7gWZudyNl8=
5371-
5372-
generate-object-property@^1.0.0:
5373-
version "1.2.0"
5374-
resolved "https://registry.yarnpkg.com/generate-object-property/-/generate-object-property-1.2.0.tgz#9c0e1c40308ce804f4783618b937fa88f99d50d0"
5375-
integrity sha1-nA4cQDCM6AT0eDYYuTf6iPmdUNA=
5376-
dependencies:
5377-
is-property "^1.0.0"
5378-
53795348
get-caller-file@^1.0.1:
53805349
version "1.0.3"
53815350
resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-1.0.3.tgz#f978fa4c90d1dfe7ff2d6beda2a515e713bdcf4a"

0 commit comments

Comments
 (0)