diff options
Diffstat (limited to 'ext/bg')
| -rw-r--r-- | ext/bg/js/settings-dictionaries.js | 10 | ||||
| -rw-r--r-- | ext/bg/settings.html | 28 | 
2 files changed, 32 insertions, 6 deletions
| diff --git a/ext/bg/js/settings-dictionaries.js b/ext/bg/js/settings-dictionaries.js index 635b95c6..72a27475 100644 --- a/ext/bg/js/settings-dictionaries.js +++ b/ext/bg/js/settings-dictionaries.js @@ -256,7 +256,8 @@ async function dictSettingsInitialize() {      );      dictionaryUI.save = () => apiOptionsSave(); -    document.querySelector('#dict-purge-link').addEventListener('click', (e) => onDictionaryPurge(e), false); +    document.querySelector('#dict-purge-button').addEventListener('click', (e) => onDictionaryPurgeButtonClick(e), false); +    document.querySelector('#dict-purge-confirm').addEventListener('click', (e) => onDictionaryPurge(e), false);      document.querySelector('#dict-file-button').addEventListener('click', (e) => onDictionaryImportButtonClick(e), false);      document.querySelector('#dict-file').addEventListener('change', (e) => onDictionaryImport(e), false);      document.querySelector('#dict-main').addEventListener('change', (e) => onDictionaryMainChanged(e), false); @@ -398,9 +399,16 @@ function onDictionaryImportButtonClick() {      dictFile.click();  } +function onDictionaryPurgeButtonClick(e) { +    e.preventDefault(); +    $('#dict-purge-modal').modal('show'); +} +  async function onDictionaryPurge(e) {      e.preventDefault(); +    $('#dict-purge-modal').modal('hide'); +      const dictControls = $('#dict-importer, #dict-groups, #dict-groups-extra, #dict-main-group').hide();      const dictProgress = $('#dict-purge').show(); diff --git a/ext/bg/settings.html b/ext/bg/settings.html index 7ac196f2..fb39e5c3 100644 --- a/ext/bg/settings.html +++ b/ext/bg/settings.html @@ -417,10 +417,7 @@                  </div>                  <p class="help-block"> -                    Yomichan can import and use a variety of dictionary formats. Unneeded dictionaries can be disabled, -                    or you can simply <a href="#" id="dict-purge-link">purge the database</a> to delete everything. -                </p> -                <p class="help-block"> +                    Yomichan can import and use a variety of dictionary formats. Unneeded dictionaries can be disabled.                      Deleting individual dictionaries is not currently feasible due to limitations of browser database technology.                  </p> @@ -449,10 +446,31 @@                          <a href="https://foosoft.net/projects/yomichan" target="_blank" rel="noopener">download free dictionaries</a>                          for use with this extension and to learn about importing proprietary EPWING dictionaries.                      </p> -                    <button class="btn btn-primary" id="dict-file-button">Import Dictionary</button> +                    <div> +                        <button class="btn btn-primary" id="dict-file-button">Import Dictionary</button> +                        <button class="btn btn-danger" id="dict-purge-button">Purge Database</button> +                    </div>                      <div hidden><input type="file" id="dict-file"></div>                  </div> +                <div class="modal fade" tabindex="-1" role="dialog" id="dict-purge-modal"> +                    <div class="modal-dialog modal-dialog-centered"> +                        <div class="modal-content"> +                            <div class="modal-header"> +                                <button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">×</span></button> +                                <h4 class="modal-title">Confirm database purge</h4> +                            </div> +                            <div class="modal-body"> +                                Are you sure you want to delete all data in the database? +                            </div> +                            <div class="modal-footer"> +                                <button type="button" class="btn btn-default" data-dismiss="modal">Cancel</button> +                                <button type="button" class="btn btn-danger" id="dict-purge-confirm">Purge Database</button> +                            </div> +                        </div> +                    </div> +                </div> +                  <template id="dict-template"><div class="dict-group well well-sm">                      <h4><span class="text-muted glyphicon glyphicon-book"></span> <span class="dict-title"></span> <small class="dict-revision"></small></h4>                      <p class="text-warning" hidden>This dictionary is outdated and may not support new extension features; please import the latest version.</p> |