This commit is contained in:
InsanusMokrassar 2021-09-04 19:34:24 +06:00
parent 0dbe3a866b
commit ac87a140cc
9 changed files with 28 additions and 33 deletions

View File

@ -30,19 +30,19 @@ suspend fun HttpClient.getLicenses(): Map<String, License> {
suspend fun HttpClient.searchLicense(name: String): List<License> { suspend fun HttpClient.searchLicense(name: String): List<License> {
val licenses = licenses ?: getLicenses() val licenses = licenses ?: getLicenses()
val lowerCase = name.toLowerCase() val lowerCase = name.lowercase()
val upperCase = name.toUpperCase() val upperCase = name.uppercase()
return licenses.values.filter { return licenses.values.filter {
it.title.toLowerCase().contains(lowerCase) || it.title.toUpperCase().contains(upperCase) || it.title.contains(name) it.title.lowercase().contains(lowerCase) || it.title.uppercase().contains(upperCase) || it.title.contains(name)
|| it.id.toLowerCase().contains(lowerCase) || it.id.toUpperCase().contains(upperCase) || it.id.contains(name) || it.id.lowercase().contains(lowerCase) || it.id.uppercase().contains(upperCase) || it.id.contains(name)
} }
} }
fun Map<String, License>.searchLicense(name: String): List<License> { fun Map<String, License>.searchLicense(name: String): List<License> {
val lowerCase = name.toLowerCase() val lowerCase = name.lowercase()
val upperCase = name.toUpperCase() val upperCase = name.uppercase()
return values.filter { return values.filter {
it.title.toLowerCase().contains(lowerCase) || it.title.toUpperCase().contains(upperCase) || it.title.contains(name) it.title.lowercase().contains(lowerCase) || it.title.uppercase().contains(upperCase) || it.title.contains(name)
|| it.id.toLowerCase().contains(lowerCase) || it.id.toUpperCase().contains(upperCase) || it.id.contains(name) || it.id.lowercase().contains(lowerCase) || it.id.uppercase().contains(upperCase) || it.id.contains(name)
} }
} }

View File

@ -3,12 +3,14 @@ package dev.inmo.kmppscriptbuilder.desktop
import androidx.compose.desktop.Window import androidx.compose.desktop.Window
import androidx.compose.foundation.* import androidx.compose.foundation.*
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.material.* import androidx.compose.material.Colors
import androidx.compose.material.MaterialTheme
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color import androidx.compose.ui.graphics.Color
import dev.inmo.kmppscriptbuilder.desktop.utils.* import dev.inmo.kmppscriptbuilder.desktop.utils.init
import dev.inmo.kmppscriptbuilder.desktop.views.* import dev.inmo.kmppscriptbuilder.desktop.utils.loadConfigFile
import dev.inmo.kmppscriptbuilder.desktop.views.BuilderView
import java.io.File import java.io.File
//private val uncaughtExceptionsBC = BroadcastChannel<DefaultErrorHandler.ErrorEvent>(Channel.CONFLATED) //private val uncaughtExceptionsBC = BroadcastChannel<DefaultErrorHandler.ErrorEvent>(Channel.CONFLATED)

View File

@ -1,7 +1,6 @@
package dev.inmo.kmppscriptbuilder.desktop.utils package dev.inmo.kmppscriptbuilder.desktop.utils
import java.awt.Desktop import java.awt.Desktop
import java.lang.Exception
import java.net.URI import java.net.URI
fun openLink(link: String): Boolean { fun openLink(link: String): Boolean {

View File

@ -6,18 +6,10 @@ import androidx.compose.foundation.layout.*
import androidx.compose.material.* import androidx.compose.material.*
import androidx.compose.runtime.* import androidx.compose.runtime.*
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.asImageBitmap import androidx.compose.ui.res.painterResource
import androidx.compose.ui.platform.DesktopPlatform
import androidx.compose.ui.res.loadSvgResource
import androidx.compose.ui.res.svgResource
import androidx.compose.ui.unit.Density
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import dev.inmo.kmppscriptbuilder.core.models.Config import dev.inmo.kmppscriptbuilder.core.models.Config
import dev.inmo.kmppscriptbuilder.desktop.utils.* import dev.inmo.kmppscriptbuilder.desktop.utils.*
import dev.inmo.micro_utils.coroutines.safelyWithoutExceptions
import java.awt.Desktop
import java.lang.Exception
import java.net.URL
class BuilderView : View() { class BuilderView : View() {
private val projectTypeView = ProjectTypeView() private val projectTypeView = ProjectTypeView()
@ -53,7 +45,7 @@ class BuilderView : View() {
} }
) { ) {
Image( Image(
painter = svgResource("images/open_file.svg"), painter = painterResource("images/open_file.svg"),
contentDescription = "Open file" contentDescription = "Open file"
) )
} }
@ -65,7 +57,7 @@ class BuilderView : View() {
} }
) { ) {
Image( Image(
painter = svgResource("images/save_file.svg"), painter = painterResource("images/save_file.svg"),
contentDescription = "Save file" contentDescription = "Save file"
) )
} }
@ -78,7 +70,7 @@ class BuilderView : View() {
} }
) { ) {
Image( Image(
painter = svgResource("images/export_gradle.svg"), painter = painterResource("images/export_gradle.svg"),
contentDescription = "Export Gradle script" contentDescription = "Export Gradle script"
) )
} }
@ -92,7 +84,7 @@ class BuilderView : View() {
} }
) { ) {
Image( Image(
painter = svgResource("images/save_as.svg"), painter = painterResource("images/save_as.svg"),
contentDescription = "Export Gradle script" contentDescription = "Export Gradle script"
) )
} }
@ -108,4 +100,4 @@ class BuilderView : View() {
} }
} }
} }
} }

