slick-table 1.1.43 → 1.1.44

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.
@@ -1,11 +1,12 @@
1
1
  #slick-table-autocomplete {
2
2
  background-color: white;
3
- z-index: 1;
4
- position: absolute;
5
- color: #1E456F;
6
3
  box-shadow: gray 0 0 5px 1px;
4
+ color: #1E456F;
7
5
  font-size: 0.75rem;
8
6
  max-height: 20em;
7
+ overflow-y: auto;
8
+ position: absolute;
9
+ z-index: 1;
9
10
 
10
11
  strong {
11
12
  color: rgb(0, 123, 255)
@@ -1,4 +1,4 @@
1
- export { Autocomplete, ColumnSorter, DateFormatter, DateValidator, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, EditorSelectWithSearch, EmptyStringValidator, FORMATTER_NUMBER, LengthValidator, PercentFormatter, StringFormatter, TotalCalculator, formatterCheckMark, formatterGroupTotals, getFormatterNumber, columnSorter, commitCurrentEdit, copySelectedRows, deleteRows, getDisplayedRows, getLastRow, getNextId, getUpdates, highlightCell, highlightColumns, hotKeysCopy, hotKeysDelete, hotKeysRedo, hotKeysUndo, isDeletionDangerous, onCellChange, onRowCountChanged, onRowsChanged, openContextMenu, printerCheckMark, selectedRows, useHotKeys, useListenIfTablesWereEdited, useUpdateTotal, wereEdited, } from './lib';
1
+ export { Autocomplete, ColumnSorter, DateFormatter, DateValidator, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, EmptyStringValidator, FORMATTER_NUMBER, LengthValidator, PercentFormatter, StringFormatter, TotalCalculator, formatterCheckMark, formatterGroupTotals, getFormatterNumber, columnSorter, commitCurrentEdit, copySelectedRows, deleteRows, getDisplayedRows, getLastRow, getNextId, getUpdates, highlightCell, highlightColumns, hotKeysCopy, hotKeysDelete, hotKeysRedo, hotKeysUndo, isDeletionDangerous, onCellChange, onRowCountChanged, onRowsChanged, openContextMenu, printerCheckMark, selectedRows, useHotKeys, useListenIfTablesWereEdited, useUpdateTotal, wereEdited, } from './lib';
2
2
  export { ColumnPicker, DownloadManager, DecoratorEndingDate, DecoratorFilter, DecoratorColumnFilter, DecoratorPeriod, DefaultHotKeys, DefaultPrinter, DeletedRowsFilter, Filter, HotKeysDecorator, PreventCopying, RedoUndoOnly, SlickTable, WithConfirmationOfDeletion, WithSummary, WithoutHotKeys, eventContextMenu, eventHeaderContextMenu, eventSummary, } from './model';
3
3
  export { SlickgridTable, WithTableStyles, columnCheckboxSelector, columnIsEdited, eventOpenColumnFilters, handleHeaderButtons, headerButtons, openColumnFilter, } from './ui';
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/slickgrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,UAAU,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACN,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,MAAM,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/shared/lib/slickgrid/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,oBAAoB,EACpB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,YAAY,EACZ,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,gBAAgB,EAChB,WAAW,EACX,aAAa,EACb,WAAW,EACX,WAAW,EACX,mBAAmB,EACnB,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,eAAe,EACf,gBAAgB,EAChB,YAAY,EACZ,UAAU,EACV,2BAA2B,EAC3B,cAAc,EACd,UAAU,GACV,MAAM,OAAO,CAAC;AACf,OAAO,EACN,YAAY,EACZ,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,MAAM,EACN,gBAAgB,EAChB,cAAc,EACd,YAAY,EACZ,UAAU,EACV,0BAA0B,EAC1B,WAAW,EACX,cAAc,EACd,gBAAgB,EAChB,sBAAsB,EACtB,YAAY,GACZ,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,cAAc,EACd,sBAAsB,EACtB,mBAAmB,EACnB,aAAa,EACb,gBAAgB,GAChB,MAAM,MAAM,CAAC"}
@@ -1,4 +1,3 @@
1
1
  export { Autocomplete } from './Autocomplete';
2
2
  export { EditorAutocomplete } from './EditorAutocomplete';
3
- export { EditorSelectWithSearch } from './EditorSelectWithSearch';
4
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/lib/editors/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/lib/editors/Autocomplete/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { EditorAmount } from './EditorAmount';
2
- export { Autocomplete, EditorAutocomplete, EditorSelectWithSearch, } from './Autocomplete';
2
+ export { Autocomplete, EditorAutocomplete } from './Autocomplete';
3
3
  export { EditorDate } from './EditorDate';
4
4
  export { EditorSelectString } from './EditorSelectString';
5
5
  export { EditorSelectNumber } from './EditorSelectNumber';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/slickgrid/lib/editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EACN,YAAY,EACZ,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../../src/shared/lib/slickgrid/lib/editors/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,gBAAgB,CAAC;AAClE,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC"}
@@ -3,7 +3,7 @@ export { openContextMenu } from './contextMenu';
3
3
  export { openHeaderContextMenu } from './header-context-menu';
4
4
  export { useHotKeys, useListenIfTablesWereEdited, useResizeCanvas, useUpdateTotal, } from './hooks';
5
5
  export { hotKeysCopy, hotKeysDelete, hotKeysOpenSummary, hotKeysRedo, hotKeysReverse, hotKeysUndo, nothingToCopy, positionToPaste, } from './hotKeys';
6
- export { Autocomplete, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, EditorSelectWithSearch, } from './editors';
6
+ export { Autocomplete, EditorAmount, EditorAutocomplete, EditorDate, EditorSelectString, EditorSelectNumber, } from './editors';
7
7
  export { FORMATTER_NUMBER, DateFormatter, formatterCheckMark, getFormatterNumber, PercentFormatter, StringFormatter, } from './formatters';
8
8
  export { commitCurrentEdit, copySelectedRows, deleteRows, getActiveRowId, getDisplayedRows, getLastRow, getNextId, isDeletionDangerous, wereEdited, } from './functions';
9
9
  export { formatterGroupTotals } from './grouping';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/slickgrid/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACN,UAAU,EACV,2BAA2B,EAC3B,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,EAClB,sBAAsB,GACtB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,eAAe,GACf,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/shared/lib/slickgrid/lib/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,oBAAoB,EACpB,YAAY,EACZ,iBAAiB,EACjB,aAAa,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EACN,UAAU,EACV,2BAA2B,EAC3B,eAAe,EACf,cAAc,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,WAAW,EACX,cAAc,EACd,WAAW,EACX,aAAa,EACb,eAAe,GACf,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,YAAY,EACZ,YAAY,EACZ,kBAAkB,EAClB,UAAU,EACV,kBAAkB,EAClB,kBAAkB,GAClB,MAAM,WAAW,CAAC;AACnB,OAAO,EACN,gBAAgB,EAChB,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,gBAAgB,EAChB,eAAe,GACf,MAAM,cAAc,CAAC;AACtB,OAAO,EACN,iBAAiB,EACjB,gBAAgB,EAChB,UAAU,EACV,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,SAAS,EACT,mBAAmB,EACnB,UAAU,GACV,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAC;AAClD,OAAO,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACvD,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EACN,aAAa,EACb,oBAAoB,EACpB,eAAe,GACf,MAAM,cAAc,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "slick-table",
3
- "version": "1.1.43",
3
+ "version": "1.1.44",
4
4
  "description": "Enhanced version of SlickGrid library",
5
5
  "private": false,
6
6
  "type": "module",
@@ -1,11 +1,12 @@
1
1
  #slick-table-autocomplete {
2
2
  background-color: white;
3
- z-index: 1;
4
- position: absolute;
5
- color: #1E456F;
6
3
  box-shadow: gray 0 0 5px 1px;
4
+ color: #1E456F;
7
5
  font-size: 0.75rem;
8
6
  max-height: 20em;
7
+ overflow-y: auto;
8
+ position: absolute;
9
+ z-index: 1;
9
10
 
10
11
  strong {
11
12
  color: rgb(0, 123, 255)
@@ -8,7 +8,6 @@ export {
8
8
  EditorDate,
9
9
  EditorSelectString,
10
10
  EditorSelectNumber,
11
- EditorSelectWithSearch,
12
11
  EmptyStringValidator,
13
12
  FORMATTER_NUMBER,
14
13
  LengthValidator,
@@ -1,3 +1,2 @@
1
1
  export { Autocomplete } from "./Autocomplete";
2
2
  export { EditorAutocomplete } from "./EditorAutocomplete";
3
- export { EditorSelectWithSearch } from "./EditorSelectWithSearch";
@@ -1,9 +1,5 @@
1
1
  export { EditorAmount } from "./EditorAmount";
2
- export {
3
- Autocomplete,
4
- EditorAutocomplete,
5
- EditorSelectWithSearch,
6
- } from "./Autocomplete";
2
+ export { Autocomplete, EditorAutocomplete } from "./Autocomplete";
7
3
  export { EditorDate } from "./EditorDate";
8
4
  export { EditorSelectString } from "./EditorSelectString";
9
5
  export { EditorSelectNumber } from "./EditorSelectNumber";
@@ -29,7 +29,6 @@ export {
29
29
  EditorDate,
30
30
  EditorSelectString,
31
31
  EditorSelectNumber,
32
- EditorSelectWithSearch,
33
32
  } from "./editors";
34
33
  export {
35
34
  FORMATTER_NUMBER,
@@ -1,16 +0,0 @@
1
- import { Column, EditorArguments, GridOption } from 'slickgrid';
2
- import { ISlickRow } from '../../../../../model/types';
3
- import { Autocomplete } from './Autocomplete';
4
- export declare class EditorSelectWithSearch<TData = any, C extends Column<TData> = Column<TData>, O extends GridOption<C> = GridOption<C>> extends Autocomplete {
5
- args: EditorArguments<TData, C, O>;
6
- protected hash: Record<string, string>;
7
- protected reversedHash: Record<string, string>;
8
- constructor(args: EditorArguments<TData, C, O>);
9
- applyValue(item: any, state: any): void;
10
- isValueChanged(): boolean;
11
- loadValue(item: ISlickRow): void;
12
- onInput(event: Event): void;
13
- onClick(event: MouseEvent): void;
14
- showOptions(search: string): void;
15
- }
16
- //# sourceMappingURL=EditorSelectWithSearch.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"EditorSelectWithSearch.d.ts","sourceRoot":"","sources":["../../../../../../../../src/shared/lib/slickgrid/lib/editors/Autocomplete/EditorSelectWithSearch.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,eAAe,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAGhE,OAAO,EAAW,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,qBAAa,sBAAsB,CAClC,KAAK,GAAG,GAAG,EACX,CAAC,SAAS,MAAM,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,EACvC,CAAC,SAAS,UAAU,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC,CACtC,SAAQ,YAAY;IAIF,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAHrD,SAAS,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;gBAE5B,IAAI,EAAE,eAAe,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;IAmBrD,UAAU,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,GAAG,IAAI;IAIvC,cAAc,IAAI,OAAO;IAUzB,SAAS,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAQhC,OAAO,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI;IAK3B,OAAO,CAAC,KAAK,EAAE,UAAU,GAAG,IAAI;IAKhC,WAAW,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAkBjC"}
@@ -1,85 +0,0 @@
1
- import { Column, EditorArguments, GridOption } from "slickgrid";
2
-
3
- import { escapeSpecialChar } from "shared/lib/regexp";
4
- import { IColumn, ISlickRow } from "shared/model/types";
5
-
6
- import { Autocomplete } from "./Autocomplete";
7
-
8
- export class EditorSelectWithSearch<
9
- TData = any,
10
- C extends Column<TData> = Column<TData>,
11
- O extends GridOption<C> = GridOption<C>,
12
- > extends Autocomplete {
13
- protected hash: Record<string, string>;
14
- protected reversedHash: Record<string, string>;
15
-
16
- constructor(public args: EditorArguments<TData, C, O>) {
17
- super();
18
- const column: IColumn = this.args.column;
19
- this.hash = column.selectOptions as Record<string, string>;
20
- this.reversedHash = Object.entries(this.hash).reduce(
21
- (acc: Record<string, string>, [key, value]) => {
22
- acc[value] = key;
23
- return acc;
24
- },
25
- {},
26
- );
27
- this.init();
28
- const item = this.args.item;
29
- const initialValue = item[column.field];
30
- if (!initialValue) {
31
- this.showOptions("");
32
- }
33
- }
34
-
35
- applyValue(item: any, state: any): void {
36
- item[this.args.column.field] = this.reversedHash[state];
37
- }
38
-
39
- isValueChanged(): boolean {
40
- if (!this.reversedHash[this.input.value]) {
41
- this.input.value = this.defaultValue;
42
- }
43
- return (
44
- !(this.input.value == "" && this.defaultValue == null) &&
45
- this.input.value != this.defaultValue
46
- );
47
- }
48
-
49
- loadValue(item: ISlickRow): void {
50
- this.defaultValue = this.hash[item[this.args.column.id]] || "";
51
- this.input.value = this.defaultValue;
52
- this.input.defaultValue = this.defaultValue;
53
- this.input.focus();
54
- this.input.select();
55
- }
56
-
57
- onInput(event: Event): void {
58
- this.closeAllList();
59
- this.currentFocus = -1;
60
- this.showOptions((event.target as HTMLInputElement).value);
61
- }
62
- onClick(event: MouseEvent): void {
63
- const div = (event.target as HTMLElement).closest("div") as HTMLDivElement;
64
- this.input.value = this.hash[div.getElementsByTagName("input")[0].value];
65
- this.closeAllList();
66
- }
67
- showOptions(search: string): void {
68
- this.createList();
69
- Object.entries(this.hash).forEach(([key, value]) => {
70
- const hasOverlap = value.match(
71
- new RegExp(escapeSpecialChar(search), "i"),
72
- );
73
- if (hasOverlap) {
74
- const overlap = hasOverlap[0];
75
- const listItem = document.createElement("div");
76
- listItem.innerHTML = `${value.replaceAll(overlap, `<strong>${overlap}</strong>`)}`;
77
- // insert an input field that will hold the current array item's value
78
- listItem.innerHTML += `<input type="hidden" value="${key}">`;
79
- listItem.addEventListener("click", this.onClick.bind(this));
80
- this.list?.appendChild(listItem);
81
- }
82
- });
83
- this.makeVisible();
84
- }
85
- }