implemented adding of new addresses, numbers, emails and web pages

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
This commit is contained in:
2025-10-10 20:53:33 +02:00
parent 57122c6d42
commit e89f513677
5 changed files with 28 additions and 6 deletions

View File

@@ -26,6 +26,23 @@
let orgs = $derived(contact.vcard.match(/^ORG.*:.+$/gm));
let urls = $derived(contact.vcard.match(/^URL.*:.+$/gm));
function add_address(){
var new_addr = `ADR;TYPE=WORK:;;${t('street')};${t('locality')};${t('region')};${t('post_code')};${t('country')}`;
patch('END:',`${new_addr}\nEND:`);
}
function add_email(){
patch('END:',`EMAIL:${t('email')}@example.com\nEND:`);
}
function add_number(){
patch('END:',`TEL:${t('phone')}\nEND:`);
}
function add_url(){
patch('END:',`URL:https://example.com\nEND:`);
}
async function drop(){
for (let n of names){
n = name(n);
@@ -114,13 +131,15 @@
</tr>
<tr>
<td>
<button class="symbol" onclick={add_address} title={t('add_object',{object:t('address')})}></button>
{#each addresses as code}
<Address {code} {patch} />
{/each}
</td>
</tr>
<tr>
<td>
<td class="phones">
<button class="symbol" onclick={add_number} title={t('add_object',{object:t('number')})}></button>
{#each numbers as code}
<Number {code} {patch} />
{/each}
@@ -128,6 +147,7 @@
</tr>
<tr>
<td>
<button class="symbol" onclick={add_email} title={t('add_object',{object:t('email')})}></button>
{#each emails as code}
<Email {code} {patch} />
{/each}
@@ -142,6 +162,7 @@
</tr>
<tr>
<td>
<button class="symbol" onclick={add_url} title={t('add_object',{object:t('website')})}></button>
{#each urls as code}
<URL {code} {patch} />
{/each}

View File

@@ -23,13 +23,9 @@ PRODID:Umbrella Contact manager by SRSoftware
FN:${t('formatted_name')}
N:${t('family_name')};${t('given_name')};;;
ORG:${t('organization')}
EMAIL;TYPE=HOME:${t('email')}
EMAIL;TYPE=WORK:${t('email')}
ADR;TYPE=HOME:;;${t('street')};${t('locality')};${t('region')};${t('post_code')};${t('country')}
ADR;TYPE=WORK:;;${t('street')};${t('locality')};${t('region')};${t('post_code')};${t('country')}
TEL;TYPE=CELL;:${t('phone_cell')}
TEL;TYPE=HOME;:${t('phone_home')}
TEL;TYPE=WORK;:${t('phone_work')}
X-TAX-NUMBER:${t('tax_id')}
X-BANK-ACCOUNT:${t('bank_account')}\\nIBAN:XXXX\\nBIC:XXXX
X-COURT:${t('local_court')}

View File

@@ -14,5 +14,5 @@
</script>
{#if value}
<LineEditor type="span" editable={true} {value} {onSet} title={t('url')}/>
<LineEditor type="div" editable={true} {value} {onSet} title={t('url')}/>
{/if}

View File

@@ -293,6 +293,7 @@
"user_module" : "Umbrella User-Verwaltung",
"users": "Benutzer",
"website": "Website",
"welcome" : "Willkommen, {0}",
"wiki": "Wiki",
"wikis": "Wiki-Seiten",

View File

@@ -419,4 +419,8 @@ fieldset.vcard{
border-width: 1px;
vertical-align: top;
padding: 2px;
}
.vcard td button.symbol{
float: right;
}