rename pattern

This commit is contained in:
Felix Roos 2023-11-17 21:29:50 +01:00
parent 4cae6c051b
commit b8ca83ddd1
2 changed files with 18 additions and 0 deletions

View File

@ -8,6 +8,7 @@ import {
deleteActivePattern, deleteActivePattern,
duplicateActivePattern, duplicateActivePattern,
getUserPattern, getUserPattern,
renameActivePattern,
} from '../../settings.mjs'; } from '../../settings.mjs';
function classNames(...classes) { function classNames(...classes) {
@ -34,6 +35,9 @@ export function PatternsTab({ context }) {
<button className="underline" onClick={() => duplicateActivePattern()}> <button className="underline" onClick={() => duplicateActivePattern()}>
duplicate duplicate
</button> </button>
<button className="underline" onClick={() => renameActivePattern()}>
rename
</button>
<button className="underline" onClick={() => deleteActivePattern()}> <button className="underline" onClick={() => deleteActivePattern()}>
delete delete
</button> </button>

View File

@ -112,6 +112,20 @@ export function getUserPattern(key) {
return userPatterns[key]; return userPatterns[key];
} }
export function renameActivePattern() {
const newName = prompt('Enter new name');
let userPatterns = getUserPatterns();
if (userPatterns[newName]) {
alert('Name already taken!');
return;
}
let activePattern = getSetting('activePattern');
userPatterns[newName] = userPatterns[activePattern]; // copy code
delete userPatterns[activePattern];
setUserPatterns({ ...userPatterns });
setActivePattern(newName);
}
export function updateUserPattern(code) { export function updateUserPattern(code) {
const userPatterns = getUserPatterns(); const userPatterns = getUserPatterns();
let activePattern = getSetting('activePattern'); let activePattern = getSetting('activePattern');