Get some Sieve GUI inputs working

This commit is contained in:
the-djmaze 2024-09-22 19:46:59 +02:00
parent 7f83277de7
commit ffc2da33f8
33 changed files with 71 additions and 68 deletions

View file

@ -22,9 +22,9 @@ export class FileIntoCommand extends ActionCommand
// QuotedString / MultiLine // QuotedString / MultiLine
this._mailbox = new GrammarQuotedString(); this._mailbox = new GrammarQuotedString();
// https://datatracker.ietf.org/doc/html/rfc3894 // https://datatracker.ietf.org/doc/html/rfc3894
// this.copy = false; this.copy = false;
// https://datatracker.ietf.org/doc/html/rfc5490#section-3.2 // https://datatracker.ietf.org/doc/html/rfc5490#section-3.2
// this.create = false; this.create = false;
} }
get require() { return 'fileinto'; } get require() { return 'fileinto'; }
@ -67,9 +67,9 @@ export class RedirectCommand extends ActionCommand
// QuotedString / MultiLine // QuotedString / MultiLine
this._address = new GrammarQuotedString(); this._address = new GrammarQuotedString();
// https://datatracker.ietf.org/doc/html/rfc3894 // https://datatracker.ietf.org/doc/html/rfc3894
// this.copy = false; this.copy = false;
// https://datatracker.ietf.org/doc/html/rfc6134#section-2.3 // https://datatracker.ietf.org/doc/html/rfc6134#section-2.3
// this.list = null; this.list = null;
} }
toString() toString()

View file