View File

@ -2,7 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
import androidx.compose.runtime.* import androidx.compose.runtime.*
import dev.inmo.kmppscriptbuilder.core.models.Developer import dev.inmo.kmppscriptbuilder.core.models.Developer
import dev.inmo.kmppscriptbuilder.desktop.utils.* import dev.inmo.kmppscriptbuilder.desktop.utils.CommonTextField
class DeveloperState( class DeveloperState(
id: String = "", id: String = "",

View File

@ -53,7 +53,7 @@ class LicensesView: VerticalView("Licenses") {
licensesOffersToShow.clear() licensesOffersToShow.clear()
if (licenseSearchFilter.isNotEmpty()) { if (licenseSearchFilter.isNotEmpty()) {
licensesOffersToShow.addAll( licensesOffersToShow.addAll(
availableLicensesState.filter { filterText.all { symbol -> symbol.toLowerCase() in it.title } } availableLicensesState.filter { filterText.all { symbol -> symbol.lowercaseChar() in it.title } }
) )
} }
} }

View File

@ -1,11 +1,13 @@
package dev.inmo.kmppscriptbuilder.desktop.views package dev.inmo.kmppscriptbuilder.desktop.views
import androidx.compose.foundation.layout.* import androidx.compose.foundation.layout.*
import androidx.compose.material.* import androidx.compose.material.Button
import androidx.compose.runtime.* import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateListOf
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import dev.inmo.kmppscriptbuilder.desktop.utils.* import dev.inmo.kmppscriptbuilder.desktop.utils.CommonText
import dev.inmo.kmppscriptbuilder.desktop.utils.VerticalView
abstract class ListView<T>(title: String) : VerticalView(title) { abstract class ListView<T>(title: String) : VerticalView(title) {
protected val itemsList = mutableStateListOf<T>() protected val itemsList = mutableStateListOf<T>()

View File

@ -2,7 +2,7 @@ package dev.inmo.kmppscriptbuilder.desktop.views
import androidx.compose.runtime.* import androidx.compose.runtime.*
import dev.inmo.kmppscriptbuilder.core.models.MavenPublishingRepository import dev.inmo.kmppscriptbuilder.core.models.MavenPublishingRepository
import dev.inmo.kmppscriptbuilder.desktop.utils.* import dev.inmo.kmppscriptbuilder.desktop.utils.CommonTextField
class RepositoryState( class RepositoryState(
name: String = "", name: String = "",

View File

@ -6,7 +6,7 @@ kotlin.incremental.js=true
android.useAndroidX=true android.useAndroidX=true
android.enableJetifier=true android.enableJetifier=true
kotlin_version=1.5.30 kotlin_version=1.5.21
kotlin_coroutines_version=1.5.2 kotlin_coroutines_version=1.5.2
kotlin_serialisation_core_version=1.2.2 kotlin_serialisation_core_version=1.2.2
ktor_version=1.6.3 ktor_version=1.6.3