From d0703b0128ddfe9640ba4d1e9f4e86f278aab780 Mon Sep 17 00:00:00 2001 From: Guillaume Chau Date: Tue, 6 Mar 2018 15:34:25 +0100 Subject: [PATCH] feat(ui): ProjectCreate path preview --- packages/@vue/cli-ui/src/filters.js | 21 ++++++++++ packages/@vue/cli-ui/src/main.js | 5 +++ .../@vue/cli-ui/src/views/ProjectCreate.vue | 38 ++++++++++++++++--- 3 files changed, 59 insertions(+), 5 deletions(-) create mode 100644 packages/@vue/cli-ui/src/filters.js diff --git a/packages/@vue/cli-ui/src/filters.js b/packages/@vue/cli-ui/src/filters.js new file mode 100644 index 000000000..17d7621ca --- /dev/null +++ b/packages/@vue/cli-ui/src/filters.js @@ -0,0 +1,21 @@ +/** + * Display a folder path + * @param {string} value path + * @param {number} maxLength maximum length of displayed path + */ +export function folder (value, maxLength = -1) { + value = value.replace(/\\/g, '/') + + if (value.charAt(value.length - 1) !== '/') { + value += '/' + } + + if (maxLength !== -1 && value.length > maxLength) { + const exceeded = value.length - maxLength + 3 + const firstEnd = Math.floor(maxLength / 2 - exceeded / 2) + const lastStart = Math.ceil(maxLength / 2 + exceeded / 2) + value = value.substring(0, firstEnd) + '...' + value.substring(lastStart) + } + + return value +} diff --git a/packages/@vue/cli-ui/src/main.js b/packages/@vue/cli-ui/src/main.js index de607c3ec..04b9c67df 100644 --- a/packages/@vue/cli-ui/src/main.js +++ b/packages/@vue/cli-ui/src/main.js @@ -3,9 +3,14 @@ import App from './App.vue' import router from './router' import { apolloProvider } from './vue-apollo' import VueUi from '@vue/ui' +import * as Filters from './filters' Vue.use(VueUi) +for (const key in Filters) { + Vue.filter(key, Filters[key]) +} + Vue.config.productionTip = false const app = new Vue({ diff --git a/packages/@vue/cli-ui/src/views/ProjectCreate.vue b/packages/@vue/cli-ui/src/views/ProjectCreate.vue index fcb3af223..7ced05cc3 100644 --- a/packages/@vue/cli-ui/src/views/ProjectCreate.vue +++ b/packages/@vue/cli-ui/src/views/ProjectCreate.vue @@ -14,7 +14,6 @@
- +
+
+
+ + {{ cwd | folder(42 - formData.folder.length) }} + + {{ formData.folder }} +
+ + +
+