djmaze 2020-11-26 12:34:54 +01:00
parent 4adc672ccd
commit 0ba7374468
14 changed files with 72 additions and 17 deletions

View file

@ -262,6 +262,7 @@ export const FilterConditionField = {
Recipient: 'Recipient',
Subject: 'Subject',
Header: 'Header',
Body: 'Body',
Size: 'Size'
};
@ -275,7 +276,9 @@ export const FilterConditionType = {
NotEqualTo: 'NotEqualTo',
Regex: 'Regex',
Over: 'Over',
Under: 'Under'
Under: 'Under',
Text: 'Text',
Raw: 'Raw'
};
/**

View file

@ -21,6 +21,9 @@ class FilterConditionModel extends AbstractModel {
this.template = ko.computed(() => {
let template = '';
switch (this.field()) {
case FilterConditionField.Body:
template = 'SettingsFiltersConditionBody';
break;
case FilterConditionField.Size:
template = 'SettingsFiltersConditionSize';
break;

View file

@ -38,6 +38,7 @@ class FilterPopupView extends AbstractViewNext {
this.fieldOptions = ko.observableArray([]);
this.typeOptions = ko.observableArray([]);
this.typeOptionsSize = ko.observableArray([]);
this.typeOptionsBody = ko.observableArray([]);
initOnStartOrLangChange(this.populateOptions.bind(this));
@ -108,7 +109,8 @@ class FilterPopupView extends AbstractViewNext {
{ 'id': FilterConditionField.Recipient, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_RECIPIENTS') },
{ 'id': FilterConditionField.Subject, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_SUBJECT') },
{ 'id': FilterConditionField.Size, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_SIZE') },
{ 'id': FilterConditionField.Header, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_HEADER') }
{ 'id': FilterConditionField.Header, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_HEADER') },
{ 'id': FilterConditionField.Body, 'name': i18n('POPUPS_FILTER/SELECT_FIELD_BODY') }
]);
this.typeOptions([
@ -126,6 +128,11 @@ class FilterPopupView extends AbstractViewNext {
{ 'id': FilterConditionType.Over, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_OVER') },
{ 'id': FilterConditionType.Under, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_UNDER') }
]);
this.typeOptionsBody([
{ 'id': FilterConditionType.Text, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_TEXT') },
{ 'id': FilterConditionType.Raw, 'name': i18n('POPUPS_FILTER/SELECT_TYPE_RAW') }
]);
}
removeCondition(oConditionToDelete) {