@microsoft/generator-sharepoint 1.13.0-beta.24 → 1.14.0-beta.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/common/BaseGenerator.d.ts +2 -2
- package/lib/common/BaseGenerator.d.ts.map +1 -1
- package/lib/common/PackageSolutionJsonManager.d.ts +6 -0
- package/lib/common/PackageSolutionJsonManager.d.ts.map +1 -1
- package/lib/common/PackageSolutionJsonManager.js +57 -16
- package/lib/common/dependency/adaptiveCardExtension/firstParty.json +6 -6
- package/lib/common/dependency/adaptiveCardExtension/firstPartyPlusBeta.json +6 -6
- package/lib/common/dependency/applicationCustomizer.json +2 -2
- package/lib/common/dependency/applicationCustomizerPlusBeta.json +2 -2
- package/lib/common/dependency/commandSet.json +2 -2
- package/lib/common/dependency/commandSetPlusBeta.json +2 -2
- package/lib/common/dependency/extension/firstParty.json +5 -5
- package/lib/common/dependency/extension/firstPartyPlusBeta.json +5 -5
- package/lib/common/dependency/fieldCustomizer.json +1 -1
- package/lib/common/dependency/fieldCustomizerPlusBeta.json +1 -1
- package/lib/common/dependency/library/firstParty.json +3 -3
- package/lib/common/dependency/library/firstPartyPlusBeta.json +3 -3
- package/lib/common/dependency/searchQueryModifier.json +1 -1
- package/lib/common/dependency/searchQueryModifierPlusBeta.json +1 -1
- package/lib/common/dependency/webpart/firstParty.json +8 -8
- package/lib/common/dependency/webpart/firstPartyPlusBeta.json +8 -8
- package/lib/generators/adaptiveCardExtension/index.d.ts +6 -2
- package/lib/generators/adaptiveCardExtension/index.d.ts.map +1 -1
- package/lib/generators/adaptiveCardExtension/index.js +23 -9
- package/lib/generators/adaptiveCardExtension/templates/base/assets/MicrosoftLogo.png +0 -0
- package/lib/generators/adaptiveCardExtension/templates/imageCardView/CardView.ts +22 -3
- package/lib/generators/adaptiveCardExtension/templates/{base → manifestTemplate/baseTemplate}/{componentClassName}.manifest.json +0 -0
- package/lib/generators/adaptiveCardExtension/templates/manifestTemplate/imageTemplate/{componentClassName}.manifest.json +30 -0
- package/lib/generators/app/index.js +31 -4
- package/lib/generators/applicationCustomizer/index.d.ts +2 -2
- package/lib/generators/applicationCustomizer/index.d.ts.map +1 -1
- package/lib/generators/applicationCustomizer/index.js +1 -1
- package/lib/generators/applicationCustomizer/templates/none/{componentClassName}.ts +0 -2
- package/lib/generators/commandSet/index.d.ts +2 -2
- package/lib/generators/commandSet/index.d.ts.map +1 -1
- package/lib/generators/commandSet/index.js +1 -1
- package/lib/generators/commandSet/templates/none/{componentClassName}.ts +0 -4
- package/lib/generators/component/BaseComponentGenerator.d.ts +8 -4
- package/lib/generators/component/BaseComponentGenerator.d.ts.map +1 -1
- package/lib/generators/component/BaseComponentGenerator.js +18 -11
- package/lib/generators/component/index.d.ts +2 -1
- package/lib/generators/component/index.d.ts.map +1 -1
- package/lib/generators/component/index.js +4 -6
- package/lib/generators/extension/BaseExtensionGenerator.d.ts +2 -1
- package/lib/generators/extension/BaseExtensionGenerator.d.ts.map +1 -1
- package/lib/generators/extension/BaseExtensionGenerator.js +25 -0
- package/lib/generators/fieldCustomizer/index.d.ts +2 -2
- package/lib/generators/fieldCustomizer/index.d.ts.map +1 -1
- package/lib/generators/fieldCustomizer/index.js +12 -2
- package/lib/generators/fieldCustomizer/templates/{base/loc → loc}/en-us.js +0 -0
- package/lib/generators/fieldCustomizer/templates/{base/loc → loc}/myStrings.d.ts +0 -0
- package/lib/generators/fieldCustomizer/templates/minimal/loc/en-us.js +4 -0
- package/lib/generators/fieldCustomizer/templates/minimal/loc/myStrings.d.ts +7 -0
- package/lib/generators/fieldCustomizer/templates/minimal/{componentClassName}.module.scss +3 -0
- package/lib/generators/fieldCustomizer/templates/minimal/{componentClassName}.ts +29 -0
- package/lib/generators/fieldCustomizer/templates/none/{componentClassName}.ts +1 -5
- package/lib/generators/fieldCustomizer/templates/react/components/{componentName}.tsx +1 -5
- package/lib/generators/fieldCustomizer/templates/react/{componentClassName}.ts +0 -4
- package/lib/generators/library/index.d.ts +2 -2
- package/lib/generators/library/index.d.ts.map +1 -1
- package/lib/generators/library/index.js +1 -1
- package/lib/generators/searchQueryModifier/index.d.ts +2 -2
- package/lib/generators/searchQueryModifier/index.d.ts.map +1 -1
- package/lib/generators/searchQueryModifier/index.js +1 -1
- package/lib/generators/searchQueryModifier/templates/none/{componentClassName}.ts +0 -3
- package/lib/generators/solution/index.d.ts +1 -0
- package/lib/generators/solution/index.d.ts.map +1 -1
- package/lib/generators/solution/index.js +26 -52
- package/lib/generators/webpart/index.d.ts +2 -2
- package/lib/generators/webpart/index.d.ts.map +1 -1
- package/lib/generators/webpart/index.js +13 -5
- package/lib/generators/webpart/templates/assets/welcome-dark.png +0 -0
- package/lib/generators/webpart/templates/assets/welcome-light.png +0 -0
- package/lib/generators/webpart/templates/loc/en-us.js +11 -0
- package/lib/generators/webpart/templates/{base/loc → loc}/mystrings.d.ts +4 -0
- package/lib/generators/webpart/templates/minimal/loc/en-us.js +4 -0
- package/lib/generators/webpart/templates/minimal/loc/mystrings.d.ts +7 -0
- package/lib/generators/webpart/templates/minimal/{componentClassName}.module.scss +3 -0
- package/lib/generators/webpart/templates/minimal/{componentClassName}.ts +22 -0
- package/lib/generators/webpart/templates/none/{componentClassName}.module.scss +22 -62
- package/lib/generators/webpart/templates/none/{componentClassName}.ts +57 -14
- package/lib/generators/webpart/templates/react/components/I{componentName}Props.ts +4 -0
- package/lib/generators/webpart/templates/react/components/{componentName}.module.scss +23 -63
- package/lib/generators/webpart/templates/react/components/{componentName}.tsx +31 -13
- package/lib/generators/webpart/templates/react/{componentClassName}.ts +38 -1
- package/package.json +3 -3
- package/lib/generators/webpart/templates/base/loc/en-us.js +0 -7
- package/lib/generators/webpart/templates/officeAddin/initial.outlookManifest.xml +0 -91
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseGenerator,
|
|
1
|
+
import { BaseGenerator, AvailableTemplates } from '../../common/BaseGenerator';
|
|
2
2
|
import * as BaseExtension from '../extension/BaseExtensionGenerator';
|
|
3
3
|
import { IBaseOptions } from '../../common/BaseGenerator';
|
|
4
4
|
export interface IApplicationCustomizerOptions extends BaseExtension.IBaseExtensionOptions {
|
|
@@ -10,7 +10,7 @@ export declare function defineOptions<TOptions extends IBaseOptions, TContext>(g
|
|
|
10
10
|
export declare class ApplicationCustomizerGenerator extends BaseExtension.BaseExtensionGenerator<IApplicationCustomizerOptions, IApplicationCustomizerContext> {
|
|
11
11
|
protected readonly friendlyName: string;
|
|
12
12
|
protected readonly codeName: string;
|
|
13
|
-
protected readonly
|
|
13
|
+
protected readonly allowedTemplates: AvailableTemplates[];
|
|
14
14
|
initializing(): void;
|
|
15
15
|
prompting(): Promise<void>;
|
|
16
16
|
configuring(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/applicationCustomizer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/applicationCustomizer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG/E,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AACrE,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAE1D,MAAM,WAAW,6BAA8B,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAC7F,MAAM,WAAW,6BAA8B,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAE7F,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAEN;AAED,qBAAa,8BAA+B,SAAQ,aAAa,CAAC,sBAAsB,CACtF,6BAA6B,EAC7B,6BAA6B,CAC9B;IACC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAA4B;IACnE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAA2B;IAC9D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAExD,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,WAAW,IAAI,IAAI;IAmBnB,OAAO,IAAI,IAAI;IAMf,OAAO,IAAI,IAAI;IAMf,GAAG,IAAI,IAAI;IAIlB,SAAS,aAAa,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,6BAA6B;IAKrF,SAAS,CAAC,0BAA0B,IAAI,OAAO;IAI/C,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -36,7 +36,7 @@ class ApplicationCustomizerGenerator extends BaseExtension.BaseExtensionGenerato
|
|
|
36
36
|
super(args, options);
|
|
37
37
|
this.friendlyName = 'Application Customizer';
|
|
38
38
|
this.codeName = 'ApplicationCustomizer';
|
|
39
|
-
this.
|
|
39
|
+
this.allowedTemplates = [];
|
|
40
40
|
defineOptions(this);
|
|
41
41
|
}
|
|
42
42
|
initializing() {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { override } from '@microsoft/decorators';
|
|
2
1
|
import { Log } from '@microsoft/sp-core-library';
|
|
3
2
|
import {
|
|
4
3
|
BaseApplicationCustomizer
|
|
@@ -23,7 +22,6 @@ export interface I<%= componentClassName %>Properties {
|
|
|
23
22
|
export default class <%= componentClassName %>
|
|
24
23
|
extends BaseApplicationCustomizer<I<%= componentClassName %>Properties> {
|
|
25
24
|
|
|
26
|
-
@override
|
|
27
25
|
public onInit(): Promise<void> {
|
|
28
26
|
Log.info(LOG_SOURCE, `Initialized ${strings.Title}`);
|
|
29
27
|
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IBaseOptions, BaseGenerator,
|
|
1
|
+
import { IBaseOptions, BaseGenerator, AvailableTemplates } from '../../common/BaseGenerator';
|
|
2
2
|
import * as BaseExtension from '../extension/BaseExtensionGenerator';
|
|
3
3
|
export interface ICommandSetOptions extends BaseExtension.IBaseExtensionOptions {
|
|
4
4
|
}
|
|
@@ -9,7 +9,7 @@ export declare function defineOptions<TOptions extends IBaseOptions, TContext>(g
|
|
|
9
9
|
export declare class CommandSetGenerator extends BaseExtension.BaseExtensionGenerator<ICommandSetOptions, ICommandSetContext> {
|
|
10
10
|
protected readonly friendlyName: string;
|
|
11
11
|
protected readonly codeName: string;
|
|
12
|
-
protected readonly
|
|
12
|
+
protected readonly allowedTemplates: AvailableTemplates[];
|
|
13
13
|
initializing(): void;
|
|
14
14
|
prompting(): Promise<void>;
|
|
15
15
|
configuring(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/commandSet/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/commandSet/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,MAAM,WAAW,kBAAmB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAClF,MAAM,WAAW,kBAAmB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAElF,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAEN;AAED,qBAAa,mBAAoB,SAAQ,aAAa,CAAC,sBAAsB,CAC3E,kBAAkB,EAClB,kBAAkB,CACnB;IACC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAiB;IACxD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAgB;IACnD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAExD,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,WAAW,IAAI,IAAI;IAoBnB,OAAO,IAAI,IAAI;IAMf,OAAO,IAAI,IAAI;IAMf,GAAG,IAAI,IAAI;IAIlB,SAAS,aAAa,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,kBAAkB;IAK1E,SAAS,CAAC,0BAA0B,IAAI,OAAO;IAI/C,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -36,7 +36,7 @@ class CommandSetGenerator extends BaseExtension.BaseExtensionGenerator {
|
|
|
36
36
|
super(args, options);
|
|
37
37
|
this.friendlyName = 'Command Set';
|
|
38
38
|
this.codeName = 'CommandSet';
|
|
39
|
-
this.
|
|
39
|
+
this.allowedTemplates = [];
|
|
40
40
|
defineOptions(this);
|
|
41
41
|
}
|
|
42
42
|
initializing() {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { override } from '@microsoft/decorators';
|
|
2
1
|
import { Log } from '@microsoft/sp-core-library';
|
|
3
2
|
import {
|
|
4
3
|
BaseListViewCommandSet,
|
|
@@ -25,13 +24,11 @@ const LOG_SOURCE: string = '<%= componentClassName %>';
|
|
|
25
24
|
|
|
26
25
|
export default class <%= componentClassName %> extends BaseListViewCommandSet<I<%= componentClassName %>Properties> {
|
|
27
26
|
|
|
28
|
-
@override
|
|
29
27
|
public onInit(): Promise<void> {
|
|
30
28
|
Log.info(LOG_SOURCE, 'Initialized <%= componentClassName %>');
|
|
31
29
|
return Promise.resolve();
|
|
32
30
|
}
|
|
33
31
|
|
|
34
|
-
@override
|
|
35
32
|
public onListViewUpdated(event: IListViewCommandSetListViewUpdatedParameters): void {
|
|
36
33
|
const compareOneCommand: Command = this.tryGetCommand('COMMAND_1');
|
|
37
34
|
if (compareOneCommand) {
|
|
@@ -40,7 +37,6 @@ export default class <%= componentClassName %> extends BaseListViewCommandSet<I<
|
|
|
40
37
|
}
|
|
41
38
|
}
|
|
42
39
|
|
|
43
|
-
@override
|
|
44
40
|
public onExecute(event: IListViewCommandSetExecuteEventParameters): void {
|
|
45
41
|
switch (event.itemId) {
|
|
46
42
|
case 'COMMAND_1':
|
|
@@ -1,7 +1,11 @@
|
|
|
1
1
|
import { IConfigBundle } from '@microsoft/spfx-heft-plugins';
|
|
2
|
-
import {
|
|
2
|
+
import { AvailableTemplates, BaseGenerator, IBaseOptions } from '../../common/BaseGenerator';
|
|
3
3
|
export interface IBaseComponentShared {
|
|
4
|
-
|
|
4
|
+
/**
|
|
5
|
+
* @deprecated use {@link template} instead.
|
|
6
|
+
*/
|
|
7
|
+
framework: AvailableTemplates;
|
|
8
|
+
template: AvailableTemplates;
|
|
5
9
|
componentDescription: string;
|
|
6
10
|
}
|
|
7
11
|
export interface IBaseComponentOptions extends IBaseComponentShared, IBaseOptions {
|
|
@@ -26,12 +30,12 @@ export declare abstract class BaseComponentGenerator<IOptions extends IBaseCompo
|
|
|
26
30
|
protected abstract readonly codeName: string;
|
|
27
31
|
/** The name of the folder that this comonent should have its template copied to */
|
|
28
32
|
protected abstract readonly folderName: string;
|
|
29
|
-
protected abstract readonly
|
|
33
|
+
protected abstract readonly allowedTemplates: AvailableTemplates[];
|
|
30
34
|
prompting(): Promise<void>;
|
|
31
35
|
configuring(bundleEntry?: IConfigBundle): void;
|
|
32
36
|
writing(shouldWrite?: boolean): void;
|
|
33
37
|
install(): void;
|
|
34
|
-
|
|
38
|
+
protected _getOutputFolder(componentNameCamelCase: string): string;
|
|
35
39
|
private checkSolution;
|
|
36
40
|
}
|
|
37
41
|
export interface INormalizedComponentNames {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseComponentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/component/BaseComponentGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAM7D,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"BaseComponentGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/component/BaseComponentGenerator.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAM7D,OAAO,EAAE,kBAAkB,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAI7F,MAAM,WAAW,oBAAoB;IACnC;;OAEG;IACH,SAAS,EAAE,kBAAkB,CAAC;IAC9B,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,oBAAoB,EAAE,MAAM,CAAC;CAC9B;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB,EAAE,YAAY;IAC/E,aAAa,EAAE,MAAM,CAAC;IACtB,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAsB,SAAQ,oBAAoB;IACjE,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,2BAA2B,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;IACvB,gBAAgB,EAAE,MAAM,CAAC;IACzB,sBAAsB,EAAE,MAAM,CAAC;CAChC;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC5C,IAAI,EAAE,MAAM,GACX,IAAI,CAkBN;AAED,8BAAsB,sBAAsB,CAC1C,QAAQ,SAAS,qBAAqB,EACtC,QAAQ,SAAS,qBAAqB,CACtC,SAAQ,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC;IACzC,mEAAmE;IACnE,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;IACjD,0GAA0G;IAC1G,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC7C,mFAAmF;IACnF,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC/C,SAAS,CAAC,QAAQ,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAC;IAE5D,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAyG1B,WAAW,CAAC,WAAW,CAAC,EAAE,aAAa,GAAG,IAAI;IAkC9C,OAAO,CAAC,WAAW,GAAE,OAAc,GAAG,IAAI;IAU1C,OAAO,IAAI,IAAI;IAOtB,SAAS,CAAC,gBAAgB,CAAC,sBAAsB,EAAE,MAAM,GAAG,MAAM;IAIlE,OAAO,CAAC,aAAa;CAStB;AAED,MAAM,WAAW,yBAAyB;IACxC,sBAAsB,EAAE,MAAM,CAAC;IAC/B,aAAa,EAAE,MAAM,CAAC;IACtB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,2BAA2B,EAAE,MAAM,CAAC;IACpC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,wBAAgB,uBAAuB,CACrC,sBAAsB,EAAE,MAAM,EAC9B,aAAa,EAAE,MAAM,GACpB,yBAAyB,CA0C3B"}
|
|
@@ -40,7 +40,8 @@ function defineOptions(generator, type) {
|
|
|
40
40
|
type: String
|
|
41
41
|
});
|
|
42
42
|
generator.option('framework', {
|
|
43
|
-
|
|
43
|
+
// NOTE: 'framemowrk' name is kept for backward compatibility
|
|
44
|
+
description: 'Template to use. Available: "none", "react", "minimal"',
|
|
44
45
|
type: String
|
|
45
46
|
});
|
|
46
47
|
generator.option('plusbeta', {
|
|
@@ -52,11 +53,14 @@ exports.defineOptions = defineOptions;
|
|
|
52
53
|
class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
53
54
|
prompting() {
|
|
54
55
|
return this.checkSolution().then(() => {
|
|
55
|
-
const
|
|
56
|
+
const availableTemplates = [
|
|
56
57
|
{ name: 'No JavaScript framework', value: 'none' }
|
|
57
58
|
];
|
|
58
|
-
if (this.
|
|
59
|
-
|
|
59
|
+
if (this.allowedTemplates.indexOf('react') !== -1) {
|
|
60
|
+
availableTemplates.push({ name: 'React', value: 'react' });
|
|
61
|
+
}
|
|
62
|
+
if (this.allowedTemplates.indexOf('minimal') !== -1) {
|
|
63
|
+
availableTemplates.unshift({ name: 'Minimal', value: 'minimal' });
|
|
60
64
|
}
|
|
61
65
|
return this.prompt([
|
|
62
66
|
{
|
|
@@ -92,13 +96,16 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
92
96
|
},
|
|
93
97
|
{
|
|
94
98
|
type: 'list',
|
|
95
|
-
name: '
|
|
96
|
-
when: () => !this.config.get('framework') &&
|
|
97
|
-
|
|
98
|
-
|
|
99
|
+
name: 'template',
|
|
100
|
+
when: () => !this.config.get('framework') &&
|
|
101
|
+
!this.config.get('template') &&
|
|
102
|
+
availableTemplates.length !== 1,
|
|
103
|
+
message: 'Which template would you like to use?',
|
|
104
|
+
choices: availableTemplates
|
|
99
105
|
}
|
|
100
106
|
]).then((answers) => {
|
|
101
|
-
this.context.
|
|
107
|
+
this.context.template =
|
|
108
|
+
this.config.get('framework') || this.config.get('template') || answers.template || 'none';
|
|
102
109
|
this.context.componentDescription =
|
|
103
110
|
this.config.get('componentDescription') || answers.componentDescription || '';
|
|
104
111
|
this.context.componentId = Utils.generateGuid();
|
|
@@ -123,7 +130,7 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
123
130
|
});
|
|
124
131
|
}
|
|
125
132
|
configuring(bundleEntry) {
|
|
126
|
-
this.ensureDependencyGroup(this.context.
|
|
133
|
+
this.ensureDependencyGroup(this.context.template);
|
|
127
134
|
if (!this.configJson.data) {
|
|
128
135
|
throw new Error(`Missing required file: "config/config.json"`);
|
|
129
136
|
}
|
|
@@ -154,7 +161,7 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
154
161
|
super.writing(false);
|
|
155
162
|
if (shouldWrite) {
|
|
156
163
|
const dest = this._getOutputFolder(this.context.componentNameCamelCase);
|
|
157
|
-
this.copyTemplate(path.join(this.sourceRoot(), this.context.
|
|
164
|
+
this.copyTemplate(path.join(this.sourceRoot(), this.context.template), dest);
|
|
158
165
|
this.copyTemplate(path.join(this.sourceRoot(), 'base'), dest);
|
|
159
166
|
}
|
|
160
167
|
}
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IBaseOptions, BaseGenerator } from '../../common/BaseGenerator';
|
|
2
2
|
import * as Webpart from '../webpart';
|
|
3
3
|
import * as Extension from '../extension';
|
|
4
|
-
|
|
4
|
+
import * as AdaptiveCardExtension from '../adaptiveCardExtension';
|
|
5
|
+
export interface IComponentSelectorOptions extends Webpart.IWebpartOptions, Extension.IExtensionOptions, AdaptiveCardExtension.IACEOptions {
|
|
5
6
|
componentType: 'webpart' | 'extension' | 'library' | 'adaptiveCardExtension';
|
|
6
7
|
}
|
|
7
8
|
export declare function composeWith<TOptions extends IBaseOptions, TContext>(base: BaseGenerator<TOptions, TContext>, options: IBaseOptions): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/component/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/component/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAGzE,OAAO,KAAK,OAAO,MAAM,YAAY,CAAC;AACtC,OAAO,KAAK,SAAS,MAAM,cAAc,CAAC;AAE1C,OAAO,KAAK,qBAAqB,MAAM,0BAA0B,CAAC;AAGlE,MAAM,WAAW,yBACf,SAAQ,OAAO,CAAC,eAAe,EAC7B,SAAS,CAAC,iBAAiB,EAC3B,qBAAqB,CAAC,WAAW;IACnC,aAAa,EAAE,SAAS,GAAG,WAAW,GAAG,SAAS,GAAG,uBAAuB,CAAC;CAC9E;AAED,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAUN;AAED;;GAEG;AACH,qBAAa,0BAA2B,SAAQ,aAAa,CAAC,yBAAyB,EAAE,EAAE,CAAC;IAC1F,SAAgB,YAAY,EAAE,MAAM,CAAyB;IAEtD,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAkE1B,WAAW,IAAI,IAAI;IAGnB,OAAO,IAAI,IAAI;IAGf,OAAO,IAAI,IAAI;IAGf,GAAG,IAAI,IAAI;IAIlB,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -84,14 +84,12 @@ class ComponentSelectorGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
84
84
|
{
|
|
85
85
|
name: 'Library',
|
|
86
86
|
value: 'library'
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
if (this.config.get('plusBeta') === true) {
|
|
90
|
-
choices.push({
|
|
87
|
+
},
|
|
88
|
+
{
|
|
91
89
|
name: 'Adaptive Card Extension',
|
|
92
90
|
value: 'adaptiveCardExtension'
|
|
93
|
-
}
|
|
94
|
-
|
|
91
|
+
}
|
|
92
|
+
];
|
|
95
93
|
}
|
|
96
94
|
return this.prompt([
|
|
97
95
|
{
|
|
@@ -13,6 +13,7 @@ export declare abstract class BaseExtensionGenerator<IOptions extends IBaseExten
|
|
|
13
13
|
writing(shouldCopy?: boolean): void;
|
|
14
14
|
install(): void;
|
|
15
15
|
protected abstract includeClientSideInstances(): boolean;
|
|
16
|
-
|
|
16
|
+
protected hasElementsXml(): boolean;
|
|
17
|
+
private _getFeatureFrameworkDocsUrl;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=BaseExtensionGenerator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseExtensionGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/extension/BaseExtensionGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"BaseExtensionGenerator.d.ts","sourceRoot":"","sources":["../../../src/generators/extension/BaseExtensionGenerator.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,oBAAY,mBAAmB,GAC3B,uBAAuB,GACvB,YAAY,GACZ,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,MAAM,WAAW,qBAAsB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AACrF,MAAM,WAAW,qBAAsB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAErF,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAC5C,IAAI,GAAE,MAAoB,GACzB,IAAI,CAEN;AAED,8BAAsB,sBAAsB,CAC1C,QAAQ,SAAS,qBAAqB,EACtC,QAAQ,SAAS,qBAAqB,CACtC,SAAQ,aAAa,CAAC,sBAAsB,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAChE,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAgB;IAE9C,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAI1B,WAAW,IAAI,IAAI;IAQnB,OAAO,CAAC,UAAU,GAAE,OAAc,GAAG,IAAI;IAoBzC,OAAO,IAAI,IAAI;IAItB,SAAS,CAAC,QAAQ,CAAC,0BAA0B,IAAI,OAAO;IAExD,SAAS,CAAC,cAAc,IAAI,OAAO;IAKnC,OAAO,CAAC,2BAA2B;CAgBpC"}
|
|
@@ -18,9 +18,13 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
18
18
|
__setModuleDefault(result, mod);
|
|
19
19
|
return result;
|
|
20
20
|
};
|
|
21
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
|
+
};
|
|
21
24
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
25
|
exports.BaseExtensionGenerator = exports.defineOptions = void 0;
|
|
23
26
|
const path = __importStar(require("path"));
|
|
27
|
+
const safe_1 = __importDefault(require("colors/safe"));
|
|
24
28
|
const node_core_library_1 = require("@rushstack/node-core-library");
|
|
25
29
|
const Utils = __importStar(require("../../common/utilities"));
|
|
26
30
|
const BaseComponent = __importStar(require("../component/BaseComponentGenerator"));
|
|
@@ -50,6 +54,12 @@ class BaseExtensionGenerator extends BaseComponent.BaseComponentGenerator {
|
|
|
50
54
|
const dest = path.join(this.destinationRoot(), 'sharepoint');
|
|
51
55
|
this.copyTemplate(path.join(this.sourceRoot(), 'sharepoint'), dest);
|
|
52
56
|
}
|
|
57
|
+
else {
|
|
58
|
+
const docsUrl = this._getFeatureFrameworkDocsUrl();
|
|
59
|
+
if (docsUrl) {
|
|
60
|
+
this.log(safe_1.default.yellow(`Elements.xml already exists. Please, reference ${docsUrl} to add additional elements to it.`));
|
|
61
|
+
}
|
|
62
|
+
}
|
|
53
63
|
}
|
|
54
64
|
}
|
|
55
65
|
install() {
|
|
@@ -59,6 +69,21 @@ class BaseExtensionGenerator extends BaseComponent.BaseComponentGenerator {
|
|
|
59
69
|
const elementsXmlPath = path.join(this.destinationRoot(), 'sharepoint', 'assets', 'elements.xml');
|
|
60
70
|
return node_core_library_1.FileSystem.exists(elementsXmlPath);
|
|
61
71
|
}
|
|
72
|
+
_getFeatureFrameworkDocsUrl() {
|
|
73
|
+
const extensionType = this.config.get('extensionType');
|
|
74
|
+
switch (extensionType) {
|
|
75
|
+
case 'FieldCustomizer':
|
|
76
|
+
return 'https://aka.ms/spfx/extensions/field';
|
|
77
|
+
case 'ListViewCommandSet':
|
|
78
|
+
return 'https://aka.ms/spfx/extensions/cmdset';
|
|
79
|
+
case 'ApplicationCustomizer':
|
|
80
|
+
return 'https://aka.ms/spfx/extensions/tutorial/helloworld3';
|
|
81
|
+
case 'SearchQueryModifier':
|
|
82
|
+
return 'https://aka.ms/spfx/extensions/search';
|
|
83
|
+
default:
|
|
84
|
+
return '';
|
|
85
|
+
}
|
|
86
|
+
}
|
|
62
87
|
}
|
|
63
88
|
exports.BaseExtensionGenerator = BaseExtensionGenerator;
|
|
64
89
|
//# sourceMappingURL=BaseExtensionGenerator.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IBaseOptions, BaseGenerator,
|
|
1
|
+
import { IBaseOptions, BaseGenerator, AvailableTemplates } from '../../common/BaseGenerator';
|
|
2
2
|
import * as BaseExtension from '../extension/BaseExtensionGenerator';
|
|
3
3
|
export interface IFieldCustomizerOptions extends BaseExtension.IBaseExtensionOptions {
|
|
4
4
|
}
|
|
@@ -10,7 +10,7 @@ export declare function defineOptions<TOptions extends IBaseOptions, TContext>(g
|
|
|
10
10
|
export declare class FieldCustomizerGenerator extends BaseExtension.BaseExtensionGenerator<IFieldCustomizerOptions, IFieldCustomizerContext> {
|
|
11
11
|
protected readonly friendlyName: string;
|
|
12
12
|
protected readonly codeName: string;
|
|
13
|
-
protected readonly
|
|
13
|
+
protected readonly allowedTemplates: AvailableTemplates[];
|
|
14
14
|
initializing(): void;
|
|
15
15
|
prompting(): Promise<void>;
|
|
16
16
|
configuring(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/fieldCustomizer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/fieldCustomizer/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AACvF,MAAM,WAAW,uBAAwB,SAAQ,aAAa,CAAC,qBAAqB;IAClF,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAEN;AAED,qBAAa,wBAAyB,SAAQ,aAAa,CAAC,sBAAsB,CAChF,uBAAuB,EACvB,uBAAuB,CACxB;IACC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAsB;IAC7D,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAqB;IACxD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAwB;IAE1E,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,WAAW,IAAI,IAAI;IAoBnB,OAAO,IAAI,IAAI;IAuBf,OAAO,IAAI,IAAI;IAMf,GAAG,IAAI,IAAI;IAIlB,SAAS,aAAa,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,uBAAuB;IAK/E,SAAS,CAAC,0BAA0B,IAAI,OAAO;IAI/C,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -36,7 +36,7 @@ class FieldCustomizerGenerator extends BaseExtension.BaseExtensionGenerator {
|
|
|
36
36
|
super(args, options);
|
|
37
37
|
this.friendlyName = 'Field Customizer';
|
|
38
38
|
this.codeName = 'FieldCustomizer';
|
|
39
|
-
this.
|
|
39
|
+
this.allowedTemplates = ['react', 'minimal'];
|
|
40
40
|
defineOptions(this);
|
|
41
41
|
}
|
|
42
42
|
initializing() {
|
|
@@ -69,7 +69,17 @@ class FieldCustomizerGenerator extends BaseExtension.BaseExtensionGenerator {
|
|
|
69
69
|
}
|
|
70
70
|
writing() {
|
|
71
71
|
if (this.shouldExecute()) {
|
|
72
|
-
super.writing();
|
|
72
|
+
super.writing(false);
|
|
73
|
+
const dest = this._getOutputFolder(this.context.componentNameCamelCase);
|
|
74
|
+
const template = this.context.template;
|
|
75
|
+
this.copyTemplate(path.join(this.sourceRoot(), template), dest);
|
|
76
|
+
if (template !== 'minimal') {
|
|
77
|
+
this.copyTemplate(path.join(this.sourceRoot(), 'loc'), path.join(dest, 'loc'));
|
|
78
|
+
}
|
|
79
|
+
if (!this.hasElementsXml()) {
|
|
80
|
+
this.copyTemplate(path.join(this.sourceRoot(), 'sharepoint'), path.join(this.destinationRoot(), 'sharepoint'));
|
|
81
|
+
}
|
|
82
|
+
this.copyTemplate(path.join(this.sourceRoot(), 'base'), dest);
|
|
73
83
|
}
|
|
74
84
|
}
|
|
75
85
|
install() {
|
|
File without changes
|
|
File without changes
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import {
|
|
2
|
+
BaseFieldCustomizer,
|
|
3
|
+
IFieldCustomizerCellEventParameters
|
|
4
|
+
} from '@microsoft/sp-listview-extensibility';
|
|
5
|
+
|
|
6
|
+
import styles from './<%= componentClassName %>.module.scss';
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* If your field customizer uses the ClientSideComponentProperties JSON input,
|
|
10
|
+
* it will be deserialized into the BaseExtension.properties object.
|
|
11
|
+
* You can define an interface to describe it.
|
|
12
|
+
*/
|
|
13
|
+
export interface I<%= componentClassName %>Properties {}
|
|
14
|
+
|
|
15
|
+
export default class <%= componentClassName %>
|
|
16
|
+
extends BaseFieldCustomizer<I<%= componentClassName %>Properties> {
|
|
17
|
+
|
|
18
|
+
public onInit(): Promise<void> {
|
|
19
|
+
return Promise.resolve();
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
public onRenderCell(event: IFieldCustomizerCellEventParameters): void {
|
|
23
|
+
event.domElement.classList.add(styles.<%= componentName %>);
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
public onDisposeCell(event: IFieldCustomizerCellEventParameters): void {
|
|
27
|
+
super.onDisposeCell(event);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Log } from '@microsoft/sp-core-library';
|
|
2
|
-
import { override } from '@microsoft/decorators';
|
|
3
2
|
import {
|
|
4
3
|
BaseFieldCustomizer,
|
|
5
4
|
IFieldCustomizerCellEventParameters
|
|
@@ -23,7 +22,6 @@ const LOG_SOURCE: string = '<%= componentClassName %>';
|
|
|
23
22
|
export default class <%= componentClassName %>
|
|
24
23
|
extends BaseFieldCustomizer<I<%= componentClassName %>Properties> {
|
|
25
24
|
|
|
26
|
-
@override
|
|
27
25
|
public onInit(): Promise<void> {
|
|
28
26
|
// Add your custom initialization to this method. The framework will wait
|
|
29
27
|
// for the returned promise to resolve before firing any BaseFieldCustomizer events.
|
|
@@ -33,17 +31,15 @@ export default class <%= componentClassName %>
|
|
|
33
31
|
return Promise.resolve();
|
|
34
32
|
}
|
|
35
33
|
|
|
36
|
-
@override
|
|
37
34
|
public onRenderCell(event: IFieldCustomizerCellEventParameters): void {
|
|
38
35
|
// Use this method to perform your custom cell rendering.
|
|
39
36
|
const text: string = `${this.properties.sampleText}: ${event.fieldValue}`;
|
|
40
37
|
|
|
41
38
|
event.domElement.innerText = text;
|
|
42
39
|
|
|
43
|
-
event.domElement.classList.add(styles
|
|
40
|
+
event.domElement.classList.add(styles.<%= componentName %>);
|
|
44
41
|
}
|
|
45
42
|
|
|
46
|
-
@override
|
|
47
43
|
public onDisposeCell(event: IFieldCustomizerCellEventParameters): void {
|
|
48
44
|
// This method should be used to free any resources that were allocated during rendering.
|
|
49
45
|
// For example, if your onRenderCell() called ReactDOM.render(), then you should
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Log } from '@microsoft/sp-core-library';
|
|
2
|
-
import { override } from '@microsoft/decorators';
|
|
3
2
|
import * as React from 'react';
|
|
4
3
|
|
|
5
4
|
import styles from './<%= componentName %>.module.scss';
|
|
@@ -11,20 +10,17 @@ export interface I<%= componentName %>Props {
|
|
|
11
10
|
const LOG_SOURCE: string = '<%= componentName %>';
|
|
12
11
|
|
|
13
12
|
export default class <%= componentName %> extends React.Component<I<%= componentName %>Props, {}> {
|
|
14
|
-
@override
|
|
15
13
|
public componentDidMount(): void {
|
|
16
14
|
Log.info(LOG_SOURCE, 'React Element: <%= componentName %> mounted');
|
|
17
15
|
}
|
|
18
16
|
|
|
19
|
-
@override
|
|
20
17
|
public componentWillUnmount(): void {
|
|
21
18
|
Log.info(LOG_SOURCE, 'React Element: <%= componentName %> unmounted');
|
|
22
19
|
}
|
|
23
20
|
|
|
24
|
-
@override
|
|
25
21
|
public render(): React.ReactElement<{}> {
|
|
26
22
|
return (
|
|
27
|
-
<div className={styles
|
|
23
|
+
<div className={styles.<%= componentName %>}>
|
|
28
24
|
{ this.props.text }
|
|
29
25
|
</div>
|
|
30
26
|
);
|
|
@@ -2,7 +2,6 @@ import * as React from 'react';
|
|
|
2
2
|
import * as ReactDOM from 'react-dom';
|
|
3
3
|
|
|
4
4
|
import { Log } from '@microsoft/sp-core-library';
|
|
5
|
-
import { override } from '@microsoft/decorators';
|
|
6
5
|
import {
|
|
7
6
|
BaseFieldCustomizer,
|
|
8
7
|
IFieldCustomizerCellEventParameters
|
|
@@ -26,7 +25,6 @@ const LOG_SOURCE: string = '<%= componentClassName %>';
|
|
|
26
25
|
export default class <%= componentClassName %>
|
|
27
26
|
extends BaseFieldCustomizer<I<%= componentClassName %>Properties> {
|
|
28
27
|
|
|
29
|
-
@override
|
|
30
28
|
public onInit(): Promise<void> {
|
|
31
29
|
// Add your custom initialization to this method. The framework will wait
|
|
32
30
|
// for the returned promise to resolve before firing any BaseFieldCustomizer events.
|
|
@@ -36,7 +34,6 @@ export default class <%= componentClassName %>
|
|
|
36
34
|
return Promise.resolve();
|
|
37
35
|
}
|
|
38
36
|
|
|
39
|
-
@override
|
|
40
37
|
public onRenderCell(event: IFieldCustomizerCellEventParameters): void {
|
|
41
38
|
// Use this method to perform your custom cell rendering.
|
|
42
39
|
const text: string = `${this.properties.sampleText}: ${event.fieldValue}`;
|
|
@@ -47,7 +44,6 @@ export default class <%= componentClassName %>
|
|
|
47
44
|
ReactDOM.render(<%= componentNameCamelCase %>, event.domElement);
|
|
48
45
|
}
|
|
49
46
|
|
|
50
|
-
@override
|
|
51
47
|
public onDisposeCell(event: IFieldCustomizerCellEventParameters): void {
|
|
52
48
|
// This method should be used to free any resources that were allocated during rendering.
|
|
53
49
|
// For example, if your onRenderCell() called ReactDOM.render(), then you should
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IBaseOptions, BaseGenerator,
|
|
1
|
+
import { IBaseOptions, BaseGenerator, AvailableTemplates } from '../../common/BaseGenerator';
|
|
2
2
|
import * as BaseComponent from '../component/BaseComponentGenerator';
|
|
3
3
|
export interface ILibraryOptions extends BaseComponent.IBaseComponentOptions {
|
|
4
4
|
}
|
|
@@ -9,7 +9,7 @@ export declare function defineOptions<TOptions extends IBaseOptions, TContext>(g
|
|
|
9
9
|
export declare class LibraryGenerator extends BaseComponent.BaseComponentGenerator<ILibraryOptions, ILibraryContext> {
|
|
10
10
|
protected readonly friendlyName: string;
|
|
11
11
|
protected readonly codeName: string;
|
|
12
|
-
protected readonly
|
|
12
|
+
protected readonly allowedTemplates: AvailableTemplates[];
|
|
13
13
|
protected readonly folderName: string;
|
|
14
14
|
initializing(): void;
|
|
15
15
|
prompting(): Promise<void>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/library/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/library/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,MAAM,WAAW,eAAgB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAE/E,MAAM,WAAW,eAAgB,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAE/E,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAEN;AAED,qBAAa,gBAAiB,SAAQ,aAAa,CAAC,sBAAsB,CAAC,eAAe,EAAE,eAAe,CAAC;IAC1G,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAa;IACpD,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAa;IAChD,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAC/D,SAAS,CAAC,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAe;IAE7C,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,WAAW,IAAI,IAAI;IAiBnB,OAAO,IAAI,IAAI;IAOf,OAAO,IAAI,IAAI;IAMf,GAAG,IAAI,IAAI;IAIlB,SAAS,aAAa,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,eAAe;IAKvE,OAAO,CAAC,aAAa;CAGtB"}
|
|
@@ -36,7 +36,7 @@ class LibraryGenerator extends BaseComponent.BaseComponentGenerator {
|
|
|
36
36
|
super(args, options);
|
|
37
37
|
this.friendlyName = 'Library';
|
|
38
38
|
this.codeName = 'Library';
|
|
39
|
-
this.
|
|
39
|
+
this.allowedTemplates = [];
|
|
40
40
|
this.folderName = 'libraries';
|
|
41
41
|
defineOptions(this);
|
|
42
42
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IBaseOptions, BaseGenerator,
|
|
1
|
+
import { IBaseOptions, BaseGenerator, AvailableTemplates } from '../../common/BaseGenerator';
|
|
2
2
|
import * as BaseExtension from '../extension/BaseExtensionGenerator';
|
|
3
3
|
export interface ISearchQueryModifierOptions extends BaseExtension.IBaseExtensionOptions {
|
|
4
4
|
}
|
|
@@ -9,7 +9,7 @@ export declare function defineOptions<TOptions extends IBaseOptions, TContext>(g
|
|
|
9
9
|
export declare class SearchQueryModifierGenerator extends BaseExtension.BaseExtensionGenerator<ISearchQueryModifierOptions, ISearchQueryModifierContext> {
|
|
10
10
|
protected readonly friendlyName: string;
|
|
11
11
|
protected readonly codeName: string;
|
|
12
|
-
protected readonly
|
|
12
|
+
protected readonly allowedTemplates: AvailableTemplates[];
|
|
13
13
|
initializing(): void;
|
|
14
14
|
prompting(): Promise<void>;
|
|
15
15
|
configuring(): void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/searchQueryModifier/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/generators/searchQueryModifier/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAG7F,OAAO,KAAK,aAAa,MAAM,qCAAqC,CAAC;AAErE,MAAM,WAAW,2BAA4B,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAC3F,MAAM,WAAW,2BAA4B,SAAQ,aAAa,CAAC,qBAAqB;CAAG;AAE3F,wBAAgB,WAAW,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACjE,IAAI,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,EACvC,OAAO,EAAE,YAAY,GACpB,IAAI,CAEN;AAED,wBAAgB,aAAa,CAAC,QAAQ,SAAS,YAAY,EAAE,QAAQ,EACnE,SAAS,EAAE,aAAa,CAAC,QAAQ,EAAE,QAAQ,CAAC,GAC3C,IAAI,CAEN;AAED,qBAAa,4BAA6B,SAAQ,aAAa,CAAC,sBAAsB,CACpF,2BAA2B,EAC3B,2BAA2B,CAC5B;IACC,SAAS,CAAC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAA2B;IAClE,SAAS,CAAC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAyB;IAC5D,SAAS,CAAC,QAAQ,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,CAAM;IAExD,YAAY,IAAI,IAAI;IAIpB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ1B,WAAW,IAAI,IAAI;IAmBnB,OAAO,IAAI,IAAI;IAMf,OAAO,IAAI,IAAI;IAMf,GAAG,IAAI,IAAI;IAIlB,SAAS,aAAa,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,OAAO,EAAE,2BAA2B;IAKnF,SAAS,CAAC,0BAA0B,IAAI,OAAO;IAI/C,OAAO,CAAC,aAAa;CAOtB"}
|
|
@@ -36,7 +36,7 @@ class SearchQueryModifierGenerator extends BaseExtension.BaseExtensionGenerator
|
|
|
36
36
|
super(args, options);
|
|
37
37
|
this.friendlyName = 'Search Query Modifier';
|
|
38
38
|
this.codeName = 'SearchQueryModifier';
|
|
39
|
-
this.
|
|
39
|
+
this.allowedTemplates = [];
|
|
40
40
|
defineOptions(this);
|
|
41
41
|
}
|
|
42
42
|
initializing() {
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import { override } from '@microsoft/decorators';
|
|
2
1
|
import { Log } from '@microsoft/sp-core-library';
|
|
3
2
|
import { BaseSearchQueryModifier, IQuery, SearchQueryScenario } from '@microsoft/sp-search-extensibility';
|
|
4
3
|
|
|
@@ -18,13 +17,11 @@ const LOG_SOURCE: string = '<%= componentClassName %>';
|
|
|
18
17
|
|
|
19
18
|
export default class <%= componentClassName %> extends BaseSearchQueryModifier<I<%= componentClassName %>Properties> {
|
|
20
19
|
|
|
21
|
-
@override
|
|
22
20
|
public onInit(): Promise<void> {
|
|
23
21
|
Log.info(LOG_SOURCE, 'Initialized <%= componentClassName %>');
|
|
24
22
|
return Promise.resolve();
|
|
25
23
|
}
|
|
26
24
|
|
|
27
|
-
@override
|
|
28
25
|
public modifySearchQuery(query: IQuery, scenario: SearchQueryScenario): Promise<IQuery> {
|
|
29
26
|
Log.info(LOG_SOURCE, `Modifying query ${query.queryText} with ${strings.Title}`);
|
|
30
27
|
return Promise.resolve(query);
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import { BaseGenerator, IBaseOptions } from '../../common/BaseGenerator';
|
|
2
2
|
export interface ISolutionOptions extends IBaseOptions {
|
|
3
3
|
solutionName: string;
|
|
4
|
+
solutionShortDescription: string;
|
|
4
5
|
skipFeatureDeployment: boolean;
|
|
5
6
|
environment: 'spo';
|
|
6
7
|
packageManager: 'npm' | 'pnpm' | 'yarn';
|