@bridgeline-digital/hawksearch-handlebars-ui 1.0.6 → 1.0.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/autocomplete/autocomplete.component.js +100 -0
- package/dist/components/autocomplete/autocomplete.component.js.map +1 -0
- package/dist/components/base.component.js +92 -0
- package/dist/components/base.component.js.map +1 -0
- package/dist/components/content-types/base-content.component.js +8 -0
- package/dist/components/content-types/base-content.component.js.map +1 -0
- package/dist/components/content-types/custom-content/custom-content.component.js +18 -0
- package/dist/components/content-types/custom-content/custom-content.component.js.map +1 -0
- package/dist/components/content-types/featured-items-content/featured-items-content.component.js +25 -0
- package/dist/components/content-types/featured-items-content/featured-items-content.component.js.map +1 -0
- package/dist/components/content-types/featured-items-content-item/featured-items-content-item.component.js +81 -0
- package/dist/components/content-types/featured-items-content-item/featured-items-content-item.component.js.map +1 -0
- package/dist/components/content-types/image-content/image-content.component.js +27 -0
- package/dist/components/content-types/image-content/image-content.component.js.map +1 -0
- package/dist/components/content-types/index.js +6 -0
- package/dist/components/content-types/index.js.map +1 -0
- package/dist/components/content-types/popular-queries-content/popular-queries-content.component.js +32 -0
- package/dist/components/content-types/popular-queries-content/popular-queries-content.component.js.map +1 -0
- package/dist/components/content-zone/content-zone.component.js +67 -0
- package/dist/components/content-zone/content-zone.component.js.map +1 -0
- package/dist/components/date-picker/date-picker.component.js +211 -0
- package/dist/components/date-picker/date-picker.component.js.map +1 -0
- package/dist/components/facet-types/base-facet.component.js +93 -0
- package/dist/components/facet-types/base-facet.component.js.map +1 -0
- package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js +50 -0
- package/dist/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.js.map +1 -0
- package/dist/components/facet-types/color-facet/color-facet.component.js +28 -0
- package/dist/components/facet-types/color-facet/color-facet.component.js.map +1 -0
- package/dist/components/facet-types/date-range-facet/date-range-facet.component.js +84 -0
- package/dist/components/facet-types/date-range-facet/date-range-facet.component.js.map +1 -0
- package/dist/components/facet-types/index.js +11 -0
- package/dist/components/facet-types/index.js.map +1 -0
- package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js +28 -0
- package/dist/components/facet-types/linked-list-facet/link-list-facet.component.js.map +1 -0
- package/dist/components/facet-types/numeric-range-facet/numeric-range-facet.component.js +68 -0
- package/dist/components/facet-types/numeric-range-facet/numeric-range-facet.component.js.map +1 -0
- package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js +95 -0
- package/dist/components/facet-types/range-slider-facet/range-slider-facet.component.js.map +1 -0
- package/dist/components/facet-types/recent-searches-facet/recent-searches-facet.component.js +33 -0
- package/dist/components/facet-types/recent-searches-facet/recent-searches-facet.component.js.map +1 -0
- package/dist/components/facet-types/related-searches-facet/related-searches-facet.component.js +33 -0
- package/dist/components/facet-types/related-searches-facet/related-searches-facet.component.js.map +1 -0
- package/dist/components/facet-types/search-within-facet/search-within-facet.component.js +32 -0
- package/dist/components/facet-types/search-within-facet/search-within-facet.component.js.map +1 -0
- package/dist/components/facet-types/size-facet/size-facet.component.js +28 -0
- package/dist/components/facet-types/size-facet/size-facet.component.js.map +1 -0
- package/dist/components/facet-wrapper/facet-wrapper.component.js +51 -0
- package/dist/components/facet-wrapper/facet-wrapper.component.js.map +1 -0
- package/dist/components/facets-list/facets-list.component.js +83 -0
- package/dist/components/facets-list/facets-list.component.js.map +1 -0
- package/dist/components/icon/icon.component.js +36 -0
- package/dist/components/icon/icon.component.js.map +1 -0
- package/dist/components/index.js +22 -0
- package/dist/components/index.js.map +1 -0
- package/dist/components/modified-query/modified-query.component.js +35 -0
- package/dist/components/modified-query/modified-query.component.js.map +1 -0
- package/dist/components/page-size/page-size.component.js +33 -0
- package/dist/components/page-size/page-size.component.js.map +1 -0
- package/dist/components/pagination/pagination.component.js +100 -0
- package/dist/components/pagination/pagination.component.js.map +1 -0
- package/dist/components/query-suggestions/query-suggestions.component.js +54 -0
- package/dist/components/query-suggestions/query-suggestions.component.js.map +1 -0
- package/dist/components/range-slider/range-slider.component.js +153 -0
- package/dist/components/range-slider/range-slider.component.js.map +1 -0
- package/dist/components/search-field/search-field.component.js +73 -0
- package/dist/components/search-field/search-field.component.js.map +1 -0
- package/dist/components/search-results/search-results.component.js +15 -0
- package/dist/components/search-results/search-results.component.js.map +1 -0
- package/dist/components/search-results-item/search-results-item.component.js +37 -0
- package/dist/components/search-results-item/search-results-item.component.js.map +1 -0
- package/dist/components/search-results-list/search-results-list.component.js +28 -0
- package/dist/components/search-results-list/search-results-list.component.js.map +1 -0
- package/dist/components/selected-facets/selected-facets.component.js +96 -0
- package/dist/components/selected-facets/selected-facets.component.js.map +1 -0
- package/dist/components/sorting/sorting.component.js +31 -0
- package/dist/components/sorting/sorting.component.js.map +1 -0
- package/dist/components/tabs/tabs.component.js +31 -0
- package/dist/components/tabs/tabs.component.js.map +1 -0
- package/dist/components/tooltip/tooltip.component.js +43 -0
- package/dist/components/tooltip/tooltip.component.js.map +1 -0
- package/dist/{hawksearch.cb6eccf3f9c28df794a6503d139be086.css → hawksearch-handlebars-ui.f9b58807d6ad9185740abc54376c67da.css} +1 -1
- package/dist/hawksearch-handlebars-ui.js +1 -1
- package/dist/hawksearch-handlebars-ui.js.LICENSE.txt +0 -9
- package/dist/hawksearch-handlebars-ui.js.map +1 -1
- package/dist/helpers/dates.js +13 -0
- package/dist/helpers/dates.js.map +1 -0
- package/dist/helpers/formatters.js +34 -0
- package/dist/helpers/formatters.js.map +1 -0
- package/dist/helpers/index.js +3 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/index.js +130 -0
- package/dist/index.js.map +1 -0
- package/dist/models/autocomplete.models.js +2 -0
- package/dist/models/autocomplete.models.js.map +1 -0
- package/dist/models/component.models.js +2 -0
- package/dist/models/component.models.js.map +1 -0
- package/dist/models/content.models.js +2 -0
- package/dist/models/content.models.js.map +1 -0
- package/dist/models/global.models.js +2 -0
- package/dist/models/global.models.js.map +1 -0
- package/dist/models/index.js +9 -0
- package/dist/models/index.js.map +1 -0
- package/dist/models/raw-autocomplete.models.js +2 -0
- package/dist/models/raw-autocomplete.models.js.map +1 -0
- package/dist/models/raw-search.models.js +2 -0
- package/dist/models/raw-search.models.js.map +1 -0
- package/dist/models/search.models.js +2 -0
- package/dist/models/search.models.js.map +1 -0
- package/dist/models/tracking.models.js +35 -0
- package/dist/models/tracking.models.js.map +1 -0
- package/dist/services/autocomplete.service.js +103 -0
- package/dist/services/autocomplete.service.js.map +1 -0
- package/dist/services/base.service.js +86 -0
- package/dist/services/base.service.js.map +1 -0
- package/dist/services/index.js +4 -0
- package/dist/services/index.js.map +1 -0
- package/dist/services/search.service.js +837 -0
- package/dist/services/search.service.js.map +1 -0
- package/dist/services/tracking.service.js +115 -0
- package/dist/services/tracking.service.js.map +1 -0
- package/package.json +3 -2
|
@@ -0,0 +1,211 @@
|
|
|
1
|
+
import { debounce } from 'lodash-es';
|
|
2
|
+
import { datesEqual, formatDateIso, getMonth, getMonths } from '@helpers';
|
|
3
|
+
import { BaseComponent } from '../base.component';
|
|
4
|
+
import defaultHtml from './date-picker.component.hbs';
|
|
5
|
+
export class DatePickerComponent extends BaseComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.bindEvent = undefined;
|
|
9
|
+
this.customTemplatePropertyName = 'datePicker';
|
|
10
|
+
this.defaultHtml = defaultHtml;
|
|
11
|
+
this.modalVisible = false;
|
|
12
|
+
this.modalDate = new Date();
|
|
13
|
+
this.monthSelectorVisible = false;
|
|
14
|
+
}
|
|
15
|
+
static get observedAttributes() {
|
|
16
|
+
return ['label', 'max', 'min', 'value'];
|
|
17
|
+
}
|
|
18
|
+
connectedCallback() {
|
|
19
|
+
super.connectedCallback();
|
|
20
|
+
this.documentClickEventHandler = (event) => {
|
|
21
|
+
if (!this.modalVisible || event.composedPath().includes(this)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.modalVisible = false;
|
|
25
|
+
setTimeout(() => this.renderContent());
|
|
26
|
+
};
|
|
27
|
+
document.addEventListener('click', this.documentClickEventHandler);
|
|
28
|
+
this.windowResizeEventHandler = debounce((event) => {
|
|
29
|
+
this.positionModal();
|
|
30
|
+
}, 100);
|
|
31
|
+
window.addEventListener('resize', this.windowResizeEventHandler);
|
|
32
|
+
}
|
|
33
|
+
disconnectedCallback() {
|
|
34
|
+
super.disconnectedCallback();
|
|
35
|
+
document.removeEventListener('click', this.documentClickEventHandler);
|
|
36
|
+
window.addEventListener('resize', this.windowResizeEventHandler);
|
|
37
|
+
}
|
|
38
|
+
attributeChangedCallback(name, oldValue, newValue) {
|
|
39
|
+
if (name === 'label') {
|
|
40
|
+
this.label = newValue || undefined;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const date = newValue ? new Date(newValue) : undefined;
|
|
44
|
+
if (date) {
|
|
45
|
+
date.setHours(0, 0, 0, 0);
|
|
46
|
+
}
|
|
47
|
+
switch (name) {
|
|
48
|
+
case 'max':
|
|
49
|
+
this.maxDate = date;
|
|
50
|
+
break;
|
|
51
|
+
case 'min':
|
|
52
|
+
this.minDate = date;
|
|
53
|
+
break;
|
|
54
|
+
case 'value':
|
|
55
|
+
this.selectedDate = date;
|
|
56
|
+
break;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
this.renderContent();
|
|
60
|
+
}
|
|
61
|
+
registerHelpers() {
|
|
62
|
+
super.registerHelpers();
|
|
63
|
+
this.handlebars.registerHelper('dayOfMonth', (date) => {
|
|
64
|
+
return date.getDate().toString().padStart(2, '0');
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
getContentHtml(template) {
|
|
68
|
+
var _a;
|
|
69
|
+
const html = template({
|
|
70
|
+
label: (_a = this.label) !== null && _a !== void 0 ? _a : 'Selected Date',
|
|
71
|
+
value: this.selectedDate ? formatDateIso(this.selectedDate) : '',
|
|
72
|
+
modalVisible: this.modalVisible,
|
|
73
|
+
monthSelectorVisible: this.monthSelectorVisible,
|
|
74
|
+
heading: `${getMonth(this.modalDate)} ${this.modalDate.getFullYear()}`,
|
|
75
|
+
years: this.getYears(),
|
|
76
|
+
months: getMonths(),
|
|
77
|
+
weeks: this.getWeeks(this.modalDate),
|
|
78
|
+
currentYear: this.modalDate.getFullYear(),
|
|
79
|
+
currentMonth: getMonth(this.modalDate)
|
|
80
|
+
});
|
|
81
|
+
return html;
|
|
82
|
+
}
|
|
83
|
+
bindChildElements() {
|
|
84
|
+
var _a, _b, _c, _d, _e, _f;
|
|
85
|
+
this.positionModal();
|
|
86
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-input]').forEach((e) => {
|
|
87
|
+
e.addEventListener('click', (event) => {
|
|
88
|
+
this.modalVisible = true;
|
|
89
|
+
this.modalDate = this.selectedDate ? new Date(this.selectedDate) : new Date();
|
|
90
|
+
this.renderContent();
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-previous]').forEach((e) => {
|
|
94
|
+
e.addEventListener('click', (event) => {
|
|
95
|
+
event.preventDefault();
|
|
96
|
+
this.modalDate.setDate(1);
|
|
97
|
+
this.modalDate.setMonth(this.modalDate.getMonth() - 1);
|
|
98
|
+
this.renderContent();
|
|
99
|
+
});
|
|
100
|
+
});
|
|
101
|
+
(_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('[hawksearch-next]').forEach((e) => {
|
|
102
|
+
e.addEventListener('click', (event) => {
|
|
103
|
+
event.preventDefault();
|
|
104
|
+
this.modalDate.setDate(1);
|
|
105
|
+
this.modalDate.setMonth(this.modalDate.getMonth() + 1);
|
|
106
|
+
this.renderContent();
|
|
107
|
+
});
|
|
108
|
+
});
|
|
109
|
+
(_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('[hawksearch-month-selector]').forEach((e) => {
|
|
110
|
+
e.addEventListener('click', (event) => {
|
|
111
|
+
event.preventDefault();
|
|
112
|
+
this.monthSelectorVisible = true;
|
|
113
|
+
this.renderContent();
|
|
114
|
+
});
|
|
115
|
+
});
|
|
116
|
+
(_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelectorAll('[hawksearch-select-month]').forEach((e) => {
|
|
117
|
+
e.addEventListener('click', (event) => {
|
|
118
|
+
var _a, _b, _c, _d;
|
|
119
|
+
event.preventDefault();
|
|
120
|
+
const month = (_b = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-month]')) === null || _b === void 0 ? void 0 : _b.value;
|
|
121
|
+
const year = (_d = (_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelector('[hawksearch-year]')) === null || _d === void 0 ? void 0 : _d.value;
|
|
122
|
+
if (month === undefined) {
|
|
123
|
+
throw new Error('Unable to get month value');
|
|
124
|
+
}
|
|
125
|
+
if (year === undefined) {
|
|
126
|
+
throw new Error('Unable to get year value');
|
|
127
|
+
}
|
|
128
|
+
this.modalDate = new Date(parseInt(year), parseInt(month), 1);
|
|
129
|
+
this.monthSelectorVisible = false;
|
|
130
|
+
this.renderContent();
|
|
131
|
+
});
|
|
132
|
+
});
|
|
133
|
+
(_f = this.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelectorAll('[hawksearch-date]').forEach((e) => {
|
|
134
|
+
e.addEventListener('click', (event) => {
|
|
135
|
+
event.preventDefault();
|
|
136
|
+
const value = e.getAttribute('hawksearch-date') || undefined;
|
|
137
|
+
if (!value) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
const date = new Date(value);
|
|
141
|
+
if (!((!this.minDate || date >= this.minDate) && (!this.maxDate || date <= this.maxDate))) {
|
|
142
|
+
return;
|
|
143
|
+
}
|
|
144
|
+
this.selectedDate = date;
|
|
145
|
+
this.modalVisible = false;
|
|
146
|
+
this.renderContent();
|
|
147
|
+
const newEvent = new CustomEvent('hawksearch:date-picker-changed', {
|
|
148
|
+
detail: date
|
|
149
|
+
});
|
|
150
|
+
this.dispatchEvent(newEvent);
|
|
151
|
+
});
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
positionModal() {
|
|
155
|
+
var _a;
|
|
156
|
+
const modal = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-modal]');
|
|
157
|
+
if (!modal || !modal.offsetWidth || !this.modalVisible) {
|
|
158
|
+
return;
|
|
159
|
+
}
|
|
160
|
+
modal.style.left = '';
|
|
161
|
+
modal.style.right = '';
|
|
162
|
+
const windowWidth = window.innerWidth;
|
|
163
|
+
const modalBoundaries = modal.getBoundingClientRect();
|
|
164
|
+
if (modal.offsetWidth + modalBoundaries.x >= windowWidth && windowWidth >= modal.offsetWidth) {
|
|
165
|
+
modal.style.right = '0';
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
getYears() {
|
|
169
|
+
const years = [];
|
|
170
|
+
const currentYear = this.modalDate.getFullYear();
|
|
171
|
+
const minYear = currentYear < 1900 ? currentYear : 1900;
|
|
172
|
+
const maxYear = (currentYear > new Date().getFullYear() ? currentYear : new Date().getFullYear()) + 10;
|
|
173
|
+
for (let i = minYear; i <= maxYear; i++) {
|
|
174
|
+
years.push(i);
|
|
175
|
+
}
|
|
176
|
+
return years;
|
|
177
|
+
}
|
|
178
|
+
getWeeks(date) {
|
|
179
|
+
let startDate = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
180
|
+
// Set date to first day of week containing first of month
|
|
181
|
+
startDate.setDate(startDate.getDate() - startDate.getDay());
|
|
182
|
+
const weeks = [];
|
|
183
|
+
do {
|
|
184
|
+
const week = this.getWeek(startDate);
|
|
185
|
+
weeks.push(week);
|
|
186
|
+
startDate = new Date(weeks[weeks.length - 1][6].date.getTime());
|
|
187
|
+
startDate.setDate(startDate.getDate() + 1);
|
|
188
|
+
} while (weeks.length < 6);
|
|
189
|
+
return weeks;
|
|
190
|
+
}
|
|
191
|
+
getWeek(startDate) {
|
|
192
|
+
const week = [];
|
|
193
|
+
const today = new Date();
|
|
194
|
+
today.setHours(0, 0, 0, 0);
|
|
195
|
+
for (let i = 0; i < 7; i++) {
|
|
196
|
+
const date = new Date(startDate.getTime());
|
|
197
|
+
date.setDate(date.getDate() + i);
|
|
198
|
+
date.setHours(0, 0, 0, 0);
|
|
199
|
+
const day = {
|
|
200
|
+
date: date,
|
|
201
|
+
value: date.toISOString(),
|
|
202
|
+
currentMonth: date.getMonth() === this.modalDate.getMonth(),
|
|
203
|
+
enabled: (!this.minDate || date >= this.minDate) && (!this.maxDate || date <= this.maxDate),
|
|
204
|
+
selected: this.selectedDate ? datesEqual(date, this.selectedDate) : false
|
|
205
|
+
};
|
|
206
|
+
week.push(day);
|
|
207
|
+
}
|
|
208
|
+
return week;
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
//# sourceMappingURL=date-picker.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-picker.component.js","sourceRoot":"","sources":["../../../src/components/date-picker/date-picker.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { searchService } from '@services';
|
|
2
|
+
import { BaseComponent } from '../base.component';
|
|
3
|
+
export class BaseFacetComponent extends BaseComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.bindEvent = undefined;
|
|
7
|
+
}
|
|
8
|
+
bindChildElements() {
|
|
9
|
+
var _a, _b, _c, _d, _e, _f;
|
|
10
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('input[hawksearch-facet-value]').forEach((e) => {
|
|
11
|
+
e.addEventListener('change', (event) => {
|
|
12
|
+
event.stopPropagation();
|
|
13
|
+
const element = event.currentTarget;
|
|
14
|
+
const field = this.data.field;
|
|
15
|
+
const value = element.value;
|
|
16
|
+
if (element.checked) {
|
|
17
|
+
searchService.addFacetValue(field, value);
|
|
18
|
+
}
|
|
19
|
+
else {
|
|
20
|
+
searchService.removeFacetValue(field, value);
|
|
21
|
+
}
|
|
22
|
+
});
|
|
23
|
+
});
|
|
24
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-facet-value]:not(input)').forEach((e) => {
|
|
25
|
+
e.addEventListener('click', (event) => {
|
|
26
|
+
var _a;
|
|
27
|
+
event.preventDefault();
|
|
28
|
+
event.stopPropagation();
|
|
29
|
+
const element = event.currentTarget;
|
|
30
|
+
const value = element.getAttribute('hawksearch-facet-value');
|
|
31
|
+
const facetValue = (_a = this.data.values) === null || _a === void 0 ? void 0 : _a.find((v) => v.value === value);
|
|
32
|
+
if (!facetValue) {
|
|
33
|
+
return;
|
|
34
|
+
}
|
|
35
|
+
if (facetValue.selected) {
|
|
36
|
+
searchService.removeFacetValue(this.data.field, value);
|
|
37
|
+
}
|
|
38
|
+
else {
|
|
39
|
+
searchService.addFacetValue(this.data.field, value);
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
});
|
|
43
|
+
(_c = this.shadowRoot) === null || _c === void 0 ? void 0 : _c.querySelectorAll('[hawksearch-facet-value-include]').forEach((e) => {
|
|
44
|
+
e.addEventListener('click', (event) => {
|
|
45
|
+
event.preventDefault();
|
|
46
|
+
event.stopPropagation();
|
|
47
|
+
const element = event.currentTarget;
|
|
48
|
+
const field = this.data.field;
|
|
49
|
+
let value = element.getAttribute('hawksearch-facet-value-include');
|
|
50
|
+
if (!value) {
|
|
51
|
+
return;
|
|
52
|
+
}
|
|
53
|
+
value = `@${value}`;
|
|
54
|
+
searchService.removeFacetValue(field, value);
|
|
55
|
+
});
|
|
56
|
+
});
|
|
57
|
+
(_d = this.shadowRoot) === null || _d === void 0 ? void 0 : _d.querySelectorAll('[hawksearch-facet-value-exclude]').forEach((e) => {
|
|
58
|
+
e.addEventListener('click', (event) => {
|
|
59
|
+
event.preventDefault();
|
|
60
|
+
event.stopPropagation();
|
|
61
|
+
const element = event.currentTarget;
|
|
62
|
+
const field = this.data.field;
|
|
63
|
+
const value = element.getAttribute('hawksearch-facet-value-exclude');
|
|
64
|
+
if (!value) {
|
|
65
|
+
return;
|
|
66
|
+
}
|
|
67
|
+
searchService.excludeFacetValue(field, value);
|
|
68
|
+
});
|
|
69
|
+
});
|
|
70
|
+
(_e = this.shadowRoot) === null || _e === void 0 ? void 0 : _e.querySelectorAll('[hawksearch-facet-value-toggle]').forEach((e) => {
|
|
71
|
+
e.addEventListener('click', (event) => {
|
|
72
|
+
event.preventDefault();
|
|
73
|
+
event.stopPropagation();
|
|
74
|
+
const element = event.currentTarget;
|
|
75
|
+
const value = element.getAttribute('hawksearch-facet-value-toggle');
|
|
76
|
+
if (!value) {
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
this.state.values[value].toggled = !this.state.values[value].toggled;
|
|
80
|
+
this.renderContent();
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
(_f = this.shadowRoot) === null || _f === void 0 ? void 0 : _f.querySelectorAll('[hawksearch-facet-toggle]').forEach((e) => {
|
|
84
|
+
e.addEventListener('click', (event) => {
|
|
85
|
+
event.preventDefault();
|
|
86
|
+
event.stopPropagation();
|
|
87
|
+
this.state.toggled = !this.state.toggled;
|
|
88
|
+
this.renderContent();
|
|
89
|
+
});
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=base-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base-facet.component.js","sourceRoot":"","sources":["../../../src/components/facet-types/base-facet.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './checkbox-list-facet.component.hbs';
|
|
3
|
+
import checkboxListPartialHtml from './checkbox-list.partial.hbs';
|
|
4
|
+
export class CheckboxListFacetComponent extends BaseFacetComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.customTemplatePropertyName = 'checkboxListFacet';
|
|
8
|
+
this.defaultHtml = defaultHtml;
|
|
9
|
+
}
|
|
10
|
+
registerHelpers() {
|
|
11
|
+
super.registerHelpers();
|
|
12
|
+
this.handlebars.registerPartial('facet-checkbox-list', checkboxListPartialHtml);
|
|
13
|
+
}
|
|
14
|
+
getContentHtml(template) {
|
|
15
|
+
var _a, _b, _c;
|
|
16
|
+
if (!this.data || !((_a = this.data.values) === null || _a === void 0 ? void 0 : _a.length)) {
|
|
17
|
+
return '';
|
|
18
|
+
}
|
|
19
|
+
const filterRegex = this.state.filter ? new RegExp(this.state.filter, 'i') : undefined;
|
|
20
|
+
const filtered = (value) => {
|
|
21
|
+
if (!filterRegex) {
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
return filterRegex.test(value.title);
|
|
25
|
+
};
|
|
26
|
+
const containsFiltered = (value) => {
|
|
27
|
+
var _a;
|
|
28
|
+
return ((_a = value.children) === null || _a === void 0 ? void 0 : _a.some((v) => filtered(v))) || false;
|
|
29
|
+
};
|
|
30
|
+
const getValues = (values, parent) => {
|
|
31
|
+
return values === null || values === void 0 ? void 0 : values.map((v, i) => {
|
|
32
|
+
var _a, _b, _c, _d, _e;
|
|
33
|
+
const valueWithState = Object.assign(Object.assign({}, v), { visible: (!parent && !filterRegex && (this.state.toggled || !this.data.truncateThreshold || i < this.data.truncateThreshold)) ||
|
|
34
|
+
filtered(v) ||
|
|
35
|
+
containsFiltered(v) ||
|
|
36
|
+
(!filterRegex && !!(parent === null || parent === void 0 ? void 0 : parent.toggled)), hasChildren: !!((_a = v.children) === null || _a === void 0 ? void 0 : _a.length), children: undefined, toggled: (v.value && ((_b = v.children) === null || _b === void 0 ? void 0 : _b.length) ? (_e = (_d = (_c = this.state.values) === null || _c === void 0 ? void 0 : _c[v.value]) === null || _d === void 0 ? void 0 : _d.toggled) !== null && _e !== void 0 ? _e : false : false) || containsFiltered(v) });
|
|
37
|
+
valueWithState.children = getValues(v.children, valueWithState);
|
|
38
|
+
return valueWithState;
|
|
39
|
+
});
|
|
40
|
+
};
|
|
41
|
+
const html = template({
|
|
42
|
+
values: getValues(this.data.values, undefined),
|
|
43
|
+
showToggle: !!this.data.truncateThreshold && ((_c = (_b = this.data.values) === null || _b === void 0 ? void 0 : _b.length) !== null && _c !== void 0 ? _c : 0) > this.data.truncateThreshold && !this.state.filter,
|
|
44
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
45
|
+
expanded: this.state.toggled
|
|
46
|
+
});
|
|
47
|
+
return html;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
//# sourceMappingURL=checkbox-list-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"checkbox-list-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/checkbox-list-facet/checkbox-list-facet.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './color-facet.component.hbs';
|
|
3
|
+
export class ColorFacetComponent extends BaseFacetComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.customTemplatePropertyName = 'colorFacet';
|
|
7
|
+
this.defaultHtml = defaultHtml;
|
|
8
|
+
}
|
|
9
|
+
getContentHtml(template) {
|
|
10
|
+
var _a, _b, _c, _d;
|
|
11
|
+
if (!this.data) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const filterRegex = this.state.filter ? new RegExp(this.state.filter, 'i') : undefined;
|
|
15
|
+
const html = template({
|
|
16
|
+
values: (_b = (_a = this.data.values) === null || _a === void 0 ? void 0 : _a.filter((c) => c.color).map((v, i) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return (Object.assign(Object.assign({}, v), { visible: (!filterRegex && (this.state.toggled || !this.data.truncateThreshold || i < this.data.truncateThreshold)) ||
|
|
19
|
+
(!!filterRegex && filterRegex.test((_a = v.title) !== null && _a !== void 0 ? _a : '')) }));
|
|
20
|
+
})) !== null && _b !== void 0 ? _b : [],
|
|
21
|
+
showToggle: !!this.data.truncateThreshold && ((_d = (_c = this.data.values) === null || _c === void 0 ? void 0 : _c.length) !== null && _d !== void 0 ? _d : 0) > this.data.truncateThreshold && !this.state.filter,
|
|
22
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
23
|
+
expanded: this.state.toggled
|
|
24
|
+
});
|
|
25
|
+
return html;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=color-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"color-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/color-facet/color-facet.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,WAAW,MAAM,6BAA6B,CAAC;AAMtD,MAAM,OAAO,mBAAoB,SAAQ,kBAAkB;IAA3D;;QACuB,+BAA0B,GAAG,YAAY,CAAC;QAC1C,gBAAW,GAAG,WAAW,CAAC;IA4BjD,CAAC;IA1Ba,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAEvF,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,MAAM,EACF,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CACV,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,EACtB,GAAG,CACA,CAAC,CAAC,EAAE,CAAC,EAAmB,EAAE;;gBAAC,OAAA,iCACpB,CAAC,KACJ,OAAO,EACH,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,iBAAkB,CAAC,CAAC;wBAC5G,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IACxD,CAAA;aAAA,CACL,mCAAI,EAAE;YACf,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAChI,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import { datesEqual, formatDateIso } from '@helpers';
|
|
2
|
+
import { searchService } from '@services';
|
|
3
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
4
|
+
import defaultHtml from './date-range-facet.component.hbs';
|
|
5
|
+
export class DateRangeFacetComponent extends BaseFacetComponent {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.customTemplatePropertyName = 'dateRangeFacet';
|
|
9
|
+
this.defaultHtml = defaultHtml;
|
|
10
|
+
}
|
|
11
|
+
get range() {
|
|
12
|
+
var _a, _b;
|
|
13
|
+
if (((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.range) === null || _b === void 0 ? void 0 : _b.type) === 'date') {
|
|
14
|
+
return this.data.range;
|
|
15
|
+
}
|
|
16
|
+
return undefined;
|
|
17
|
+
}
|
|
18
|
+
getContentHtml(template) {
|
|
19
|
+
if (!this.data || !this.range) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
const html = template({
|
|
23
|
+
startValue: this.range.start.toISOString(),
|
|
24
|
+
endValue: this.range.end.toISOString(),
|
|
25
|
+
minValue: this.range.min.toISOString(),
|
|
26
|
+
maxValue: this.range.max.toISOString()
|
|
27
|
+
});
|
|
28
|
+
return html;
|
|
29
|
+
}
|
|
30
|
+
bindChildElements() {
|
|
31
|
+
var _a, _b;
|
|
32
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-start]').forEach((e) => {
|
|
33
|
+
e.addEventListener('hawksearch:date-picker-changed', ((event) => {
|
|
34
|
+
let value = event.detail;
|
|
35
|
+
if (!value) {
|
|
36
|
+
value = this.range.min;
|
|
37
|
+
}
|
|
38
|
+
this.setFacetValue(value, this.range.end);
|
|
39
|
+
}));
|
|
40
|
+
});
|
|
41
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-end]').forEach((e) => {
|
|
42
|
+
e.addEventListener('hawksearch:date-picker-changed', ((event) => {
|
|
43
|
+
let value = event.detail;
|
|
44
|
+
if (!value) {
|
|
45
|
+
value = this.range.max;
|
|
46
|
+
}
|
|
47
|
+
this.setFacetValue(this.range.start, value);
|
|
48
|
+
}));
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
updateInputElements(start, end) {
|
|
52
|
+
var _a, _b;
|
|
53
|
+
const startElement = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[hawksearch-start]');
|
|
54
|
+
const endElement = (_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelector('[hawksearch-end]');
|
|
55
|
+
if (startElement) {
|
|
56
|
+
startElement.value = start ? formatDateIso(start) : '';
|
|
57
|
+
}
|
|
58
|
+
if (endElement) {
|
|
59
|
+
endElement.value = end ? formatDateIso(end) : '';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
setFacetValue(start, end) {
|
|
63
|
+
var _a, _b;
|
|
64
|
+
if (!!start && !!end && start > end) {
|
|
65
|
+
const tempValue = start;
|
|
66
|
+
start = end;
|
|
67
|
+
end = tempValue;
|
|
68
|
+
}
|
|
69
|
+
if (!start) {
|
|
70
|
+
start = this.range.start;
|
|
71
|
+
}
|
|
72
|
+
if (!end) {
|
|
73
|
+
end = this.range.end;
|
|
74
|
+
}
|
|
75
|
+
start.setHours(0, 0, 0, 0);
|
|
76
|
+
end.setHours(23, 59, 59, 999);
|
|
77
|
+
this.updateInputElements(start, end);
|
|
78
|
+
if (datesEqual(start, this.range.start) && datesEqual(end, this.range.end)) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
searchService.setFacetValue(this.data.field, `${(_a = start === null || start === void 0 ? void 0 : start.toISOString()) !== null && _a !== void 0 ? _a : ''},${(_b = end === null || end === void 0 ? void 0 : end.toISOString()) !== null && _b !== void 0 ? _b : ''}`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
//# sourceMappingURL=date-range-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"date-range-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/date-range-facet/date-range-facet.component.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export * from './checkbox-list-facet/checkbox-list-facet.component';
|
|
2
|
+
export * from './color-facet/color-facet.component';
|
|
3
|
+
export * from './date-range-facet/date-range-facet.component';
|
|
4
|
+
export * from './linked-list-facet/link-list-facet.component';
|
|
5
|
+
export * from './numeric-range-facet/numeric-range-facet.component';
|
|
6
|
+
export * from './range-slider-facet/range-slider-facet.component';
|
|
7
|
+
export * from './recent-searches-facet/recent-searches-facet.component';
|
|
8
|
+
export * from './related-searches-facet/related-searches-facet.component';
|
|
9
|
+
export * from './search-within-facet/search-within-facet.component';
|
|
10
|
+
export * from './size-facet/size-facet.component';
|
|
11
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/components/facet-types/index.ts"],"names":[],"mappings":"AAAA,cAAc,qDAAqD,CAAC;AACpE,cAAc,qCAAqC,CAAC;AACpD,cAAc,+CAA+C,CAAC;AAC9D,cAAc,+CAA+C,CAAC;AAC9D,cAAc,qDAAqD,CAAC;AACpE,cAAc,mDAAmD,CAAC;AAClE,cAAc,yDAAyD,CAAC;AACxE,cAAc,2DAA2D,CAAC;AAC1E,cAAc,qDAAqD,CAAC;AACpE,cAAc,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
2
|
+
import defaultHtml from './link-list-facet.component.hbs';
|
|
3
|
+
export class LinkListFacetComponent extends BaseFacetComponent {
|
|
4
|
+
constructor() {
|
|
5
|
+
super(...arguments);
|
|
6
|
+
this.customTemplatePropertyName = 'linkListFacet';
|
|
7
|
+
this.defaultHtml = defaultHtml;
|
|
8
|
+
}
|
|
9
|
+
getContentHtml(template) {
|
|
10
|
+
var _a, _b, _c, _d, _e;
|
|
11
|
+
if (!this.data) {
|
|
12
|
+
return '';
|
|
13
|
+
}
|
|
14
|
+
const filterRegex = this.state.filter ? new RegExp((_a = this.state.filter) !== null && _a !== void 0 ? _a : '', 'i') : undefined;
|
|
15
|
+
const html = template({
|
|
16
|
+
values: (_c = (_b = this.data.values) === null || _b === void 0 ? void 0 : _b.map((v, i) => {
|
|
17
|
+
var _a;
|
|
18
|
+
return (Object.assign(Object.assign({}, v), { visible: (!filterRegex && (this.state.toggled || !this.data.truncateThreshold || i < this.data.truncateThreshold)) ||
|
|
19
|
+
(!!filterRegex && filterRegex.test((_a = v.title) !== null && _a !== void 0 ? _a : '')) }));
|
|
20
|
+
})) !== null && _c !== void 0 ? _c : [],
|
|
21
|
+
showToggle: !!this.data.truncateThreshold && ((_e = (_d = this.data.values) === null || _d === void 0 ? void 0 : _d.length) !== null && _e !== void 0 ? _e : 0) > this.data.truncateThreshold && !this.state.filter,
|
|
22
|
+
toggleText: this.state.toggled ? 'Show fewer' : 'Show more',
|
|
23
|
+
expanded: this.state.toggled
|
|
24
|
+
});
|
|
25
|
+
return html;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=link-list-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"link-list-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/linked-list-facet/link-list-facet.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,WAAW,MAAM,iCAAiC,CAAC;AAM1D,MAAM,OAAO,sBAAuB,SAAQ,kBAAkB;IAA9D;;QACuB,+BAA0B,GAAG,eAAe,CAAC;QAC7C,gBAAW,GAAG,WAAW,CAAC;IA0BjD,CAAC;IAxBa,cAAc,CAAC,QAAoC;;QACzD,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE;YACZ,OAAO,EAAE,CAAC;SACb;QAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,MAAM,CAAC,MAAA,IAAI,CAAC,KAAK,CAAC,MAAM,mCAAI,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAE7F,MAAM,IAAI,GAAG,QAAQ,CAAC;YAClB,MAAM,EACF,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,GAAG,CACjB,CAAC,CAAC,EAAE,CAAC,EAAsB,EAAE;;gBAAC,OAAA,iCACvB,CAAC,KACJ,OAAO,EACH,CAAC,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,IAAI,CAAC,IAAK,CAAC,iBAAiB,IAAI,CAAC,GAAG,IAAI,CAAC,IAAK,CAAC,iBAAkB,CAAC,CAAC;wBAC5G,CAAC,CAAC,CAAC,WAAW,IAAI,WAAW,CAAC,IAAI,CAAC,MAAA,CAAC,CAAC,KAAK,mCAAI,EAAE,CAAC,CAAC,IACxD,CAAA;aAAA,CACL,mCAAI,EAAE;YACX,UAAU,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,MAAA,MAAA,IAAI,CAAC,IAAI,CAAC,MAAM,0CAAE,MAAM,mCAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM;YAChI,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;YAC3D,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,OAAO,IAAI,CAAC;IAChB,CAAC;CACJ"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { searchService } from '@services';
|
|
2
|
+
import { BaseFacetComponent } from '../base-facet.component';
|
|
3
|
+
import defaultHtml from './numeric-range-facet.component.hbs';
|
|
4
|
+
export class NumericRangeFacetComponent extends BaseFacetComponent {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(...arguments);
|
|
7
|
+
this.customTemplatePropertyName = 'numericRangeFacet';
|
|
8
|
+
this.defaultHtml = defaultHtml;
|
|
9
|
+
}
|
|
10
|
+
get range() {
|
|
11
|
+
var _a, _b;
|
|
12
|
+
if (((_b = (_a = this.data) === null || _a === void 0 ? void 0 : _a.range) === null || _b === void 0 ? void 0 : _b.type) === 'numeric') {
|
|
13
|
+
return this.data.range;
|
|
14
|
+
}
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
getContentHtml(template) {
|
|
18
|
+
if (!this.data || !this.range) {
|
|
19
|
+
return '';
|
|
20
|
+
}
|
|
21
|
+
const html = template({
|
|
22
|
+
startValue: Math.floor(this.range.start),
|
|
23
|
+
endValue: Math.ceil(this.range.end),
|
|
24
|
+
minValue: Math.floor(this.range.min),
|
|
25
|
+
maxValue: Math.floor(this.range.max)
|
|
26
|
+
});
|
|
27
|
+
return html;
|
|
28
|
+
}
|
|
29
|
+
bindChildElements() {
|
|
30
|
+
var _a, _b;
|
|
31
|
+
(_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelectorAll('[hawksearch-start]').forEach((e) => {
|
|
32
|
+
e.addEventListener('blur', (event) => {
|
|
33
|
+
const element = event.currentTarget;
|
|
34
|
+
let value = parseFloat(element.value);
|
|
35
|
+
if (isNaN(value)) {
|
|
36
|
+
value = Math.floor(this.range.min);
|
|
37
|
+
element.value = value.toString();
|
|
38
|
+
}
|
|
39
|
+
this.setFacetValue(value, this.range.end);
|
|
40
|
+
});
|
|
41
|
+
});
|
|
42
|
+
(_b = this.shadowRoot) === null || _b === void 0 ? void 0 : _b.querySelectorAll('[hawksearch-end]').forEach((e) => {
|
|
43
|
+
e.addEventListener('blur', (event) => {
|
|
44
|
+
const element = event.currentTarget;
|
|
45
|
+
let value = parseFloat(element.value);
|
|
46
|
+
if (isNaN(value)) {
|
|
47
|
+
value = Math.ceil(this.range.max);
|
|
48
|
+
element.value = value.toString();
|
|
49
|
+
}
|
|
50
|
+
this.setFacetValue(this.range.start, value);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
setFacetValue(start, end) {
|
|
55
|
+
if (start > end) {
|
|
56
|
+
const tempValue = start;
|
|
57
|
+
start = end;
|
|
58
|
+
end = tempValue;
|
|
59
|
+
}
|
|
60
|
+
start = Math.floor(start);
|
|
61
|
+
end = Math.ceil(end);
|
|
62
|
+
if (start === Math.floor(this.range.start) && end === Math.ceil(this.range.end)) {
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
searchService.setFacetValue(this.data.field, `${start},${end}`);
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=numeric-range-facet.component.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-range-facet.component.js","sourceRoot":"","sources":["../../../../src/components/facet-types/numeric-range-facet/numeric-range-facet.component.ts"],"names":[],"mappings":"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"}
|