mirror of
https://github.com/bitwarden/browser
synced 2025-12-16 00:03:56 +00:00
Select folder at save bar (#1409)
* Markup changes * Render in notification bar folders list that is provided form TS code * Implemented getting of folders list * Refactor addPlatformEventListener and added default selection of "No Folder" * Pass folder id info to saveAddLogin * Modify saveAddLogin to use folder id * Try to fix default folder selection * Fix styling issues found during review * Fix review issues found by kspearrin * Fix default selection and null handling * Fix import order * Applied review suggestions * Implement checking if folderExist during saving * Fix compile issues * Added select folder... option * Add internalization for select folder message * Hide select folder element on narrow screens * Fix lint issues * Review fixes in notification bar * Adjust semi-responsive layout for folder selector * Revert style change Co-authored-by: Thomas Rittson <trittson@bitwarden.com>
This commit is contained in:
committed by
GitHub
parent
61f551087f
commit
cd2f174923
@@ -17,7 +17,6 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
|
||||
// delay 50ms so that we get proper body dimensions
|
||||
setTimeout(load, 50);
|
||||
|
||||
|
||||
function load() {
|
||||
var closeButton = document.getElementById('close-button'),
|
||||
@@ -34,10 +33,12 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
if (bodyRect.width < 768) {
|
||||
document.querySelector('#template-add .add-save').textContent = i18n.yes;
|
||||
document.querySelector('#template-add .never-save').textContent = i18n.never;
|
||||
document.querySelector('#template-add .select-folder').style.display = 'none';
|
||||
document.querySelector('#template-change .change-save').textContent = i18n.yes;
|
||||
} else {
|
||||
document.querySelector('#template-add .add-save').textContent = i18n.notificationAddSave;
|
||||
document.querySelector('#template-add .never-save').textContent = i18n.notificationNeverSave;
|
||||
document.querySelector('#template-add .select-folder').style.display = 'initial';
|
||||
document.querySelector('#template-change .change-save').textContent = i18n.notificationChangeSave;
|
||||
}
|
||||
|
||||
@@ -53,7 +54,8 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
addButton.addEventListener('click', (e) => {
|
||||
e.preventDefault();
|
||||
sendPlatformMessage({
|
||||
command: 'bgAddSave'
|
||||
command: 'bgAddSave',
|
||||
folder: document.getElementById("select-folder").value,
|
||||
});
|
||||
});
|
||||
|
||||
@@ -63,6 +65,17 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
command: 'bgNeverSave'
|
||||
});
|
||||
});
|
||||
|
||||
const responseFoldersCommand = 'notificationBarGetFoldersList';
|
||||
chrome.runtime.onMessage.addListener((msg) => {
|
||||
if (msg.command === responseFoldersCommand && msg.data) {
|
||||
fillSelectorWithFolders(msg.data.folders);
|
||||
}
|
||||
});
|
||||
sendPlatformMessage({
|
||||
command: 'bgGetDataForTab',
|
||||
responseCommand: responseFoldersCommand
|
||||
});
|
||||
} else if (getQueryVariable('change')) {
|
||||
setContent(document.getElementById('template-change'));
|
||||
var changeButton = document.querySelector('#template-change-clone .change-save');
|
||||
@@ -120,4 +133,13 @@ document.addEventListener('DOMContentLoaded', () => {
|
||||
function sendPlatformMessage(msg) {
|
||||
chrome.runtime.sendMessage(msg);
|
||||
}
|
||||
|
||||
function fillSelectorWithFolders(folders) {
|
||||
const select = document.querySelector('#template-add-clone .select-folder');
|
||||
select.appendChild(new Option(chrome.i18n.getMessage('selectFolder'), null, true));
|
||||
folders.forEach((folder) => {
|
||||
//Select "No Folder" (id=null) folder by default
|
||||
select.appendChild(new Option(folder.name, folder.id || '', false));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user