@@ -23,17 +23,29 @@ export default class NextcloudAdapter {
2323
2424 renderOptions ( ctl , rootPath ) {
2525 let data = this . getData ( )
26+ const saveTimeout = 1000
2627 let onchangeURL = ( e ) => {
2728 if ( this . saveTimeout ) clearTimeout ( this . saveTimeout )
28- this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , url : e . target . value } ) , 300 )
29+ this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , url : e . target . value } ) , saveTimeout )
2930 }
3031 let onchangeUsername = ( e ) => {
3132 if ( this . saveTimeout ) clearTimeout ( this . saveTimeout )
32- this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , username : e . target . value } ) , 300 )
33+ this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , username : e . target . value } ) , saveTimeout )
3334 }
3435 let onchangePassword = ( e ) => {
3536 if ( this . saveTimeout ) clearTimeout ( this . saveTimeout )
36- this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , password : e . target . value } ) , 300 )
37+ this . saveTimeout = setTimeout ( ( ) => ctl . update ( { ...data , password : e . target . value } ) , saveTimeout )
38+ }
39+ let onchangeServerRoot = ( e ) => {
40+ if ( this . saveTimeout ) clearTimeout ( this . saveTimeout )
41+ this . saveTimeout = setTimeout ( ( ) => {
42+ let val = e . target . value
43+ if ( val [ val . length - 1 ] === '/' ) {
44+ val = val . substr ( 0 , val . length - 1 )
45+ e . target . value = val
46+ }
47+ ctl . update ( { ...data , serverRoot : e . target . value } )
48+ } , saveTimeout )
3749 }
3850 return < div className = "account" >
3951 < form >
@@ -44,11 +56,16 @@ export default class NextcloudAdapter {
4456 </ tr >
4557 < tr >
4658 < td > < label for = "username" > User name:</ label > </ td >
47- < td > < input value = { new InputInitializeHook ( data . username ) } type = "text" className = "username" name = "password " ev-keyup = { onchangeUsername } ev-blur = { onchangeUsername } /> </ td >
59+ < td > < input value = { new InputInitializeHook ( data . username ) } type = "text" className = "username" name = "username " ev-keyup = { onchangeUsername } ev-blur = { onchangeUsername } /> </ td >
4860 </ tr >
4961 < tr >
5062 < td > < label for = "password" > Password:</ label > </ td >
51- < td > < input value = { new InputInitializeHook ( data . password ) } type = "password" className = "password" name = "password" ev-keydown = { onchangePassword } ev-blur = { onchangePassword } /> </ td > </ tr >
63+ < td > < input value = { new InputInitializeHook ( data . password ) } type = "password" className = "password" name = "password" ev-keydown = { onchangePassword } ev-blur = { onchangePassword } /> </ td >
64+ </ tr >
65+ < tr >
66+ < td > < label for = "serverRoot" > Server path:</ label > </ td >
67+ < td > < input value = { new InputInitializeHook ( data . serverRoot || '' ) } type = "text" className = "serverRoot" name = "serverRoot" placeholder = "Default: root folder Example: /my/subfolder" ev-keyup = { onchangeServerRoot } ev-blur = { onchangeServerRoot } /> </ td >
68+ </ tr >
5269 < tr > < td > </ td > < td >
5370 < span className = "status" > {
5471 data . syncing
@@ -78,7 +95,7 @@ export default class NextcloudAdapter {
7895 < div className = "options" >
7996 < formgroup >
8097 < h4 > Sync folder</ h4 >
81- < input type = "text" disabled value = { rootPath } /> < br />
98+ < input type = "text" disabled placeholder = "*Root folder*" value = { rootPath } /> < br />
8299 < a href = "" title = "Reset synchronized folder to create a new one" className = { 'btn resetRoot ' + ( data . syncing ? 'disabled' : '' ) } ev-click = { ( ) => {
83100 ! data . syncing && ctl . update ( { ...data , localRoot : null } )
84101 } } > Reset</ a >
@@ -342,7 +359,7 @@ export default class NextcloudAdapter {
342359 static getPathTagFromTags ( tags ) {
343360 return ( tags || [ ] )
344361 . filter ( tag => tag . indexOf ( TAG_PREFIX ) === 0 )
345- . concat ( [ this . convertPathToTag ( '/ ' ) ] ) [ 0 ]
362+ . concat ( [ this . convertPathToTag ( '' ) ] ) [ 0 ]
346363 }
347364
348365 static convertPathToTag ( path ) {
0 commit comments