Commit Graph

1020 Commits

Author SHA1 Message Date
Yuriy Artamonov
bc0c159668 Simplify ToolWindowFactory.createToolWindowContent implementation with more explicit ViewModel instantiation 2025-08-30 10:26:46 +02:00
Yuriy Artamonov
5d5ef16235 Fix subclassing of DynamicBundle in ComposeTemplateBundle
It is not recommended
2025-08-30 10:16:32 +02:00
Yuriy Artamonov
b32e3fee01 Unused import in build.gradle.kts 2025-08-30 10:10:53 +02:00
Yuriy Artamonov
3fe1fff225 Update icon and template name 2025-08-30 10:08:58 +02:00
Nebojsa Vuksic
7428915099 Change Template Cleanup workflow trigger to manual execution only 2025-08-28 16:54:32 +02:00
Nebojsa Vuksic
20618b7d40 Revert "Template cleanup"
This reverts commit 3465916872.
2025-08-28 16:54:07 +02:00
GitHub Action
3465916872 Template cleanup 2025-08-28 14:48:30 +00:00
Nebojsa Vuksic
b0ec980922
Merge pull request #2 from JetBrains/samples/weather-app-remove-location
Add a context menu for location items and add remove location functio…
2025-08-28 16:33:40 +02:00
Nebojsa Vuksic
f81055ec9f Add skikoAwtRuntimeAll dependency for testing 2025-08-28 16:23:58 +02:00
Nebojsa Vuksic
d6bec6e21c Add UI test to verify adding and removing locations in WeatherApp 2025-08-27 15:10:59 +02:00
Nebojsa Vuksic
8709e7cf8a Configure opt-in androidx.compose.foundation.ExperimentalFoundationApi compiler option on a module level 2025-08-27 14:25:04 +02:00
Nebojsa Vuksic
a8077cda6b
Simplify Jewel / Compose setup in plugin.xml by using 'intellij.platform.compose' umbrella module
Simplify Jewel / Compose setup in plugin.xml by using 'intellij.platform.compose' umbrella module
2025-08-27 13:49:53 +02:00
Nebojsa Vuksic
74e57b8692 Simplify dependencies in plugin.xml by replacing multiple Jewel modules with intellij.platform.compose umbrella module 2025-08-27 13:47:30 +02:00
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