File tree 3 files changed +59
-5
lines changed
3 files changed +59
-5
lines changed Original file line number Diff line number Diff line change
1
+ /**
2
+ * Display a folder path
3
+ * @param {string } value path
4
+ * @param {number } maxLength maximum length of displayed path
5
+ */
6
+ export function folder ( value , maxLength = - 1 ) {
7
+ value = value . replace ( / \\ / g, '/' )
8
+
9
+ if ( value . charAt ( value . length - 1 ) !== '/' ) {
10
+ value += '/'
11
+ }
12
+
13
+ if ( maxLength !== - 1 && value . length > maxLength ) {
14
+ const exceeded = value . length - maxLength + 3
15
+ const firstEnd = Math . floor ( maxLength / 2 - exceeded / 2 )
16
+ const lastStart = Math . ceil ( maxLength / 2 + exceeded / 2 )
17
+ value = value . substring ( 0 , firstEnd ) + '...' + value . substring ( lastStart )
18
+ }
19
+
20
+ return value
21
+ }
Original file line number Diff line number Diff line change @@ -3,9 +3,14 @@ import App from './App.vue'
3
3
import router from './router'
4
4
import { apolloProvider } from './vue-apollo'
5
5
import VueUi from '@vue/ui'
6
+ import * as Filters from './filters'
6
7
7
8
Vue . use ( VueUi )
8
9
10
+ for ( const key in Filters ) {
11
+ Vue . filter ( key , Filters [ key ] )
12
+ }
13
+
9
14
Vue . config . productionTip = false
10
15
11
16
const app = new Vue ( {
Original file line number Diff line number Diff line change 14
14
<div class =" project-details vue-grid col-1 big-gap" >
15
15
<VueFormField
16
16
title =" Project folder"
17
- :subtitle =" cwd"
18
17
>
19
18
<VueInput
20
19
v-model =" formData.folder"
23
22
class =" big"
24
23
/>
25
24
26
- <VueButton
27
- label =" Change current working directory"
28
- :to =" { name: 'project-select', query: { tab: 'create', hideTabs: true } }"
29
- />
25
+ <div slot =" subtitle" >
26
+ <div class =" project-path" >
27
+ <div class =" path" >
28
+ <span
29
+ class =" cwd"
30
+ v-tooltip =" cwd"
31
+ >
32
+ {{ cwd | folder(42 - formData.folder.length) }}
33
+ </span >
34
+ <span class =" folder" >{{ formData.folder }}</span >
35
+ </div >
36
+
37
+ <VueButton
38
+ icon-left =" edit"
39
+ class =" icon-button"
40
+ v-tooltip =" 'Change base directory'"
41
+ :to =" { name: 'project-select', query: { tab: 'create', hideTabs: true } }"
42
+ />
43
+ </div >
44
+ </div >
30
45
</VueFormField >
31
46
32
47
<VueFormField
@@ -358,4 +373,17 @@ export default {
358
373
max-width 400px
359
374
width 100%
360
375
margin 42px auto
376
+
377
+ .project-path
378
+ h-box ()
379
+ box-center ()
380
+
381
+ .path
382
+ flex 100% 1 1
383
+ margin-right 6px
384
+ h-box ()
385
+ align-items baseline
386
+
387
+ .folder
388
+ font-weight bold
361
389
</style >
You can’t perform that action at this time.
0 commit comments