@ta-interaktiv/react-municipality-search 2.1.4 → 2.2.0
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/CHANGELOG.md +11 -0
- package/dist/index.js +6 -4
- package/dist/index.js.map +1 -1
- package/dist/municipalitySearch.d.ts +3 -0
- package/dist/municipalitySearch.d.ts.map +1 -1
- package/es/index.js +6 -4
- package/es/index.js.map +1 -1
- package/es/municipalitySearch.d.ts +3 -0
- package/es/municipalitySearch.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/municipalitySearch.tsx +8 -3
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,17 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
# [2.2.0](https://gitlab.com/ta-interaktiv/packages/compare/@ta-interaktiv/react-municipality-search@2.1.4...@ta-interaktiv/react-municipality-search@2.2.0) (2024-09-18)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* new prop "propertyToSearch" ([8fb9fd5](https://gitlab.com/ta-interaktiv/packages/commit/8fb9fd58f37a0e7778634de5d84926d68143cae1))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [2.1.4](https://gitlab.com/ta-interaktiv/packages/compare/@ta-interaktiv/react-municipality-search@2.1.3...@ta-interaktiv/react-municipality-search@2.1.4) (2024-05-27)
|
|
7
18
|
|
|
8
19
|
|
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
21
21
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
22
22
|
PERFORMANCE OF THIS SOFTWARE.
|
|
23
23
|
***************************************************************************** */
|
|
24
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
24
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
25
25
|
|
|
26
26
|
var extendStatics = function(d, b) {
|
|
27
27
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -184,8 +184,9 @@ var MunicipalitySearch = (function (_super) {
|
|
|
184
184
|
var exactWordRegex_1 = RegExp("\\b" + sanitizedSearchTerm + "\\b", 'i');
|
|
185
185
|
var rankResults = function (searchTerm, arrayToSort) {
|
|
186
186
|
return arrayToSort.sort(function (a, b) {
|
|
187
|
-
var
|
|
188
|
-
var
|
|
187
|
+
var _a, _b;
|
|
188
|
+
var aScore = scoreResult_1(searchTerm.toLowerCase(), a[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
|
|
189
|
+
var bScore = scoreResult_1(searchTerm.toLowerCase(), b[(_b = _this.props.propertyToSearch) !== null && _b !== void 0 ? _b : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
|
|
189
190
|
return bScore - aScore;
|
|
190
191
|
});
|
|
191
192
|
};
|
|
@@ -200,7 +201,7 @@ var MunicipalitySearch = (function (_super) {
|
|
|
200
201
|
return 0;
|
|
201
202
|
}
|
|
202
203
|
};
|
|
203
|
-
var notExactMatches = municipalities.filter(function (municipality) { return r_1.test(municipality.
|
|
204
|
+
var notExactMatches = municipalities.filter(function (municipality) { var _a; return r_1.test(municipality[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch]); });
|
|
204
205
|
results = rankResults(sanitizedSearchTerm, notExactMatches).slice(0, _this.props.maxResults);
|
|
205
206
|
if (results.length < 1) {
|
|
206
207
|
_this.setState({ error: 'error.noResultsByName' });
|
|
@@ -492,6 +493,7 @@ var MunicipalitySearch = (function (_super) {
|
|
|
492
493
|
resultBackgroundColor: 'var(--site-background)',
|
|
493
494
|
inputBackgroundColor: 'var(--site-background)',
|
|
494
495
|
maxResults: 10,
|
|
496
|
+
propertyToSearch: "NORMGEMEINDE"
|
|
495
497
|
};
|
|
496
498
|
return MunicipalitySearch;
|
|
497
499
|
}(React.Component));
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -10,6 +10,7 @@ interface Municipality {
|
|
|
10
10
|
readonly NORMGEMEINDE: string;
|
|
11
11
|
readonly URL?: string;
|
|
12
12
|
timestamp?: number;
|
|
13
|
+
[x: string]: any;
|
|
13
14
|
}
|
|
14
15
|
export type { Municipality };
|
|
15
16
|
export interface Props {
|
|
@@ -29,6 +30,7 @@ export interface Props {
|
|
|
29
30
|
onCloseHandler?: () => void;
|
|
30
31
|
inputBackgroundColor?: string;
|
|
31
32
|
resultBackgroundColor?: string;
|
|
33
|
+
propertyToSearch?: keyof Municipality;
|
|
32
34
|
}
|
|
33
35
|
interface State {
|
|
34
36
|
isLoading: boolean;
|
|
@@ -45,6 +47,7 @@ export declare class MunicipalitySearch extends Component<Props, State> {
|
|
|
45
47
|
resultBackgroundColor: string;
|
|
46
48
|
inputBackgroundColor: string;
|
|
47
49
|
maxResults: number;
|
|
50
|
+
propertyToSearch: string;
|
|
48
51
|
};
|
|
49
52
|
state: {
|
|
50
53
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,gBAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;CACtC;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;;MAQzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
|
package/es/index.js
CHANGED
|
@@ -17,7 +17,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
|
17
17
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
18
18
|
PERFORMANCE OF THIS SOFTWARE.
|
|
19
19
|
***************************************************************************** */
|
|
20
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
|
20
|
+
/* global Reflect, Promise, SuppressedError, Symbol, Iterator */
|
|
21
21
|
|
|
22
22
|
var extendStatics = function(d, b) {
|
|
23
23
|
extendStatics = Object.setPrototypeOf ||
|
|
@@ -180,8 +180,9 @@ var MunicipalitySearch = (function (_super) {
|
|
|
180
180
|
var exactWordRegex_1 = RegExp("\\b" + sanitizedSearchTerm + "\\b", 'i');
|
|
181
181
|
var rankResults = function (searchTerm, arrayToSort) {
|
|
182
182
|
return arrayToSort.sort(function (a, b) {
|
|
183
|
-
var
|
|
184
|
-
var
|
|
183
|
+
var _a, _b;
|
|
184
|
+
var aScore = scoreResult_1(searchTerm.toLowerCase(), a[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
|
|
185
|
+
var bScore = scoreResult_1(searchTerm.toLowerCase(), b[(_b = _this.props.propertyToSearch) !== null && _b !== void 0 ? _b : MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase());
|
|
185
186
|
return bScore - aScore;
|
|
186
187
|
});
|
|
187
188
|
};
|
|
@@ -196,7 +197,7 @@ var MunicipalitySearch = (function (_super) {
|
|
|
196
197
|
return 0;
|
|
197
198
|
}
|
|
198
199
|
};
|
|
199
|
-
var notExactMatches = municipalities.filter(function (municipality) { return r_1.test(municipality.
|
|
200
|
+
var notExactMatches = municipalities.filter(function (municipality) { var _a; return r_1.test(municipality[(_a = _this.props.propertyToSearch) !== null && _a !== void 0 ? _a : MunicipalitySearch.defaultProps.propertyToSearch]); });
|
|
200
201
|
results = rankResults(sanitizedSearchTerm, notExactMatches).slice(0, _this.props.maxResults);
|
|
201
202
|
if (results.length < 1) {
|
|
202
203
|
_this.setState({ error: 'error.noResultsByName' });
|
|
@@ -488,6 +489,7 @@ var MunicipalitySearch = (function (_super) {
|
|
|
488
489
|
resultBackgroundColor: 'var(--site-background)',
|
|
489
490
|
inputBackgroundColor: 'var(--site-background)',
|
|
490
491
|
maxResults: 10,
|
|
492
|
+
propertyToSearch: "NORMGEMEINDE"
|
|
491
493
|
};
|
|
492
494
|
return MunicipalitySearch;
|
|
493
495
|
}(Component));
|
package/es/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -10,6 +10,7 @@ interface Municipality {
|
|
|
10
10
|
readonly NORMGEMEINDE: string;
|
|
11
11
|
readonly URL?: string;
|
|
12
12
|
timestamp?: number;
|
|
13
|
+
[x: string]: any;
|
|
13
14
|
}
|
|
14
15
|
export type { Municipality };
|
|
15
16
|
export interface Props {
|
|
@@ -29,6 +30,7 @@ export interface Props {
|
|
|
29
30
|
onCloseHandler?: () => void;
|
|
30
31
|
inputBackgroundColor?: string;
|
|
31
32
|
resultBackgroundColor?: string;
|
|
33
|
+
propertyToSearch?: keyof Municipality;
|
|
32
34
|
}
|
|
33
35
|
interface State {
|
|
34
36
|
isLoading: boolean;
|
|
@@ -45,6 +47,7 @@ export declare class MunicipalitySearch extends Component<Props, State> {
|
|
|
45
47
|
resultBackgroundColor: string;
|
|
46
48
|
inputBackgroundColor: string;
|
|
47
49
|
maxResults: number;
|
|
50
|
+
propertyToSearch: string;
|
|
48
51
|
};
|
|
49
52
|
state: {
|
|
50
53
|
isLoading: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"municipalitySearch.d.ts","sourceRoot":"","sources":["../src/municipalitySearch.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAe,SAAS,EAAE,MAAM,OAAO,CAAA;AAkBpD,UAAU,YAAY;IACrB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAA;IACtB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAA;IAC9B,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAA;IACrB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,CAAC,CAAC,EAAE,MAAM,GAAG,GAAG,CAAA;CACjB;AACD,YAAY,EAAE,YAAY,EAAE,CAAA;AAC5B,MAAM,WAAW,KAAK;IAGpB,gBAAgB,EAAE,MAAM,CAAA;IAGxB,MAAM,CAAC,EAAE,OAAO,CAAA;IAGhB,aAAa,CAAC,EAAE,OAAO,CAAA;IAGvB,kBAAkB,EAAE,CAAC,YAAY,EAAE,YAAY,KAAK,IAAI,CAAA;IAGxD,MAAM,EAAE,IAAI,GAAG,IAAI,CAAA;IAGnB,WAAW,CAAC,EAAE,MAAM,CAAA;IAGpB,8BAA8B,CAAC,EAAE,OAAO,CAAA;IAGxC,kCAAkC,CAAC,EAAE,MAAM,CAAA;IAG3C,eAAe,CAAC,EAAE,OAAO,CAAA;IAGzB,UAAU,CAAC,EAAE,MAAM,CAAA;IAGnB,oBAAoB,CAAC,EAAE,YAAY,EAAE,CAAA;IAGrC,oBAAoB,CAAC,EAAE,YAAY,CAAA;IAGnC,sBAAsB,CAAC,EAAE,MAAM,CAAA;IAG/B,cAAc,CAAC,EAAE,MAAM,IAAI,CAAA;IAG3B,oBAAoB,CAAC,EAAE,MAAM,CAAA;IAG7B,qBAAqB,CAAC,EAAE,MAAM,CAAA;IAG9B,gBAAgB,CAAC,EAAE,MAAM,YAAY,CAAA;CACtC;AAED,UAAU,KAAK;IACb,SAAS,EAAE,OAAO,CAAA;IAClB,OAAO,EAAE,YAAY,EAAE,CAAA;IACvB,KAAK,EAAE,MAAM,CAAA;IACb,KAAK,EACD,IAAI,GACJ,sBAAsB,GACtB,uBAAuB,GACvB,mCAAmC,CAAA;IACvC,cAAc,EAAE,YAAY,EAAE,CAAA;CAC/B;AAgED,qBAAa,kBAAmB,SAAQ,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;IAC7D,OAAc,YAAY;;;;;;;;MAQzB;IAEM,KAAK;;;;;;MAMX;IAED,OAAO,CAAC,cAAc,CAMrB;IAED,OAAO,CAAC,UAAU,CAqFjB;IAED,OAAO,CAAC,gBAAgB;IAkCxB,OAAO,CAAC,kBAAkB,CAezB;IAOD,OAAO,CAAC,kBAAkB,CAgBzB;IAKD,OAAO,CAAC,uBAAuB,CAkC9B;IAOD,OAAO,CAAC,4BAA4B,CAwBnC;IAQD,OAAO,CAAC,4BAA4B,CA6BnC;IAED,OAAO,CAAC,qBAAqB,CAiD5B;IAEM,kBAAkB,CAAC,SAAS,EAAE,KAAK;IAO1C,OAAO,CAAC,YAAY;IAIb,iBAAiB;IA2CjB,MAAM;CA8Id"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@ta-interaktiv/react-municipality-search",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"description": "React component that allows searching for Swiss municipalities with either ZIP code or place names.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"react",
|
|
@@ -52,5 +52,5 @@
|
|
|
52
52
|
"react-dom": ">=16.8.0",
|
|
53
53
|
"styled-components": "^6.1.1"
|
|
54
54
|
},
|
|
55
|
-
"gitHead": "
|
|
55
|
+
"gitHead": "e14ed049579a8649fadbb1240d9226a5a9225296"
|
|
56
56
|
}
|
|
@@ -28,6 +28,7 @@ interface LocalisedMessagesList {
|
|
|
28
28
|
readonly NORMGEMEINDE: string
|
|
29
29
|
readonly URL?: string
|
|
30
30
|
timestamp?: number
|
|
31
|
+
[x: string]: any
|
|
31
32
|
}
|
|
32
33
|
export type { Municipality }
|
|
33
34
|
export interface Props {
|
|
@@ -79,6 +80,9 @@ export interface Props {
|
|
|
79
80
|
|
|
80
81
|
/** result background color */
|
|
81
82
|
resultBackgroundColor?: string
|
|
83
|
+
|
|
84
|
+
/** property on your municipality you want to search for. The value of this key MUST be a string */
|
|
85
|
+
propertyToSearch?: keyof Municipality
|
|
82
86
|
}
|
|
83
87
|
|
|
84
88
|
interface State {
|
|
@@ -163,6 +167,7 @@ export class MunicipalitySearch extends Component<Props, State> {
|
|
|
163
167
|
resultBackgroundColor: 'var(--site-background)',
|
|
164
168
|
inputBackgroundColor: 'var(--site-background)',
|
|
165
169
|
maxResults: 10,
|
|
170
|
+
propertyToSearch: "NORMGEMEINDE"
|
|
166
171
|
}
|
|
167
172
|
|
|
168
173
|
public state = {
|
|
@@ -225,11 +230,11 @@ export class MunicipalitySearch extends Component<Props, State> {
|
|
|
225
230
|
return arrayToSort.sort((a, b) => {
|
|
226
231
|
const aScore = scoreResult(
|
|
227
232
|
searchTerm.toLowerCase(),
|
|
228
|
-
a.
|
|
233
|
+
a[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase(),
|
|
229
234
|
)
|
|
230
235
|
const bScore = scoreResult(
|
|
231
236
|
searchTerm.toLowerCase(),
|
|
232
|
-
b.
|
|
237
|
+
b[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch].toLowerCase(),
|
|
233
238
|
)
|
|
234
239
|
return bScore - aScore
|
|
235
240
|
})
|
|
@@ -245,7 +250,7 @@ export class MunicipalitySearch extends Component<Props, State> {
|
|
|
245
250
|
}
|
|
246
251
|
}
|
|
247
252
|
const notExactMatches = municipalities.filter(
|
|
248
|
-
(municipality: Municipality) => r.test(municipality.
|
|
253
|
+
(municipality: Municipality) => r.test(municipality[this.props.propertyToSearch ?? MunicipalitySearch.defaultProps.propertyToSearch]),
|
|
249
254
|
)
|
|
250
255
|
// We need to sort the results by relevance so "bern" is higher ranked than "berneck"
|
|
251
256
|
results = rankResults(sanitizedSearchTerm, notExactMatches).slice(
|