diff --git a/src/jsMain/kotlin/datasources/GSheet.kt b/src/jsMain/kotlin/datasources/GSheet.kt index 08c689e2e5ee0daace6917272cbb024fae6faa1b..387b763f080172b67db8229c8691a1bcbd5706e6 100644 --- a/src/jsMain/kotlin/datasources/GSheet.kt +++ b/src/jsMain/kotlin/datasources/GSheet.kt @@ -9,17 +9,17 @@ import pekstuff.trimAsPrinciple import kotlin.coroutines.resume import kotlin.coroutines.suspendCoroutine -class GSheet private constructor(sheet: sheets.Spreadsheet): DataSource, NoteDataSource { +class GSheet private constructor(sheet: sheets.Spreadsheet, sheetNum: Int = 0): DataSource, NoteDataSource { companion object { private val filterList = listOf( "szumma", "színes belépő" ) - suspend fun new(url: String): GSheet { + suspend fun new(url: String, sheetNum: Int = 0): GSheet { if (!isSignedIn) throw Error("You must sign in to get gapi.sheets") val sheet = getSheetFromUrl(url) window.asDynamic().test = sheet - return GSheet(sheet) + return GSheet(sheet, sheetNum) } @NoLiveLiterals @@ -36,7 +36,7 @@ class GSheet private constructor(sheet: sheets.Spreadsheet): DataSource, NoteDat } } - private val rows = sheet.sheets!![0].data!![0].rowData!! + private val rows = sheet.sheets!![sheetNum].data!![0].rowData!! private val principleIndexes = rows[0].values!!.mapIndexed { i, data -> (data.formattedValue?.trimAsPrinciple() ?: "") to i diff --git a/src/jsMain/kotlin/ui/SheetsModal.kt b/src/jsMain/kotlin/ui/SheetsModal.kt index 23777305437b7fe585f72e79f77745acb1a5daab..537931cd812524c93fcce1a505e2e6e2b214decf 100644 --- a/src/jsMain/kotlin/ui/SheetsModal.kt +++ b/src/jsMain/kotlin/ui/SheetsModal.kt @@ -37,6 +37,7 @@ private object SheetsModal: ModalType { } var sheetUrl by remember { mutableStateOf("") } + var sheetNum by remember { mutableStateOf(1) } var sheet by remember { mutableStateOf<GSheet?>(null) } setHint( @@ -86,13 +87,26 @@ private object SheetsModal: ModalType { value(sheetUrl) }) } + withLabel("Hányadik sheet (fül)") { id -> + Input(type = InputType.Number, attrs = { + id(id) + classes("uk-input") + onInput { + sheetNum = it.value?.toInt() ?: return@onInput + if (sheetNum <= 0) { + sheetNum = 1 + } + } + value(sheetNum) + }) + } Hr { } divFloatRight { Button({ classes("uk-button", "uk-button-primary") onClick { scope.launch { - sheet = GSheet.new(sheetUrl) + sheet = GSheet.new(sheetUrl, sheetNum-1) sheet?.process { setState(ImportInProgress(it)) } setState(Ready) }