fun forceUi()

in plugins/toolkit/jetbrains-core/src/software/aws/toolkits/jetbrains/services/lambda/sam/sync/SyncServerlessApplicationDialog.kt [373:438]


    fun forceUi(
        panel: DialogPanel,
        isCreateStack: Boolean? = null,
        hasImageFunctions: Boolean? = null,
        stacks: List<StackSummary>? = null,
        buckets: List<String>? = null,
        ecrRepos: List<Repository>? = null,
        forceStackName: Boolean = false,
        stackName: String? = null,
        forceBucket: Boolean = false,
        bucket: String? = null,
        forceEcrRepo: Boolean = false,
        ecrRepo: String? = null,
        useContainer: Boolean? = null,
    ) {
        if (stacks != null) {
            stackSelector.model = MutableCollectionComboBoxModel(stacks)
            stackSelector.forceLoaded()
        }

        if (isCreateStack == true) {
            syncType = SyncType.CREATE
            stackNameField.isEnabled = true
            stackSelector.isEnabled = false
        } else if (isCreateStack == false) {
            syncType = SyncType.UPDATE
            stackNameField.isEnabled = false
            stackSelector.isEnabled = true
        }

        if (forceStackName || stackName != null) {
            if (syncType == SyncType.CREATE) {
                newStackName = stackName.orEmpty()
            } else {
                stackSelector.selectedItem = stacks?.first { it.stackName() == stackName }
            }
        }

        if (buckets != null) {
            s3BucketSelector.model = MutableCollectionComboBoxModel(buckets)
            s3BucketSelector.forceLoaded()
        }

        if (forceBucket || bucket != null) {
            s3BucketSelector.selectedItem = bucket
        }

        if (ecrRepos != null) {
            ecrRepoSelector.model = MutableCollectionComboBoxModel(ecrRepos)
            ecrRepoSelector.forceLoaded()
        }

        if (hasImageFunctions != null) {
            showImageOptions = hasImageFunctions
        }

        if (forceEcrRepo || ecrRepo != null) {
            ecrRepoSelector.selectedItem = ecrRepo
        }

        if (useContainer != null) {
            this.useContainer = useContainer
        }

        panel.reset()
    }