@@ -167,21 +167,33 @@ export function initFolderForm(folder) {
167167 document . getElementById ( "defaultBgLabel" ) . innerHTML += browser . i18n . getMessage ( "default" ) ;
168168 document . getElementById ( "colorBgLabel" ) . innerHTML += browser . i18n . getMessage ( "color" ) + ": " ;
169169 document . getElementById ( "imgLocalBgLabel" ) . innerHTML += browser . i18n . getMessage ( "imageLocal" ) + ": " ;
170+ document . getElementById ( "fakeBgimgPickerBtn" ) . value = browser . i18n . getMessage ( "browse" ) ;
171+ document . getElementById ( "fakeBgimgPickerLabel" ) . textContent = browser . i18n . getMessage ( "nofilechosen" ) ;
170172 document . getElementById ( "imgRemoteBgLabel" ) . innerHTML += browser . i18n . getMessage ( "imageRemote" ) + ": " ;
171173
172174 let onBgtypeChanged = function ( ) {
173- document . getElementById ( "bgcolorPicker" ) . disabled =
174- ! document . getElementById ( "colorBgRb" ) . checked ;
175- document . getElementById ( "bgimgPicker" ) . disabled =
176- ! document . getElementById ( "imgLocalBgRb" ) . checked ;
177- document . getElementById ( "bgimgUrlTf" ) . disabled =
178- ! document . getElementById ( "imgRemoteBgRb" ) . checked ;
175+ document . getElementById ( "bgcolorPicker" ) . disabled = ! document . getElementById ( "colorBgRb" ) . checked ;
176+ document . getElementById ( "bgimgPicker" ) . disabled = ! document . getElementById ( "imgLocalBgRb" ) . checked ;
177+ document . getElementById ( "fakeBgimgPickerBtn" ) . disabled = ! document . getElementById ( "imgLocalBgRb" ) . checked ;
178+ document . getElementById ( "bgimgUrlTf" ) . disabled = ! document . getElementById ( "imgRemoteBgRb" ) . checked ;
179179 }
180180 let bufControls = document . getElementsByName ( "bgtype" ) ;
181181 bufControls . forEach ( function ( item ) {
182182 item . oninput = onBgtypeChanged ;
183183 } ) ;
184184
185+ let bgimgPicker = document . getElementById ( "bgimgPicker" ) ;
186+ document . getElementById ( "fakeBgimgPickerBtn" ) . onclick = function ( ) {
187+ bgimgPicker . click ( ) ;
188+ } ;
189+ bgimgPicker . onchange = function ( ) {
190+ if ( bgimgPicker . files . length > 0 ) {
191+ document . getElementById ( "fakeBgimgPickerLabel" ) . textContent = bgimgPicker . files [ 0 ] . name ;
192+ } else {
193+ document . getElementById ( "fakeBgimgPickerLabel" ) . textContent = browser . i18n . getMessage ( "nofilechosen" ) ;
194+ }
195+ }
196+
185197 let onGridSizeChanged = function ( ) {
186198 const oldAmount = document . getElementById ( "rowsOld" ) . value *
187199 document . getElementById ( "colsOld" ) . value ;
@@ -449,6 +461,7 @@ export function showAssignmentForm(element, mode) {
449461 document . getElementById ( "elemsWillBeLostLabel" ) . textContent = "" ;
450462 document . getElementById ( "elemsWillBeLostLabel" ) . style . display = "none" ;
451463 document . getElementById ( "imgLocalBgSpinner" ) . style . display = "none" ;
464+ document . getElementById ( "fakeBgimgPickerLabel" ) . textContent = browser . i18n . getMessage ( "nofilechosen" ) ;
452465
453466 if ( mode == AssignmentMode . CREATE ) {
454467 document . getElementById ( "modeTf" ) . value = AssignmentMode . CREATE ;
@@ -458,6 +471,7 @@ export function showAssignmentForm(element, mode) {
458471 document . getElementById ( "defaultBgRb" ) . checked = true ;
459472 document . getElementById ( "bgcolorPicker" ) . disabled = true ;
460473 document . getElementById ( "bgimgPicker" ) . disabled = true ;
474+ document . getElementById ( "fakeBgimgPickerBtn" ) . disabled = true ;
461475 document . getElementById ( "bgimgUrlTf" ) . disabled = true ;
462476 }
463477 else if ( mode == AssignmentMode . EDIT ) {
@@ -469,6 +483,7 @@ export function showAssignmentForm(element, mode) {
469483 document . getElementById ( "defaultBgRb" ) . checked = true ;
470484 document . getElementById ( "bgcolorPicker" ) . disabled = ! ( document . getElementById ( "colorBgRb" ) . checked = false ) ;
471485 document . getElementById ( "bgimgPicker" ) . disabled = ! ( document . getElementById ( "imgLocalBgRb" ) . checked = false ) ;
486+ document . getElementById ( "fakeBgimgPickerBtn" ) . disabled = ! ( document . getElementById ( "imgLocalBgRb" ) . checked = false ) ;
472487 document . getElementById ( "bgimgUrlTf" ) . disabled = ! ( document . getElementById ( "imgRemoteBgRb" ) . checked = false ) ;
473488 }
474489 else if ( element . type == ElementType . FOLDER ) {
@@ -480,6 +495,7 @@ export function showAssignmentForm(element, mode) {
480495 document . getElementById ( "defaultBgRb" ) . checked = element . bgtype == BgType . DEFAULT ;
481496 document . getElementById ( "bgcolorPicker" ) . disabled = ! ( document . getElementById ( "colorBgRb" ) . checked = element . bgtype == BgType . SOLID ) ;
482497 document . getElementById ( "bgimgPicker" ) . disabled = ! ( document . getElementById ( "imgLocalBgRb" ) . checked = element . bgtype == BgType . IMAGE_LOCAL ) ;
498+ document . getElementById ( "fakeBgimgPickerBtn" ) . disabled = ! ( document . getElementById ( "imgLocalBgRb" ) . checked = element . bgtype == BgType . IMAGE_LOCAL ) ;
483499 document . getElementById ( "bgimgUrlTf" ) . disabled = ! ( document . getElementById ( "imgRemoteBgRb" ) . checked = element . bgtype == BgType . IMAGE_REMOTE ) ;
484500 switch ( element . bgtype ) {
485501 case ( BgType . SOLID ) :
@@ -490,10 +506,9 @@ export function showAssignmentForm(element, mode) {
490506 document . getElementById ( "bgimgPicker" ) . required = true ;
491507 document . getElementById ( "bgimgBase64" ) . value = "" ;
492508 } else {
493- //TODO: otobrazit' imia faila, esli on byl ukazan ranee https://stackoverflow.com/a/17949302
494- //document.getElementById("bgimgPicker").value = element.bgviewstr; //SecurityError: The operation is insecure
495509 document . getElementById ( "bgimgPicker" ) . required = false ;
496510 document . getElementById ( "bgimgBase64" ) . value = element . bgdata ;
511+ document . getElementById ( "fakeBgimgPickerLabel" ) . textContent = element . bgviewstr ;
497512 }
498513 break ;
499514 case ( BgType . IMAGE_REMOTE ) :
@@ -616,7 +631,7 @@ async function parseAssignmentForm(copyElems) {
616631 bgviewstr = picker . files [ 0 ] . name ;
617632 } else {
618633 bgdata = document . getElementById ( "bgimgBase64" ) . value ;
619- bgviewstr = "Kakoi-to fail.zhypeg" ;
634+ bgviewstr = document . getElementById ( "fakeBgimgPickerLabel" ) . textContent ;
620635 }
621636 }
622637 else if ( document . getElementById ( "imgRemoteBgRb" ) . checked ) {
0 commit comments