98 lines
2.6 KiB
Handlebars
98 lines
2.6 KiB
Handlebars
{{page-title 'Settings'}}
|
|
<label class="mb-2">
|
|
Attributes
|
|
</label>
|
|
<RoyalTable @data={{@model.attributes}} as |Column dataRow|>
|
|
<Column @prop="name" />
|
|
<Column @name="Displayed">
|
|
<InputCheckbox
|
|
@checked={{dataRow.displayed}}
|
|
@onChange={{set dataRow 'displayed'}}
|
|
/>
|
|
</Column>
|
|
<Column @name="Filterable">
|
|
<InputCheckbox
|
|
@checked={{dataRow.filterable}}
|
|
@onChange={{set dataRow 'filterable'}}
|
|
/>
|
|
</Column>
|
|
<Column @name="Searchable">
|
|
<InputCheckbox
|
|
@checked={{dataRow.searchable}}
|
|
@onChange={{set dataRow 'searchable'}}
|
|
/>
|
|
</Column>
|
|
<Column @name="Sortable">
|
|
<InputCheckbox
|
|
@checked={{dataRow.sortable}}
|
|
@onChange={{set dataRow 'sortable'}}
|
|
/>
|
|
</Column>
|
|
</RoyalTable>
|
|
<InputSelect
|
|
@label="Distinct attribute"
|
|
@options={{keys @model.stats.fieldDistribution}}
|
|
@selected={{@model.settings.distinctAttribute}}
|
|
@onChange={{set @model.settings 'distinctAttribute'}}
|
|
@allowClear={{true}} as |option|
|
|
>
|
|
{{option}}
|
|
</InputSelect>
|
|
<div class="mb-4">
|
|
<label class="mb-2">
|
|
Ranking rules
|
|
</label>
|
|
{{!-- <SortableObjects
|
|
@sortableObjectList={{@model.settings.rankingRules}}
|
|
@sortingScope="a"
|
|
>
|
|
{{#each @model.settings.rankingRules as |item|}}
|
|
<DraggableObject
|
|
@content={{item}}
|
|
@overrideClass="sortObject"
|
|
@isSortable={{true}}
|
|
@sortingScope="a"
|
|
class="flex items-center px-4 py-2 mb-2 border border-gray max-w-md"
|
|
@dragHandle=".md-icon"
|
|
>
|
|
<MdIcon @icon="drag-vertical" class="mr-2 -ml-2 cursor-move" />
|
|
{{item}}
|
|
<MdIcon
|
|
@icon="close-thick"
|
|
@size="16"
|
|
class="ml-auto cursor-pointer"
|
|
{{on 'click' (fn this.removeRankingRule item)}}
|
|
/>
|
|
</DraggableObject>
|
|
{{/each}}
|
|
</SortableObjects> --}}
|
|
{{#if this.rankingRulesFields.length}}
|
|
<InputSelect
|
|
@options={{this.rankingRulesFields}}
|
|
@onChange={{this.selectNewRankingRule}}
|
|
@placeholder="Add field" as |option|
|
|
>
|
|
{{option}}
|
|
</InputSelect>
|
|
{{/if}}
|
|
</div>
|
|
<InputTextarea
|
|
@label="Stop-words"
|
|
@value={{json-stringify @model.settings.stopWords}}
|
|
@onChange={{fn this.saveStrToJSON 'stopWords' (array)}}
|
|
@helper="JSON format"
|
|
/>
|
|
<InputTextarea
|
|
@label="Synonyms"
|
|
@value={{json-stringify @model.settings.synonyms}}
|
|
@onChange={{fn this.saveStrToJSON 'synonyms' this.emptyObj}}
|
|
@helper="JSON format"
|
|
/>
|
|
<Button
|
|
@text="Save"
|
|
@pendingText="Saving"
|
|
@fulfilledText="Done"
|
|
@rejectedText="Error"
|
|
@icon={{this.DatabaseArrowUpOutline}}
|
|
@onClick={{this.save}}
|
|
/>
|