Commit Graph

1007 Commits

Author SHA1 Message Date
Nebojsa Vuksic
ae6d343913 Add a context menu for location items and add remove location functionality 2025-08-12 23:12:39 +02:00
Yuriy Artamonov
443883d7e4 Vendor of the plugin should not be JetBrains
This is error-prone and might lead to plugins submitted on behalf of JetBrains by 3rd-party developers
2025-08-10 15:10:04 +02:00
Nebojsa Vuksic
2f75a29193
Add Weather App Sample to showcase Jewel usages 2025-08-08 14:28:26 +02:00
Nebojsa Vuksic
a682e6dc25 Refactor: Replace ContentItemRow with simplified SimpleListItem in locations list rendering 2025-08-08 00:33:05 +02:00
Nebojsa Vuksic
222a296868 Move WeatherAppViewModel to ui package 2025-08-07 17:48:35 +02:00
Nebojsa Vuksic
4167fae9d7 Refactor: Simplify location state management by introducing LocationsUIState and updating related ViewModel and UI logic 2025-08-07 17:46:13 +02:00
Nebojsa Vuksic
8bb804c683 Add the LocationsUIState class for managing location selection logic. 2025-08-07 17:41:20 +02:00
Nebojsa Vuksic
d62e8e9594 Introduce loading, error and success state for weather forecast loading scenario. 2025-08-07 15:27:10 +02:00
Nebojsa Vuksic
4824b28177 Increase network simulation delay in WeatherForecastService to 3000ms for showcasing scenarios. 2025-08-07 15:06:16 +02:00
Nebojsa Vuksic
cf248aa19b Add PulsingText Composable for animated text appearance in loading scenarios 2025-08-07 14:55:36 +02:00
Nebojsa Vuksic
54ca91fea4 Cancel ongoing weather forecast job before launching a new one to prevent duplicate requests 2025-08-07 11:59:03 +02:00
Nebojsa Vuksic
de0692bba6 Only reload weather data for location if the location weather forecast isn't already previewed 2025-08-07 11:59:03 +02:00
Nebojsa Vuksic
015bd0426c Refactor: Make ViewModel APIs Disposable and rename cancel to dispose for cleanup consistency 2025-08-07 11:59:03 +02:00
Nebojsa Vuksic
9591bc93f3 Refactor: Rename MyLocationsViewModel to WeatherAppViewModel and update references accordingly 2025-08-07 10:42:34 +02:00
Nebojsa Vuksic
c137351389 Properly scope the coroutine scope of the WeatherAppSample
ViewModel's scope is now tied to the scope of a WeatherAppSample Composable. Once WeatherAppSample Composable exits the composition tree, the used view model coroutine scope will be disposed.
2025-08-07 10:42:34 +02:00
Nebojsa Vuksic
85f3a32137 Refactor: Convert WeatherForecastService to an interface-based implementation and improve coroutine handling 2025-08-07 10:05:51 +02:00
Nebojsa Vuksic
4673a445bf Fix: Autocomplete popup confirms the last selected item instead of clicked one 2025-08-07 09:57:53 +02:00
Nebojsa Vuksic
a205391e0a Add CoroutineScopeHolder service for project-wide coroutine management 2025-08-07 09:57:53 +02:00
Nebojsa Vuksic
a079747d44 Fix: Remove trailing '%' from weather.app.time.text in ComposeTemplate properties 2025-08-06 18:08:38 +02:00
Nebojsa Vuksic
ccd0a7a0b1 Refactor: Remove unused setContentWrappedInTheme extension function 2025-08-05 23:54:46 +02:00
Nebojsa Vuksic
f25ee25399 Make WeatherDetailsCard vertically scrollable and add safeContentPadding 2025-08-05 12:41:19 +02:00
Nebojsa Vuksic
11dfe41249 Refactor: Rename MyToolWindowFactory to ComposeSamplesToolWindowFactory and update related plugin.xml references 2025-08-01 13:36:13 +02:00
Nebojsa Vuksic
53b4a2cb55 Bump IntelliJ Platform version to 2025.1.4.1 2025-08-01 13:31:20 +02:00
Nebojsa Vuksic
b603edf110 Use localized string for weather time display in WeatherDetailsCard 2025-08-01 13:18:33 +02:00
Nebojsa Vuksic
376292e5f8 Refactor: Replace id with label for improved naming clarity 2025-08-01 13:18:06 +02:00
Nebojsa Vuksic
324fea18bf Add documentation for PreviewableItem interface 2025-08-01 13:00:41 +02:00
Nebojsa Vuksic
ef4e5c8c6c Refactor: Rename isSearchApplicable to matches for clarity and consistency 2025-08-01 13:00:03 +02:00
Nebojsa Vuksic
8fe4926fb7 Drop 'internal' modifier for readability and shortness of examples 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
edb8fb0b28 Properly notify parents when SearchBarWithAutoCompletion text field text is cleared 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
cb6c908769 Refactor: Improve completion handling logic in SearchBarWithAutoCompletion 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
5b4ff635c4 Use localized content description for Clear button icon 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
80a485b4bd Remove unnecessary PopupMenu modifiers 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
7996e74e24 Refactor: Introduce isInputFieldEmpty for clarity in SearchBarWithAutoCompletion 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
2eb729d331 Remove unnecessary content description in SearchBarWithAutoCompletion icon 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
267f35bbbc Replace onGloballyPositioned with onSizeChanged in SearchBarWithAutoCompletion 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
0657ead6a5 Remove unnecessary Column usage 2025-08-01 12:57:39 +02:00
Nebojsa Vuksic
5bae830655 Cleanup SearchBarWithAutoCompletion function parameters 2025-08-01 12:57:39 +02:00
Yuriy Artamonov
e0f7948ef3 Drop UI Tests from README 2025-07-31 22:36:29 +02:00
Yuriy Artamonov
6d3e01cf73 Drop Qodana so far to simplify the template 2025-07-31 22:34:22 +02:00
Yuriy Artamonov
30324e56bb Fix template-cleanup properties 2025-07-31 22:31:11 +02:00
Yuriy Artamonov
b260f852cb Set until-build to unlimited 2025-07-31 22:27:48 +02:00
Yuriy Artamonov
b8f8fa3841 Fix template repository URL 2025-07-31 22:27:15 +02:00
Yuriy Artamonov
3f81ef1113 Update Gradle versions 2025-07-31 22:24:05 +02:00
Nebojsa Vuksic
a6435ba771 Refactor: Replace the param type 'LocationsProvider' with 'SearchAutoCompletionItemProvider' 2025-07-31 15:38:38 +02:00
Nebojsa Vuksic
25d2d25132 Extract ComposeBasedTestCase class for setting up Compose test 2025-07-31 15:33:49 +02:00
Nebojsa Vuksic
45ef9a28da Add additional test cases for MyLocationsList 2025-07-31 15:01:00 +02:00
Nebojsa Vuksic
e791d63d22 Add an empty list placeholder for MyLocationsList 2025-07-31 14:25:12 +02:00
Nebojsa Vuksic
88c1d4b4bd Add test dependencies and update libraries in build files 2025-07-31 14:12:51 +02:00
Nebojsa Vuksic
54e147242e Extract MyLocations Widget to a separate function 2025-07-31 10:45:24 +02:00
Nebojsa Vuksic
3dcefe6fed Fix: Preselecting location in MyLocations list 2025-07-30 14:33:53 +02:00