Fix broken js on empty search configuration

This commit is contained in:
Georgy Litvinov 2021-02-01 14:37:34 +01:00
parent e7699bdd14
commit 7d33caee8a

View file

@ -22,7 +22,8 @@
<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", "condition": "AND",
"rules": [ "rules": [
{ {
@ -56,7 +57,23 @@
} }
], ],
"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,6 +83,7 @@
$('#builder').queryBuilder({ $('#builder').queryBuilder({
filters: [ filters: [
<#if searchFields?has_content>
<#list searchFields as field> <#list searchFields as field>
<#if field.hasFilters == "true"> <#if field.hasFilters == "true">
<@multivalueField field=field /> <@multivalueField field=field />
@ -73,6 +91,14 @@
<@freeField field=field /> <@freeField field=field />
</#if> </#if>
</#list> </#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']
}, },