@microsoft/generator-sharepoint 1.13.1 → 1.14.0
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 +2 -2
- package/lib/generators/adaptiveCardExtension/index.d.ts.map +1 -1
- package/lib/generators/adaptiveCardExtension/index.js +4 -1
- package/lib/generators/adaptiveCardExtension/templates/base/loc/en-us.js +5 -8
- package/lib/generators/adaptiveCardExtension/templates/base/loc/mystring.d.ts +1 -4
- package/lib/generators/adaptiveCardExtension/templates/basicCardView/CardView.ts +2 -1
- package/lib/generators/adaptiveCardExtension/templates/imageCardView/CardView.ts +2 -1
- package/lib/generators/adaptiveCardExtension/templates/manifestTemplate/baseTemplate/{componentClassName}.manifest.json +1 -3
- package/lib/generators/adaptiveCardExtension/templates/none/quickView/QuickView.ts +0 -2
- package/lib/generators/adaptiveCardExtension/templates/none/quickView/template/QuickViewTemplate.json +0 -5
- package/lib/generators/adaptiveCardExtension/templates/none/{componentClassName}.ts +1 -14
- package/lib/generators/adaptiveCardExtension/templates/none/{componentName}PropertyPane.ts +0 -8
- package/lib/generators/adaptiveCardExtension/templates/primaryTextCardView/CardView.ts +2 -1
- package/lib/generators/app/index.js +22 -5
- 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 +22 -22
- package/lib/generators/component/index.d.ts.map +1 -1
- 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 +0 -4
- package/lib/generators/fieldCustomizer/templates/react/components/{componentName}.tsx +0 -4
- 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 +18 -58
- package/lib/generators/solution/templates/base/.vscode/launch.json +1 -5
- 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/solution/templates/base/.vscode/extensions.json +0 -5
- package/lib/generators/webpart/templates/base/loc/en-us.js +0 -7
- package/lib/generators/webpart/templates/officeAddin/initial.outlookManifest.xml +0 -91
|
@@ -58,7 +58,8 @@ class AppGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
58
58
|
Solution.defineOptions(this);
|
|
59
59
|
}
|
|
60
60
|
initializing() {
|
|
61
|
-
this.log(yosay('Welcome to the ' + colors_1.default.blue(`
|
|
61
|
+
this.log(yosay('Welcome to the SharePoint Online ' + colors_1.default.blue(`SPFx Yeoman Generator@${VERSION}`)));
|
|
62
|
+
this._provideRetirementNote();
|
|
62
63
|
this._explainArguments();
|
|
63
64
|
this.context.creatingSolution = !YeomanConfiguration_1.YeomanConfiguration.libraryName;
|
|
64
65
|
const shouldUseSubDir = this.options.solutionName !== undefined;
|
|
@@ -72,6 +73,9 @@ class AppGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
72
73
|
if (this.options.solutionName !== undefined) {
|
|
73
74
|
this.config.set('solutionName', this.options.solutionName);
|
|
74
75
|
}
|
|
76
|
+
if (this.options.solutionShortDescription !== undefined) {
|
|
77
|
+
this.config.set('solutionShortDescription', this.options.solutionShortDescription);
|
|
78
|
+
}
|
|
75
79
|
if (this.options.environment !== undefined) {
|
|
76
80
|
this.config.set('environment', this.options.environment);
|
|
77
81
|
}
|
|
@@ -103,7 +107,10 @@ class AppGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
103
107
|
this.config.set('aceTemplateType', undefined);
|
|
104
108
|
}
|
|
105
109
|
if (this.options.framework !== undefined) {
|
|
106
|
-
this.config.set('
|
|
110
|
+
this.config.set('template', this.options.framework);
|
|
111
|
+
}
|
|
112
|
+
if (this.options.template !== undefined) {
|
|
113
|
+
this.config.set('template', this.options.template);
|
|
107
114
|
}
|
|
108
115
|
if (this.options.componentName !== undefined) {
|
|
109
116
|
this.config.set('componentName', this.options.componentName);
|
|
@@ -156,6 +163,9 @@ class AppGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
156
163
|
const libraryName = YeomanConfiguration_1.YeomanConfiguration.libraryName;
|
|
157
164
|
this.log(spsay_1.default(libraryName));
|
|
158
165
|
}
|
|
166
|
+
_provideRetirementNote() {
|
|
167
|
+
this.log(colors_1.default.bold(`See ${colors_1.default.underline(colors_1.default.blue('https://aka.ms/spfx-yeoman-info'))} for more information on how to use this generator.`));
|
|
168
|
+
}
|
|
159
169
|
_explainArguments() {
|
|
160
170
|
// If the CLI argument is specified, the corresponding prompting in sub-generators will be skipped.
|
|
161
171
|
// The following calls do similar jobs as prompting. Place them here instead of initializing step.
|
|
@@ -183,9 +193,16 @@ class AppGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
183
193
|
const componentTypeUpper = componentType.charAt(0).toUpperCase() + componentType.slice(1);
|
|
184
194
|
if (this.options.componentName) {
|
|
185
195
|
const webpartName = colors_1.default.cyan(this.options.componentName);
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
196
|
+
let frameworkWords = this.options.template;
|
|
197
|
+
if (!frameworkWords) {
|
|
198
|
+
frameworkWords = this.options.framework;
|
|
199
|
+
}
|
|
200
|
+
if (frameworkWords) {
|
|
201
|
+
frameworkWords = ' with ' + colors_1.default.cyan(frameworkWords) + ' framework';
|
|
202
|
+
}
|
|
203
|
+
else {
|
|
204
|
+
frameworkWords = '';
|
|
205
|
+
}
|
|
189
206
|
this.log(`${componentType === 'extension' ? 'An' : 'A'} ${componentType} with the name ${webpartName}` +
|
|
190
207
|
` will be added to your solution${frameworkWords}.`);
|
|
191
208
|
}
|
|
@@ -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;IAgG1B,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
|
-
{ name: 'No
|
|
56
|
+
const availableTemplates = [
|
|
57
|
+
{ name: 'No 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
|
{
|
|
@@ -82,27 +86,23 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
82
86
|
}
|
|
83
87
|
// required: true
|
|
84
88
|
},
|
|
85
|
-
{
|
|
86
|
-
type: 'input',
|
|
87
|
-
name: 'componentDescription',
|
|
88
|
-
when: () => !this.config.get('componentDescription'),
|
|
89
|
-
message: `What is your ${this.friendlyName} description?`,
|
|
90
|
-
default: (answers) => `${this.config.get('componentName') || answers.componentName} description`
|
|
91
|
-
// required: true
|
|
92
|
-
},
|
|
93
89
|
{
|
|
94
90
|
type: 'list',
|
|
95
|
-
name: '
|
|
96
|
-
when: () => !this.config.get('framework') &&
|
|
97
|
-
|
|
98
|
-
|
|
91
|
+
name: 'template',
|
|
92
|
+
when: () => !this.config.get('framework') &&
|
|
93
|
+
!this.config.get('template') &&
|
|
94
|
+
availableTemplates.length !== 1,
|
|
95
|
+
message: 'Which template would you like to use?',
|
|
96
|
+
choices: availableTemplates
|
|
99
97
|
}
|
|
100
98
|
]).then((answers) => {
|
|
101
|
-
|
|
99
|
+
const componentName = this.config.get('componentName') || answers.componentName;
|
|
100
|
+
this.context.template =
|
|
101
|
+
this.config.get('framework') || this.config.get('template') || answers.template || 'none';
|
|
102
102
|
this.context.componentDescription =
|
|
103
|
-
this.config.get('componentDescription') ||
|
|
103
|
+
this.config.get('componentDescription') || `${componentName} description`;
|
|
104
104
|
this.context.componentId = Utils.generateGuid();
|
|
105
|
-
const normalizedNames = normalizeComponentNames(
|
|
105
|
+
const normalizedNames = normalizeComponentNames(componentName, this.codeName);
|
|
106
106
|
this.context.componentNameUnescaped = normalizedNames.componentNameUnescaped;
|
|
107
107
|
this.context.componentName = normalizedNames.componentName;
|
|
108
108
|
this.context.componentNameCamelCase = normalizedNames.componentNameCamelCase;
|
|
@@ -123,7 +123,7 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
123
123
|
});
|
|
124
124
|
}
|
|
125
125
|
configuring(bundleEntry) {
|
|
126
|
-
this.ensureDependencyGroup(this.context.
|
|
126
|
+
this.ensureDependencyGroup(this.context.template);
|
|
127
127
|
if (!this.configJson.data) {
|
|
128
128
|
throw new Error(`Missing required file: "config/config.json"`);
|
|
129
129
|
}
|
|
@@ -154,7 +154,7 @@ class BaseComponentGenerator extends BaseGenerator_1.BaseGenerator {
|
|
|
154
154
|
super.writing(false);
|
|
155
155
|
if (shouldWrite) {
|
|
156
156
|
const dest = this._getOutputFolder(this.context.componentNameCamelCase);
|
|
157
|
-
this.copyTemplate(path.join(this.sourceRoot(), this.context.
|
|
157
|
+
this.copyTemplate(path.join(this.sourceRoot(), this.context.template), dest);
|
|
158
158
|
this.copyTemplate(path.join(this.sourceRoot(), 'base'), dest);
|
|
159
159
|
}
|
|
160
160
|
}
|
|
@@ -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;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;
|
|
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"}
|
|
@@ -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,7 +31,6 @@ 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}`;
|
|
@@ -43,7 +40,6 @@ export default class <%= componentClassName %>
|
|
|
43
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,17 +10,14 @@ 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
23
|
<div className={styles.<%= componentName %>}>
|
|
@@ -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"}
|