Merge pull request #909 from appwrite/feat-messaging-validate-message

Validate before moving to the next message wizard step
This commit is contained in:
Torsten Dittmann
2024-03-01 13:55:15 +01:00
committed by GitHub
4 changed files with 13 additions and 3 deletions
@@ -49,6 +49,7 @@
<InputText
id="subject"
label="Subject"
required
placeholder="Enter subject"
bind:value={$messageParams[$providerType]['subject']}>
</InputText>
@@ -56,10 +57,10 @@
<InputTextarea
id="message"
label="Message"
required
placeholder="Type here..."
bind:value={$messageParams[$providerType]['content']}>
</InputTextarea>
<!-- TODO: Add support for draft messages -->
<!-- <div class="u-flex u-main-end">
<Button text on:click={() => (showTest = true)}>Send test message</Button>
</div> -->
@@ -91,6 +91,7 @@
<InputText
id="title"
label="Title"
required
placeholder="Enter title"
bind:value={$messageParams[MessagingProviderType.Push]['title']}>
</InputText>
@@ -99,6 +100,7 @@
id="message"
label="Message"
placeholder="Type here..."
required
maxlength={1000}
bind:value={$messageParams[MessagingProviderType.Push]['body']}>
</InputTextarea>
@@ -38,8 +38,9 @@
<InputTextarea
id="message"
label="Message"
placeholder="Type here..."
required
maxlength={900}
placeholder="Type here..."
bind:value={$messageParams[$providerType]['content']}>
</InputTextarea>
<!-- TODO: Add support for draft messages -->
@@ -41,13 +41,19 @@
$targetsById = rest;
}
async function beforeSubmit() {
if (topicIdsLength === 0 && targetIdsLength === 0) {
throw new Error('At least one topic or target is required.');
}
}
$: topicIdsLength = Object.keys($topicsById).length;
$: targetIdsLength = Object.keys($targetsById).length;
$: $messageParams[$providerType].targets = Object.keys($targetsById);
$: $messageParams[$providerType].topics = Object.keys($topicsById);
</script>
<WizardStep>
<WizardStep {beforeSubmit}>
<svelte:fragment slot="title">Targets</svelte:fragment>
<svelte:fragment slot="subtitle">
Select targets to whom this message should be directed.