Fix broken js on empty search configuration

This commit is contained in:
Georgy Litvinov 2021-02-01 14:37:34 +01:00
parent ab6e02cc5e
commit a851764012

View file

@ -22,41 +22,58 @@
<script src="themes/iph/js/query-builder.ru.js"></script> <script src="themes/iph/js/query-builder.ru.js"></script>
<script> <script>
var rules_example = var rules_example =
{ <#if searchFields?has_content>
"condition": "AND", {
"rules": [ "condition": "AND",
{ "rules": [
"id": "titles", {
"field": "titles", "id": "titles",
"type": "string", "field": "titles",
"input": "text", "type": "string",
"operator": "not_contains", "input": "text",
"value": "постмодернизм" "operator": "not_contains",
}, "value": "постмодернизм"
{ },
"condition": "OR", {
"rules": [ "condition": "OR",
{ "rules": [
"id": "keywords", {
"field": "keywords", "id": "keywords",
"type": "string", "field": "keywords",
"input": "text", "type": "string",
"operator": "contains", "input": "text",
"value": "постмодернизм" "operator": "contains",
}, "value": "постмодернизм"
{ },
"id": "bibliography", {
"field": "bibliography", "id": "bibliography",
"type": "string", "field": "bibliography",
"input": "text", "type": "string",
"operator": "contains", "input": "text",
"value": "постмодернизм" "operator": "contains",
} "value": "постмодернизм"
] }
} ]
], }
"valid": true ],
}; "valid": true
};
<#else>
{
"condition": "AND",
"rules": [
{
"id": "ALLTEXT",
"field": "everywhere",
"type": "string",
"input": "text",
"operator": "contains",
"value": "publication"
}
],
"valid": true
};
</#if>
var rules_start; var rules_start;
if (localStorage.getItem('queryBuilderFormSaved') === true || localStorage.getItem('queryBuilderFormSaved') === 'true') { if (localStorage.getItem('queryBuilderFormSaved') === true || localStorage.getItem('queryBuilderFormSaved') === 'true') {
rules_start = JSON.parse(localStorage.getItem('queryBuilderForm')); rules_start = JSON.parse(localStorage.getItem('queryBuilderForm'));
@ -66,13 +83,22 @@
$('#builder').queryBuilder({ $('#builder').queryBuilder({
filters: [ filters: [
<#list searchFields as field> <#if searchFields?has_content>
<#if field.hasFilters == "true"> <#list searchFields as field>
<@multivalueField field=field /> <#if field.hasFilters == "true">
<#else> <@multivalueField field=field />
<@freeField field=field /> <#else>
</#if> <@freeField field=field />
</#list> </#if>
</#list>
<#else>
{
id: 'ALLTEXT',
label: 'Everywhere',
type: 'string',
operators: ['contains', 'not_contains']
},
</#if>
], ],
lang_code: 'ru', lang_code: 'ru',
@ -162,12 +188,21 @@
type: 'string', type: 'string',
input: 'select', input: 'select',
values: { values: {
<#if searchFields??>
<#list searchFilters as filter> <#list searchFilters as filter>
<#if filter.field == field.field> <#if filter.field == field.field>
'&quot;${filter.id}&quot;':'${filter.name}', '&quot;${filter.id}&quot;':'${filter.name}',
</#if> </#if>
</#list> </#list>
<#else>
{
id: 'ALLTEXT',
label: 'Everywhere',
type: 'string',
operators: ['contains', 'not_contains']
},
</#if>
}, },
operators: ['contains', 'not_contains'] operators: ['contains', 'not_contains']
}, },