@ -230,6 +230,7 @@ export class HeaderTest extends TestCommand
constructor() constructor()
{ {
super(); super();
this.match_type = ':is';
this.address_part = ':all'; this.address_part = ':all';
this.header_names = new GrammarStringList; this.header_names = new GrammarStringList;
this.key_list = new GrammarStringList; this.key_list = new GrammarStringList;

View file

@ -1,4 +1,4 @@
<!-- rfc5232 --> <!-- rfc5232 -->
addflag addflag
<input type="text" name="_variablename"> <input type="text" name="_variablename" data-bind="textInput: _variablename">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>

View file

@ -1,5 +1,5 @@
<!-- rfc5293 --> <!-- rfc5293 -->
addheader addheader
<label><input type="checkbox" name="last"> last</label> <label><input type="checkbox" name="last"> last</label>
<input type="text" name="field_name"> <input type="text" name="field_name" data-bind="textInput: field_name">
<input type="text" name="value"> <input type="text" name="value" data-bind="textInput: value">

View file

@ -1,5 +1,5 @@
<!-- rfc5260 --> <!-- rfc5260 -->
currentdate currentdate
<input type="text" name="zone"> <input type="text" name="zone" data-bind="textInput: zone">
<input type="text" name="date_part"> <input type="text" name="date_part" data-bind="textInput: date_part">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>

View file

@ -1,9 +1,9 @@
<!-- rfc5260 --> <!-- rfc5260 -->
date date
<input type="text" name="zone"> <input type="text" name="zone" data-bind="textInput: zone">
<label><input type="checkbox" name="originalzone"> originalzone</label> <label><input type="checkbox" name="originalzone"> originalzone</label>
<input type="text" name="header_name"> <input type="text" name="header_name" data-bind="textInput: header_name">
<input type="text" name="date_part"> <input type="text" name="date_part" data-bind="textInput: date_part">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>
<input type="number" name="index"> <input type="number" name="index">
<label><input type="checkbox" name="last"> last</label> <label><input type="checkbox" name="last"> last</label>

View file

@ -9,5 +9,5 @@ deleteheader
<option>:matches</option> <option>:matches</option>
<option data-bind="visible root.capa.extlists">:list</option> <option data-bind="visible root.capa.extlists">:list</option>
</select> </select>
<input type="text" name="field_name"> <input type="text" name="field_name" data-bind="textInput: field_name">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>

View file

@ -1,11 +1,8 @@
<!-- rfc5228 --> <!-- rfc5228 -->
elsif elsif
<div> <div data-bind="template: {name: $root.templateName(test), data: test}"></div>
this.test
</div>
{ {
<div data-bind="foreach: commands"> <div style="padding-left:4em" data-bind="foreach: commands">
<div data-bind="template: {name: $root.templateName($data)}"></div> <div data-bind="template: {name: $root.templateName($data)}"></div>
</div> </div>
} }

View file

@ -1,7 +1,7 @@
<!-- rfc5228 --> <!-- rfc5228 -->
else else
{ {
<div data-bind="foreach: commands"> <div style="padding-left:4em" data-bind="foreach: commands">
<div data-bind="template: {name: $root.templateName($data)}"></div> <div data-bind="template: {name: $root.templateName($data)}"></div>
</div> </div>
} }

View file

@ -1,4 +1,4 @@
<!-- rfc5703 --> <!-- rfc5703 -->
enclose enclose
<input type="text" name="_subject"> <input type="text" name="_subject" data-bind="textInput: _subject">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>

View file

@ -1,4 +1,4 @@
<!-- rfc5183 --> <!-- rfc5183 -->
environment environment
<input type="text" name="name"> <input type="text" name="name" data-bind="textInput: name">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>

View file

@ -1,3 +1,3 @@
<!-- rfc5429 --> <!-- rfc5429 -->
ereject ereject
<input type="text" name="_reason"> <input type="text" name="_reason" data-bind="textInput: _reason">

View file

@ -1,3 +1,3 @@
<!-- rfc5463 --> <!-- rfc5463 -->
error error
<input type="text" name="message"> <input type="text" name="message" data-bind="textInput: message">

View file

@ -2,4 +2,4 @@
extracttext extracttext
modifiers = []; modifiers = [];
<input type="number" name="_first"> <input type="number" name="_first">
<input type="text" name="varname"> <input type="text" name="varname" data-bind="textInput: varname">

View file

@ -1,5 +1,5 @@
<!-- rfc5228 --> <!-- rfc5228 -->
fileinto fileinto
<label data-bind="root.capa.copy"><input type="checkbox"> copy</label><!-- rfc3894 --> <label data-bind="root.capa.copy"><input type="checkbox" data-bind="checked: copy"> copy</label><!-- rfc3894 -->
<label data-bind="root.capa.mailbox"><input type="checkbox"> create</label><!-- rfc5490 --> <label data-bind="root.capa.mailbox"><input type="checkbox" data-bind="checked: create"> create</label><!-- rfc5490 -->
<input data-bind="mailbox"> <input type="text" data-bind="textInput: mailbox">

View file

@ -1,4 +1,4 @@
<!-- rfc5703 --> <!-- rfc5703 -->
foreverypart foreverypart
<input type="text" name="_name"> <input type="text" name="_name" data-bind="textInput: _name">
<div data-bind="template: { name: 'SieveCommand', foreach: commands, as: 'command' }"></div> <div data-bind="template: { name: 'SieveCommand', foreach: commands, as: 'command' }"></div>

View file

@ -1,18 +1,25 @@
<!-- rfc5228 --> <!-- rfc5228 -->
header header
<select name="address_part"> <textarea name="header_names" data-bind="textInput: header_names">GrammarStringList</textarea>
<select name="match_type" data-bind="value: match_type">
<option>:is</option>
<option>:contains</option>
<option>:matches</option>
</select>
<!--
<select name="address_part" data-bind="value: address_part">
<option>:localpart</option> <option>:localpart</option>
<option>:domain</option> <option>:domain</option>
<option>:all</option> <option>:all</option>
</select> </select>
<textarea name="header_names">GrammarStringList</textarea> -->
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list" data-bind="textInput: key_list">GrammarStringList</textarea>
<input type="number" name="index"> <input type="number" name="index" data-bind="textInput: index">
<input type="checkbox" name="last"> <label><input type="checkbox" name="last"> last</label>
<input type="checkbox" name="mime"> <label><input type="checkbox" name="mime"> mime</label>
<input type="checkbox" name="anychild"> <label><input type="checkbox" name="anychild"> anychild</label>
<!-- when ":mime" is used: --> <!-- when ":mime" is used: -->
<input type="checkbox" name="type"> <label><input type="checkbox" name="type"> type</label>
<input type="checkbox" name="subtype"> <label><input type="checkbox" name="subtype"> subtype</label>
<input type="checkbox" name="contenttype"> <label><input type="checkbox" name="contenttype"> contenttype</label>
<textarea name="param">GrammarStringList</textarea> <textarea name="param" data-bind="textInput: param">GrammarStringList</textarea>

View file

@ -1,10 +1,8 @@
<!-- rfc5228 --> <!-- rfc5228 -->
if if
<div> <div data-bind="template: {name: $root.templateName(test), data: test}"></div>
this.test
</div>
{ {
<div data-bind="foreach: commands"> <div style="padding-left:4em" data-bind="foreach: commands">
<div data-bind="template: {name: $root.templateName($data)}"></div> <div data-bind="template: {name: $root.templateName($data)}"></div>
</div> </div>
} }

View file

@ -3,4 +3,4 @@ include
<label><input type="checkbox" name="global"> global</label> // ':personal' / ':global'; <label><input type="checkbox" name="global"> global</label> // ':personal' / ':global';
<label><input type="checkbox" name="once"> once</label> <label><input type="checkbox" name="once"> once</label>
<label><input type="checkbox" name="optional"> optional</label> <label><input type="checkbox" name="optional"> optional</label>
<input type="text" name="value"> <input type="text" name="value" data-bind="textInput: value">

View file

@ -1,4 +1,4 @@
<!-- rfc5490 --> <!-- rfc5490 -->
metadataexists metadataexists
<input type="text" name="mailbox"> <input type="text" name="mailbox" data-bind="textInput: mailbox">
<textarea name="annotation_names">GrammarStringList</textarea> <textarea name="annotation_names">GrammarStringList</textarea>

View file

@ -1,5 +1,5 @@
<!-- rfc5490 --> <!-- rfc5490 -->
metadata metadata
<input type="text" name="mailbox"> <input type="text" name="mailbox" data-bind="textInput: mailbox">
<input type="text" name="annotation_name"> <input type="text" name="annotation_name" data-bind="textInput: annotation_name">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>

View file

@ -1,3 +1,3 @@
<!-- rfc5228 --> <!-- rfc5228 -->
not not
<div data-bind="template: {name: $root.templateName(test)}"></div> <div data-bind="template: {name: $root.templateName(test), data: test}"></div>

View file

@ -1,7 +1,7 @@
<!-- rfc5435 --> <!-- rfc5435 -->
notify notify
<input type="text" name="_method"> <input type="text" name="_method" data-bind="textInput: _method">
<input type="text" name="_from"> <input type="text" name="_from" data-bind="textInput: _from">
<input type="number" name="_importance"> <input type="number" name="_importance">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>
<input type="text" name="_message"> <input type="text" name="_message" data-bind="textInput: _message">

View file

@ -1,5 +1,5 @@
<!-- rfc5435 --> <!-- rfc5435 -->
notifymethodcapability notifymethodcapability
<input type="text" name="notification_uri"> <input type="text" name="notification_uri" data-bind="textInput: notification_uri">
<input type="text" name="notification_capability"> <input type="text" name="notification_capability" data-bind="textInput: notification_capability">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>

View file

@ -1,3 +1,3 @@
<!-- rfc5429 --> <!-- rfc5429 -->
reject reject
<input type="text" name="_reason"> <input type="text" name="_reason" data-bind="textInput: _reason">

View file

@ -1,4 +1,4 @@
<!-- rfc5232 --> <!-- rfc5232 -->
removeflag removeflag
<input type="text" name="_variablename"> <input type="text" name="_variablename" data-bind="textInput: _variablename">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>

View file

@ -1,6 +1,6 @@
<!-- rfc5703 --> <!-- rfc5703 -->
replace replace
<label><input type="checkbox" name="mime"> mime</label> <label><input type="checkbox" name="mime"> mime</label>
<input type="text" name="_subject"> <input type="text" name="_subject" data-bind="textInput: _subject">
<input type="text" name="_from"> <input type="text" name="_from" data-bind="textInput: _from">
<input type="text" name="replacement"> <input type="text" name="replacement" data-bind="textInput: replacement">

View file

@ -1,4 +1,4 @@
<!-- rfc5490 --> <!-- rfc5490 -->
servermetadata servermetadata
<input type="text" name="annotation_name"> <input type="text" name="annotation_name" data-bind="textInput: annotation_name">
<textarea name="key_list">GrammarStringList</textarea> <textarea name="key_list">GrammarStringList</textarea>

View file

@ -1,5 +1,5 @@
<!-- rfc5229 --> <!-- rfc5229 -->
set set
modifiers = []; modifiers = [];
<input type="text" name="_name"> <input type="text" name="_name" data-bind="textInput: _name">
<input type="text" name="_value"> <input type="text" name="_value" data-bind="textInput: _value">

View file

@ -1,4 +1,4 @@
<!-- rfc5232 --> <!-- rfc5232 -->
setflag setflag
<input type="text" name="_variablename"> <input type="text" name="_variablename" data-bind="textInput: _variablename">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>

View file

@ -1,4 +1,4 @@
<!-- rfc5235 --> <!-- rfc5235 -->
spamtest spamtest
<input type="number" name="percent"> <input type="number" name="percent">
<input type="text" name="value"> <input type="text" name="value" data-bind="textInput: value">

View file

@ -2,9 +2,9 @@
vacation vacation
<input type="number" name="_days"> <input type="number" name="_days">
<input type="number" name="_seconds"> <input type="number" name="_seconds">
<input type="text" name="_subject"> <input type="text" name="_subject" data-bind="textInput: _subject">
<input type="text" name="_from"> <input type="text" name="_from" data-bind="textInput: _from">
<textarea name="source">GrammarStringList</textarea> <textarea name="source">GrammarStringList</textarea>
<label><input type="checkbox" name="mime"> mime</label> <label><input type="checkbox" name="mime"> mime</label>
<input type="text" name="_handle"> <input type="text" name="_handle" data-bind="textInput: _handle">
<input type="text" name="_reason"> // QuotedString / MultiLine <input type="text" name="_reason" data-bind="textInput: _reason"> // QuotedString / MultiLine

View file

@ -1,3 +1,3 @@
<!-- rfc5235 --> <!-- rfc5235 -->
virustest virustest
<input type="text" name="value"> // 1 - 5 <input type="text" name="value" data-bind="textInput: value"> // 1 - 5