buttonize v1.7.0
Buttonize enables you to build internals tools with AWS CDK.
Hook-up UI components directly to AWS Lambda functions. Just install Buttonize and deploy your CDK. That's it.
Getting started
Installation
- Sign-up at buttonize.io
$ npm i -D buttonize
- Create your first Buttonize App :tada:
Example
// MyStack.ts
import * as path from 'path'
import { Stack, StackProps } from 'aws-cdk-lib'
import { NodejsFunction } from 'aws-cdk-lib/aws-lambda-nodejs'
import { Action, Buttonize, ButtonizeApp, Display, Input } from '@buttonize/cdk'
import { Construct } from 'constructs'
export class MyStack extends cdk.Stack {
constructor(scope: Construct, id: string, props?: cdk.StackProps) {
super(scope, id, props)
Buttonize.init(this, {
apiKey: 'btnz_mybuttonizekey1234567',
externalId: 'this-is-super-secret-99'
})
const discountGenerator = new NodejsFunction(this, 'DiscountGenerator', {
entry: path.join(__dirname, 'discountGenerator.ts')
})
new ButtonizeApp(this, 'DemoApp', {
name: 'Discount code generator',
description:
'Select the discount amount and you will get the discount code on the next page.'
})
.page('InputPage', {
body: [
Display.heading('Generate discount code for customer'),
Input.select({
id: 'discount',
label: 'Discount value',
options: [
{ label: '30%', value: 30 },
{ label: '60%', value: 60 }
]
}),
Display.button({
label: 'Generate discount',
onClick: Action.aws.lambda.invoke(
discountGenerator,
{ Payload: { discountValue: '{{discount}}' } },
{ id: 'discountGenerator' }
),
onClickFinished: Action.buttonize.app.changePage('DonePage')
})
]
})
.page('DonePage', {
body: [
Display.heading('Discount generated'),
Display.text('Discount code: {{InputPage.discountGenerator.code}}')
]
})
}
}
// discountGenerator.ts
export const handler = async (event: { discountValue: number }) => {
console.log(`Generating discount of value ${event.discountValue}`)
return {
discountValue: event.discountValue,
code: `${Math.random()}`.split('.')[1]
}
}
Result
Buttonize Docs
Learn more at docs.buttonize.io
20 hours ago
21 hours ago
2 days ago
3 days ago
3 days ago
3 days ago
3 days ago
5 days ago
6 days ago
8 days ago
8 days ago
16 days ago
15 days ago
16 days ago
16 days ago
17 days ago
17 days ago
17 days ago
17 days ago
18 days ago
18 days ago
18 days ago
21 days ago
21 days ago
22 days ago
22 days ago
25 days ago
25 days ago
29 days ago
29 days ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
1 month ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 months ago
3 years ago
3 years ago
3 years ago
3 years ago