Skip to content

Commit

Permalink
Browse curated sample events aws#106
Browse files Browse the repository at this point in the history
Add new view, treeDataProvider and placeholder nodes
  • Loading branch information
acguglielmo committed Jan 11, 2019
1 parent 747a764 commit 12def03
Show file tree
Hide file tree
Showing 8 changed files with 58 additions and 5 deletions.
4 changes: 4 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,10 @@
{
"id": "lambda",
"name": "%AWS.lambda.explorerTitle%"
},
{
"id": "sampleEvents",
"name": "%AWS.sampleEvents.explorerTitle%"
}
]
},
Expand Down
1 change: 1 addition & 0 deletions package.nls.json
Original file line number Diff line number Diff line change
Expand Up @@ -82,6 +82,7 @@
"AWS.samcli.userChoice.browse": "Locate SAM CLI...",
"AWS.samcli.userChoice.visit.install.url": "Get SAM CLI",
"AWS.samcli.userChoice.update.awstoolkit.url": "Update AWS Toolkit",
"AWS.sampleEvents.explorerTitle": "Sample Lambda Event Manager",
"AWS.generic.response.no": "No",
"AWS.generic.response.yes": "Yes"
}
4 changes: 3 additions & 1 deletion src/extension.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ import * as nls from 'vscode-nls'
import { RegionNode } from './lambda/explorer/regionNode'
import { LambdaTreeDataProvider } from './lambda/lambdaTreeDataProvider'
import { NodeDebugConfigurationProvider } from './lambda/local/debugConfigurationProvider'
import { SampleEventsTreeDataProvider } from './lambda/sampleEventsTreeDataProvider'
import { DefaultAWSClientBuilder } from './shared/awsClientBuilder'
import { AwsContextTreeCollection } from './shared/awsContextTreeCollection'
import { DefaultToolkitClientBuilder } from './shared/clients/defaultToolkitClientBuilder'
Expand Down Expand Up @@ -70,7 +71,8 @@ export async function activate(context: vscode.ExtensionContext) {
)

const providers = [
new LambdaTreeDataProvider(awsContext, awsContextTrees, regionProvider, resourceFetcher)
new LambdaTreeDataProvider(awsContext, awsContextTrees, regionProvider, resourceFetcher),
new SampleEventsTreeDataProvider(awsContextTrees)
]

providers.forEach((p) => {
Expand Down
2 changes: 1 addition & 1 deletion src/lambda/explorer/cloudFormationNodes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ import { CloudFormationClient } from '../../shared/clients/cloudFormationClient'
import { LambdaClient } from '../../shared/clients/lambdaClient'
import { ext } from '../../shared/extensionGlobals'
import { AWSTreeNodeBase } from '../../shared/treeview/awsTreeNodeBase'
import { PlaceholderNode } from '../../shared/treeview/placeholderNode'
import {
intersection,
toArrayAsync,
Expand All @@ -23,7 +24,6 @@ import {
} from '../../shared/utilities/collectionUtils'
import { listCloudFormationStacks, listLambdaFunctions } from '../utils'
import { FunctionNodeBase } from './functionNode'
import { PlaceholderNode } from './placeholderNode'
import { RegionNode } from './regionNode'

export interface CloudFormationNode extends AWSTreeNodeBase {
Expand Down
46 changes: 46 additions & 0 deletions src/lambda/sampleEventsTreeDataProvider.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
/*!
* Copyright 2018 Amazon.com, Inc. or its affiliates. All Rights Reserved.
* SPDX-License-Identifier: Apache-2.0
*/

'use strict'

import * as vscode from 'vscode'
import { AwsContextTreeCollection } from '../shared/awsContextTreeCollection'
import { AWSTreeNodeBase } from '../shared/treeview/awsTreeNodeBase'
import { RefreshableAwsTreeProvider } from '../shared/treeview/awsTreeProvider'
import { PlaceholderNode } from '../shared/treeview/placeholderNode'

export class SampleEventsTreeDataProvider
implements vscode.TreeDataProvider<AWSTreeNodeBase>, RefreshableAwsTreeProvider {

public viewProviderId: string = 'sampleEvents'
public readonly onDidChangeTreeData: vscode.Event<AWSTreeNodeBase | undefined>
private readonly _onDidChangeTreeData: vscode.EventEmitter<AWSTreeNodeBase | undefined>

public constructor(
private readonly awsContextTrees: AwsContextTreeCollection) {
this._onDidChangeTreeData = new vscode.EventEmitter<AWSTreeNodeBase | undefined>()
this.onDidChangeTreeData = this._onDidChangeTreeData.event
}

public initialize(): void {

this.awsContextTrees.addTree(this)
}

public getTreeItem(element: AWSTreeNodeBase): vscode.TreeItem {
return element
}

public async getChildren(element?: AWSTreeNodeBase): Promise<AWSTreeNodeBase[]> {
return Promise.resolve([
new PlaceholderNode(this, 'Curated Events'),
new PlaceholderNode(this, 'Custom Events'),
])
}

public refresh(node?: AWSTreeNodeBase) {
this._onDidChangeTreeData.fire(node)
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

'use strict'

import { AWSTreeNodeBase } from '../../shared/treeview/awsTreeNodeBase'
import { AWSTreeNodeBase } from './awsTreeNodeBase'

// Can be used to add a child node in an explorer when a region has no resources
// relevant to the explorer type.
Expand Down
2 changes: 1 addition & 1 deletion src/test/lambda/explorer/cloudFormationNodes.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -15,11 +15,11 @@ import {
DefaultCloudFormationStackNode
} from '../../../lambda/explorer/cloudFormationNodes'
import { DefaultRegionNode } from '../../../lambda/explorer/defaultRegionNode'
import { PlaceholderNode } from '../../../lambda/explorer/placeholderNode'
import { CloudFormationClient } from '../../../shared/clients/cloudFormationClient'
import { LambdaClient } from '../../../shared/clients/lambdaClient'
import { ext } from '../../../shared/extensionGlobals'
import { RegionInfo } from '../../../shared/regions/regionInfo'
import { PlaceholderNode } from '../../../shared/treeview/placeholderNode'
import { FakeExtensionContext } from '../../fakeExtensionContext'

describe('DefaultCloudFormationStackNode', () => {
Expand Down
2 changes: 1 addition & 1 deletion src/test/lambda/explorer/mockCloudFormationNodes.ts
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import {
CloudFormationNode,
CloudFormationStackNode
} from '../../../lambda/explorer/cloudFormationNodes'
import { PlaceholderNode } from '../../../lambda/explorer/placeholderNode'
import { RegionNode } from '../../../lambda/explorer/regionNode'
import { AWSTreeNodeBase } from '../../../shared/treeview/awsTreeNodeBase'
import { PlaceholderNode } from '../../../shared/treeview/placeholderNode'

export class MockCloudFormationNode implements CloudFormationNode {
public constructor(
Expand Down

0 comments on commit 12def03

Please sign in to comment.