File tree Expand file tree Collapse file tree 6 files changed +61
-51
lines changed Expand file tree Collapse file tree 6 files changed +61
-51
lines changed Original file line number Diff line number Diff line change 41
41
icon-left =" vertical_align_bottom"
42
42
:label =" $t('components.file-diff-view.actions.commit')"
43
43
class =" big primary"
44
- @click =" openCommitModal() "
44
+ @click =" showCommitModal = true "
45
45
/>
46
46
<VueButton
47
47
:label =" $t('components.file-diff-view.actions.skip')"
84
84
:subtitle =" $t('components.file-diff-view.modals.commit.subtitle')"
85
85
>
86
86
<VueInput
87
- ref =" commitMessageInput"
88
87
v-model =" commitMessage"
89
88
icon-left =" local_offer"
89
+ v-focus
90
90
@keyup.enter =" commitMessage && commit()"
91
91
/>
92
92
</VueFormField >
@@ -197,13 +197,6 @@ export default {
197
197
this .$apollo .queries .fileDiffs .refetch ()
198
198
},
199
199
200
- openCommitModal () {
201
- this .showCommitModal = true
202
- requestAnimationFrame (() => {
203
- this .$refs .commitMessageInput .focus ()
204
- })
205
- },
206
-
207
200
async commit () {
208
201
this .showCommitModal = false
209
202
this .loading ++
Original file line number Diff line number Diff line change 20
20
v-model =" editedPath"
21
21
:placeholder =" $t('components.folder-explorer.toolbar.placeholder')"
22
22
icon-right =" edit"
23
+ v-focus
23
24
@keyup.esc =" editingPath = false"
24
25
@keyup.enter =" submitPathEdit()"
25
26
/>
162
163
<VueInput
163
164
v-model =" newFolderName"
164
165
icon-left =" folder"
166
+ v-focus
165
167
@keyup.enter =" createFolder()"
166
168
/>
167
169
</VueFormField >
Original file line number Diff line number Diff line change
1
+ import './plugins'
2
+ import './register-components'
3
+
1
4
import Vue from 'vue'
2
5
import App from './App.vue'
3
6
import router from './router'
4
7
import i18n from './i18n'
5
8
import { apolloProvider } from './vue-apollo'
6
- import VueUi from '@vue/ui'
7
- import InstantSearch from 'vue-instantsearch'
8
- import VueMeta from 'vue-meta'
9
- import PortalVue from 'portal-vue'
10
- import * as Filters from './filters'
11
- import './register-components'
12
9
import ClientAddonApi from './util/ClientAddonApi'
13
- import Responsive from './util/responsive'
14
- import SharedData from './util/shared-data'
15
- import PluginAction from './util/plugin-action'
16
10
import gql from 'graphql-tag'
17
- import ClientState from './mixins/ClientState'
18
- import SetSize from './util/set-size'
19
11
20
12
window . gql = gql
21
13
22
- Vue . use ( InstantSearch )
23
- Vue . use ( VueMeta )
24
- Vue . use ( Responsive , {
25
- computed : {
26
- mobile ( ) {
27
- return this . width <= 768
28
- } ,
29
- tablet ( ) {
30
- return this . width <= 900
31
- } ,
32
- desktop ( ) {
33
- return ! this . tablet
34
- } ,
35
- wide ( ) {
36
- return this . width >= 1300
37
- }
38
- }
39
- } )
40
- Vue . use ( VueUi )
41
- Vue . use ( PortalVue )
42
- Vue . use ( SharedData )
43
- Vue . use ( PluginAction )
44
-
45
- for ( const key in Filters ) {
46
- Vue . filter ( key , Filters [ key ] )
47
- }
48
-
49
- Vue . mixin ( ClientState )
50
-
51
- Vue . directive ( 'set-size' , SetSize )
52
-
53
14
Vue . config . productionTip = false
54
15
55
16
// For client addons
Original file line number Diff line number Diff line change
1
+ import Vue from 'vue'
2
+ import VueUi from '@vue/ui'
3
+ import InstantSearch from 'vue-instantsearch'
4
+ import VueMeta from 'vue-meta'
5
+ import PortalVue from 'portal-vue'
6
+ import * as Filters from './filters'
7
+ import Responsive from './util/responsive'
8
+ import SharedData from './util/shared-data'
9
+ import PluginAction from './util/plugin-action'
10
+ import ClientState from './mixins/ClientState'
11
+ import SetSize from './util/set-size'
12
+ import Focus from './util/focus'
13
+
14
+ Vue . use ( InstantSearch )
15
+ Vue . use ( VueMeta )
16
+ Vue . use ( Responsive , {
17
+ computed : {
18
+ mobile ( ) {
19
+ return this . width <= 768
20
+ } ,
21
+ tablet ( ) {
22
+ return this . width <= 900
23
+ } ,
24
+ desktop ( ) {
25
+ return ! this . tablet
26
+ } ,
27
+ wide ( ) {
28
+ return this . width >= 1300
29
+ }
30
+ }
31
+ } )
32
+ Vue . use ( VueUi )
33
+ Vue . use ( PortalVue )
34
+ Vue . use ( SharedData )
35
+ Vue . use ( PluginAction )
36
+
37
+ for ( const key in Filters ) {
38
+ Vue . filter ( key , Filters [ key ] )
39
+ }
40
+
41
+ Vue . mixin ( ClientState )
42
+
43
+ Vue . directive ( 'set-size' , SetSize )
44
+ Vue . directive ( 'focus' , Focus )
Original file line number Diff line number Diff line change
1
+ export default {
2
+ bind ( el ) {
3
+ requestAnimationFrame ( ( ) => {
4
+ const input = el . querySelector ( 'input' )
5
+ if ( input ) el = input
6
+ el . focus ( )
7
+ } )
8
+ }
9
+ }
Original file line number Diff line number Diff line change 380
380
<VueInput
381
381
v-model =" formData.save"
382
382
icon-left =" local_offer"
383
+ v-focus
383
384
/>
384
385
</VueFormField >
385
386
</div >
You can’t perform that action at this time.
0 commit comments