added button for save and edit
This commit is contained in:
@ -20,6 +20,8 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
private lateinit var textView: TextView
|
||||
private lateinit var buttonContainer: LinearLayout
|
||||
private lateinit var buttonLoad: Button
|
||||
private lateinit var saveButton: Button
|
||||
private lateinit var editButton: Button
|
||||
|
||||
private val dynamicButtons = mutableListOf<Button>()
|
||||
private val questionnaireFiles = mutableMapOf<Button, String>()
|
||||
@ -36,6 +38,8 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
|
||||
setupLanguageSpinner()
|
||||
setupLoadButton()
|
||||
setupSaveButton()
|
||||
setupEditButton()
|
||||
|
||||
if (!editText.text.isNullOrBlank()) {
|
||||
buttonLoad.performClick()
|
||||
@ -48,6 +52,8 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
textView = activity.findViewById(R.id.textView)
|
||||
buttonContainer = activity.findViewById(R.id.buttonContainer)
|
||||
buttonLoad = activity.findViewById(R.id.loadButton)
|
||||
saveButton = activity.findViewById(R.id.saveButton)
|
||||
editButton = activity.findViewById(R.id.editButton)
|
||||
|
||||
val tag = editText.tag as? String ?: ""
|
||||
editText.hint = LanguageManager.getText(languageID, tag)
|
||||
@ -154,13 +160,7 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
return
|
||||
}
|
||||
|
||||
val isDatabaseView = inputText.endsWith("_database")
|
||||
val isChangeView = inputText.endsWith("_change")
|
||||
|
||||
// Extrahiere nur den echten Code, ohne die Suffixe
|
||||
val clientCode = inputText
|
||||
.removeSuffix("_database")
|
||||
.removeSuffix("_change")
|
||||
|
||||
GlobalValues.LAST_CLIENT_CODE = clientCode
|
||||
|
||||
@ -176,16 +176,7 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
}
|
||||
|
||||
withContext(Dispatchers.Main) {
|
||||
// Normales Laden
|
||||
handleNormalLoad(clientCode)
|
||||
|
||||
// Erweiterungen bei speziellen Suffixen
|
||||
if (isDatabaseView) {
|
||||
showCompletedQuestionnaires(clientCode)
|
||||
enableCompletedQuestionnaireButtons(clientCode)
|
||||
} else if (isChangeView) {
|
||||
enableCompletedQuestionnaireButtons(clientCode)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -517,4 +508,56 @@ class HandlerOpeningScreen(private val activity: MainActivity) {
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
private fun setupSaveButton() {
|
||||
saveButton.text = LanguageManager.getText(languageID, "save")
|
||||
saveButton.setOnClickListener {
|
||||
val clientCode = editText.text.toString().trim()
|
||||
if (clientCode.isBlank()) {
|
||||
val message = LanguageManager.getText(languageID, "please_client_code")
|
||||
Toast.makeText(activity, message, Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
GlobalValues.LAST_CLIENT_CODE = clientCode
|
||||
showCompletedQuestionnaires(clientCode)
|
||||
}
|
||||
}
|
||||
|
||||
private fun setupEditButton() {
|
||||
editButton.text = LanguageManager.getText(languageID, "edit")
|
||||
editButton.setOnClickListener {
|
||||
val clientCode = editText.text.toString().trim()
|
||||
if (clientCode.isBlank()) {
|
||||
val message = LanguageManager.getText(languageID, "please_client_code")
|
||||
Toast.makeText(activity, message, Toast.LENGTH_SHORT).show()
|
||||
return@setOnClickListener
|
||||
}
|
||||
|
||||
GlobalValues.LAST_CLIENT_CODE = clientCode
|
||||
|
||||
CoroutineScope(Dispatchers.IO).launch {
|
||||
val completedEntries = MyApp.database.completedQuestionnaireDao().getAllForClient(clientCode)
|
||||
val completedFiles = completedEntries
|
||||
.filter { it.isDone }
|
||||
.map { it.questionnaireId.lowercase() }
|
||||
|
||||
buttonPoints.clear()
|
||||
for (entry in completedEntries) {
|
||||
if (entry.isDone) {
|
||||
buttonPoints[entry.questionnaireId] = entry.sumPoints ?: 0
|
||||
}
|
||||
}
|
||||
|
||||
withContext(Dispatchers.Main) {
|
||||
updateButtonTexts()
|
||||
|
||||
val enabledButtons = questionnaireFiles.filter { (_, fileName) ->
|
||||
completedFiles.any { completedId -> fileName.lowercase().contains(completedId) }
|
||||
}.keys.toList()
|
||||
|
||||
setButtonsEnabled(enabledButtons)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user