53 lines
1.2 KiB
JavaScript
Executable File
53 lines
1.2 KiB
JavaScript
Executable File
/**
|
|
* Folders mutations
|
|
*/
|
|
export default {
|
|
/**
|
|
* Store folders list
|
|
* @param {*} state
|
|
* @param {*} folders
|
|
*/
|
|
setFolders(state, folders) {
|
|
state.folders = folders;
|
|
},
|
|
|
|
/**
|
|
* Unselect all folders, and mark specified folder as selected
|
|
* @param {*} state
|
|
* @param {*} folder
|
|
*/
|
|
setSelectedFolder(state, folder) {
|
|
state.folders.find((f) => (f.is_selected = false));
|
|
|
|
folder.is_selected = true;
|
|
},
|
|
|
|
/**
|
|
* Update folder's properties
|
|
* @param {*} state
|
|
* @param {*} param1
|
|
*/
|
|
update(state, { folder, newProperties }) {
|
|
for (var property in newProperties) {
|
|
folder[property] = newProperties[property];
|
|
}
|
|
|
|
if (folder.type === "unread_items") {
|
|
if (folder.feed_item_states_count) {
|
|
folder.iconColor = "folder-unread-not-empty";
|
|
} else {
|
|
folder.iconColor = "folder-unread";
|
|
}
|
|
}
|
|
},
|
|
|
|
/**
|
|
* Store folder being dragged during a drag'n'drop process
|
|
* @param {*} state
|
|
* @param {*} folder
|
|
*/
|
|
setDraggedFolder(state, folder) {
|
|
state.draggedFolder = folder;
|
|
},
|
|
};
|