diff --git a/src/web/src/modules/components/database_index/database_index.model.ts b/src/web/src/modules/components/database_index/database_index.model.ts index b315a7e..8f49f47 100644 --- a/src/web/src/modules/components/database_index/database_index.model.ts +++ b/src/web/src/modules/components/database_index/database_index.model.ts @@ -7,6 +7,7 @@ export class DatabaseIndexModel extends Model { state() { return { inputValue: '' as string | number, + inputType: 'int', }; } @@ -14,5 +15,8 @@ export class DatabaseIndexModel extends Model { setInpueValue: (value: string | number) => { this.model.inputValue = value; }, + setInputType: (value: string) => { + this.model.inputType = value; + }, } } diff --git a/src/web/src/modules/components/database_index/database_index.ts b/src/web/src/modules/components/database_index/database_index.ts index face893..1bef951 100644 --- a/src/web/src/modules/components/database_index/database_index.ts +++ b/src/web/src/modules/components/database_index/database_index.ts @@ -23,11 +23,12 @@ export class DatabaseIndex extends BI.Widget { render() { const { value, inputType } = this.options; this.store.setInpueValue(value); + this.store.setInputType(inputType); return { type: TabXtype, single: true, - showIndex: inputType, + showIndex: this.model.inputType, ref: (_ref: any) => { this.databaseIndexTab = _ref; }, @@ -68,6 +69,7 @@ export class DatabaseIndex extends BI.Widget { public setSelect(value: string) { this.databaseIndexTab.setSelect(value); + this.store.setInputType(value); if (value === 'formula') { openFormulaPopover({ formula: this.model.inputValue === 0 ? '' : this.model.inputValue as string, @@ -79,6 +81,6 @@ export class DatabaseIndex extends BI.Widget { } public getValue() { - return this.model.inputValue; + return this.model.inputType === 'int' ? parseInt(`${this.model.inputValue}`, 10) : this.model.inputValue; } }