Skip to content

Commit f70e64e

Browse files
committed
Added snippet for creating new components
1 parent 40f65de commit f70e64e

File tree

2 files changed

+70
-1
lines changed

2 files changed

+70
-1
lines changed

.vscode/extensions.json

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
// See https://go.microsoft.com/fwlink/?LinkId=827846
33
// for the documentation about the extensions.json format
4-
"recommendations": ["nicolasparada.innerhtml", "bierner.lit-html", "esbenp.prettier-vscode"]
4+
"recommendations": [
5+
"nicolasparada.innerhtml",
6+
"bierner.lit-html",
7+
"esbenp.prettier-vscode",
8+
"rebornix.project-snippets"
9+
]
510
}

.vscode/snippets/typescript.json

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
{
2+
"MgtComponent": {
3+
"prefix": "newmgt",
4+
"body": [
5+
"import { html, css, customElement, property } from 'lit-element';",
6+
"import * as MicrosoftGraph from '@microsoft/microsoft-graph-types';",
7+
"import { MgtTemplatedComponent } from '../templatedComponent';",
8+
"import { Providers } from '../../Providers';",
9+
"import { ProviderState } from '../../providers/IProvider';",
10+
"",
11+
"@customElement('${1:mgt-component}')",
12+
"export class ${2:MgtComponent} extends MgtTemplatedComponent {",
13+
" @property({",
14+
" attribute: 'my-name',",
15+
" type: String",
16+
" })",
17+
" myName: string;",
18+
"",
19+
" attributeChangedCallback(name, oldval, newval) {",
20+
" super.attributeChangedCallback(name, oldval, newval);",
21+
"",
22+
" // TODO: handle when an attribute changes.",
23+
" //",
24+
" // Ex: load data when the name attribute changes",
25+
" // if (name === 'name' && oldval !== newval){",
26+
" // this.loadData();",
27+
" // }",
28+
" }",
29+
"",
30+
" firstUpdated() {",
31+
" Providers.onProviderUpdated(() => this.loadData());",
32+
" this.loadData();",
33+
" }",
34+
"",
35+
" private async loadData() {",
36+
" let provider = Providers.globalProvider;",
37+
"",
38+
" if (!provider || provider.state !== ProviderState.SignedIn) {",
39+
" return;",
40+
" }",
41+
"",
42+
" // TODO: load data from the graph",
43+
" }",
44+
"",
45+
" static get styles() {",
46+
" return css`",
47+
" .root {",
48+
" color: red;",
49+
" }",
50+
" `;",
51+
" }",
52+
"",
53+
" render() {",
54+
" return html`",
55+
" <div class='root'>",
56+
" Hello ${this.myName}!$0",
57+
" </div>",
58+
" `;",
59+
" }",
60+
"}"
61+
],
62+
"description": "Create New Component"
63+
}
64+
}

0 commit comments

Comments
 (0)