@salesforce/templates 66.10.4 → 66.11.1

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.
Files changed (76) hide show
  1. package/lib/generators/apexClassGenerator.js +9 -2
  2. package/lib/generators/apexClassGenerator.js.map +1 -1
  3. package/lib/i18n/i18n.d.ts +1 -0
  4. package/lib/i18n/i18n.js +1 -0
  5. package/lib/i18n/i18n.js.map +1 -1
  6. package/lib/templates/apexclass/Batchable.cls +15 -0
  7. package/lib/templates/apexclass/Queueable.cls +13 -0
  8. package/lib/templates/project/reactexternalapp/_p_/_m_/_w_/_a_/package-lock.json +1245 -1169
  9. package/lib/templates/project/reactinternalapp/_p_/_m_/_w_/_a_/package-lock.json +1238 -1162
  10. package/lib/templates/uiBundles/angularbasic/angular.json +11 -7
  11. package/lib/templates/uiBundles/angularbasic/eslint.config.js +4 -0
  12. package/lib/templates/uiBundles/angularbasic/package-lock.json +459 -908
  13. package/lib/templates/uiBundles/angularbasic/package.json +6 -2
  14. package/lib/templates/uiBundles/angularbasic/src/app/api/{graphql-client.service.spec.ts → data-client.service.spec.ts} +36 -6
  15. package/lib/templates/uiBundles/angularbasic/src/app/api/data-client.service.ts +74 -0
  16. package/lib/templates/uiBundles/angularbasic/src/app/app.config.ts +15 -1
  17. package/lib/templates/uiBundles/angularbasic/src/app/app.routes.ts +6 -1
  18. package/lib/templates/uiBundles/angularbasic/src/app/app.ts +7 -2
  19. package/lib/templates/uiBundles/angularbasic/src/app/{layout → components/layout/app-layout}/app-layout.component.html +2 -1
  20. package/lib/templates/uiBundles/angularbasic/src/app/{layout → components/layout/app-layout}/app-layout.component.ts +9 -3
  21. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/_field-size.scss +42 -0
  22. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/alert/alert.component.html +31 -0
  23. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/alert/alert.component.ts +53 -0
  24. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.component.html +18 -0
  25. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.component.scss +112 -0
  26. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/button/button.component.ts +57 -0
  27. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/card/card.component.scss +34 -0
  28. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/card/card.component.ts +110 -0
  29. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/collapsible/collapsible.component.html +10 -0
  30. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/collapsible/collapsible.component.ts +26 -0
  31. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.component.html +25 -0
  32. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.component.scss +36 -0
  33. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-picker/date-picker.component.ts +41 -0
  34. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.component.html +34 -0
  35. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.component.scss +33 -0
  36. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/date-range-picker/date-range-picker.component.ts +66 -0
  37. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dialog/dialog.component.html +37 -0
  38. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/dialog/dialog.component.ts +55 -0
  39. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field/field.component.html +21 -0
  40. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field/field.component.ts +36 -0
  41. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/field-size.ts +8 -0
  42. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.component.html +19 -0
  43. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.component.scss +35 -0
  44. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/input/input.component.ts +36 -0
  45. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/label/label.component.html +3 -0
  46. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/label/label.component.ts +17 -0
  47. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/paginator/paginator.component.html +10 -0
  48. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/paginator/paginator.component.ts +37 -0
  49. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/popover/popover.component.html +41 -0
  50. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/popover/popover.component.ts +40 -0
  51. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.component.html +24 -0
  52. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.component.scss +35 -0
  53. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/select/select.component.ts +72 -0
  54. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.component.html +1 -0
  55. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.component.scss +23 -0
  56. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/separator/separator.component.ts +56 -0
  57. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.component.html +1 -0
  58. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.component.scss +28 -0
  59. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/skeleton/skeleton.component.ts +24 -0
  60. package/lib/templates/uiBundles/angularbasic/src/app/components/ui/spinner/spinner.component.ts +35 -0
  61. package/lib/templates/uiBundles/angularbasic/src/app/pages/home/home.component.ts +7 -1
  62. package/lib/templates/uiBundles/angularbasic/src/app/pages/not-found/not-found.component.ts +7 -1
  63. package/lib/templates/uiBundles/angularbasic/src/app/utils/async-data.ts +99 -0
  64. package/lib/templates/uiBundles/angularbasic/src/index.html +1 -0
  65. package/lib/templates/uiBundles/angularbasic/src/styles.scss +170 -0
  66. package/lib/templates/uiBundles/angularbasic/src/theme.scss +39 -0
  67. package/lib/templates/uiBundles/reactbasic/package-lock.json +1238 -1162
  68. package/lib/utils/createUtil.d.ts +2 -0
  69. package/lib/utils/createUtil.js +7 -0
  70. package/lib/utils/createUtil.js.map +1 -1
  71. package/lib/utils/types.d.ts +11 -3
  72. package/package.json +3 -3
  73. package/lib/templates/uiBundles/angularbasic/src/app/api/graphql-client.service.ts +0 -51
  74. package/lib/templates/uiBundles/angularbasic/src/app/app.css +0 -0
  75. package/lib/templates/uiBundles/angularbasic/src/styles.css +0 -12
  76. /package/lib/templates/uiBundles/angularbasic/src/app/{layout → components/layout/app-layout}/app-layout.component.spec.ts +0 -0
@@ -12,14 +12,21 @@ const utils_1 = require("../utils");
12
12
  const baseGenerator_1 = require("./baseGenerator");
13
13
  class ApexClassGenerator extends baseGenerator_1.BaseGenerator {
14
14
  validateOptions() {
15
+ var _a;
15
16
  utils_1.CreateUtil.checkInputs(this.options.template);
16
17
  utils_1.CreateUtil.checkInputs(this.options.classname);
18
+ if (this.options.template === 'Batchable' &&
19
+ ((_a = this.options.sobjecttype) === null || _a === void 0 ? void 0 : _a.trim())) {
20
+ utils_1.CreateUtil.checkSObjectType(this.options.sobjecttype.trim());
21
+ }
17
22
  }
18
23
  generate() {
19
24
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
20
- const { template, classname } = this.options;
25
+ const { template, classname, sobjecttype } = this.options;
21
26
  this.sourceRootWithPartialPath('apexclass');
22
- yield this.render(this.templatePath(`${template}.cls`), this.destinationPath(path.join(this.outputdir, `${classname}.cls`)), { apiName: classname });
27
+ yield this.render(this.templatePath(`${template}.cls`), this.destinationPath(path.join(this.outputdir, `${classname}.cls`)), Object.assign({ apiName: classname }, (template === 'Batchable' && {
28
+ sobjectType: (sobjecttype === null || sobjecttype === void 0 ? void 0 : sobjecttype.trim()) || 'SObject',
29
+ })));
23
30
  yield this.render(this.templatePath('_class.cls-meta.xml'), this.destinationPath(path.join(this.outputdir, `${classname}.cls-meta.xml`)), { apiName: classname, apiVersion: this.apiversion });
24
31
  });
25
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"apexClassGenerator.js","sourceRoot":"","sources":["../../src/generators/apexClassGenerator.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA6B;AAC7B,oCAAsC;AAEtC,mDAAgD;AAEhD,MAAqB,kBAAmB,SAAQ,6BAA+B;IACtE,eAAe;QACpB,kBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,kBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IACjD,CAAC;IAEY,QAAQ;;YACnB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC7C,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAE5C,MAAM,IAAI,CAAC,MAAM,CACf,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,MAAM,CAAC,EACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC,EACnE,EAAE,OAAO,EAAE,SAAS,EAAE,CACvB,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CACf,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EACxC,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,eAAe,CAAC,CACvD,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CACpD,CAAC;QACJ,CAAC;KAAA;CACF;AAxBD,qCAwBC"}
1
+ {"version":3,"file":"apexClassGenerator.js","sourceRoot":"","sources":["../../src/generators/apexClassGenerator.ts"],"names":[],"mappings":";;;AAAA;;;;;GAKG;AACH,6BAA6B;AAC7B,oCAAsC;AAEtC,mDAAgD;AAEhD,MAAqB,kBAAmB,SAAQ,6BAA+B;IACtE,eAAe;;QACpB,kBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QAC9C,kBAAU,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAC/C,IACE,IAAI,CAAC,OAAO,CAAC,QAAQ,KAAK,WAAW;aACrC,MAAA,IAAI,CAAC,OAAO,CAAC,WAAW,0CAAE,IAAI,EAAE,CAAA,EAChC,CAAC;YACD,kBAAU,CAAC,gBAAgB,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAEY,QAAQ;;YACnB,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC,OAAO,CAAC;YAC1D,IAAI,CAAC,yBAAyB,CAAC,WAAW,CAAC,CAAC;YAE5C,MAAM,IAAI,CAAC,MAAM,CACf,IAAI,CAAC,YAAY,CAAC,GAAG,QAAQ,MAAM,CAAC,EACpC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,MAAM,CAAC,CAAC,kBAEjE,OAAO,EAAE,SAAS,IACf,CAAC,QAAQ,KAAK,WAAW,IAAI;gBAC9B,WAAW,EAAE,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,EAAE,KAAI,SAAS;aAC9C,CAAC,EAEL,CAAC;YAEF,MAAM,IAAI,CAAC,MAAM,CACf,IAAI,CAAC,YAAY,CAAC,qBAAqB,CAAC,EACxC,IAAI,CAAC,eAAe,CAClB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,SAAS,eAAe,CAAC,CACvD,EACD,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,UAAU,EAAE,CACpD,CAAC;QACJ,CAAC;KAAA;CACF;AAnCD,qCAmCC"}
@@ -38,6 +38,7 @@ export declare const messages: {
38
38
  MissingFlexipageTemplate: string;
39
39
  FailedToLoadFlexipageTemplatesRepo: string;
40
40
  AlphaNumericValidationError: string;
41
+ InvalidSObjectType: string;
41
42
  InvalidLightningEmbeddingSrcUrl: string;
42
43
  InvalidLightningEmbeddingSrcChar: string;
43
44
  InvalidLightningEmbeddingSandboxToken: string;
package/lib/i18n/i18n.js CHANGED
@@ -47,6 +47,7 @@ exports.messages = {
47
47
  MissingFlexipageTemplate: 'FlexiPage template "%s" not found in repository: %s. Please verify the template name is correct.',
48
48
  FailedToLoadFlexipageTemplatesRepo: 'Failed to load the FlexiPage templates repository. Please verify the URL is correct and accessible.',
49
49
  AlphaNumericValidationError: '%s must contain only alphanumeric characters.',
50
+ InvalidSObjectType: 'Invalid sobjecttype "%s". It must be a valid SObject API name: start with a letter, contain only letters, numbers, and underscores, and not end with an underscore.',
50
51
  InvalidLightningEmbeddingSrcUrl: 'The --src flag must be an absolute https URL (e.g., https://app.example.com). Plain http is only allowed for localhost or 127.0.0.1.',
51
52
  InvalidLightningEmbeddingSrcChar: 'The --src flag must not contain a single-quote character; it would break the generated JavaScript string literal.',
52
53
  InvalidLightningEmbeddingSandboxToken: 'Invalid sandbox tokens: %s. Valid tokens are: %s.',
@@ -1 +1 @@
1
- {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,qBAAqB,EAAE,iDAAiD;IACxE,4BAA4B,EAAE,gCAAgC;IAC9D,sBAAsB,EAAE,oCAAoC;IAC5D,qBAAqB,EAAE,+CAA+C;IACtE,eAAe,EAAE,uDAAuD;IAExE,uBAAuB,EACrB,sEAAsE;IACxE,cAAc,EAAE,2DAA2D;IAC3E,aAAa,EAAE,0DAA0D;IACzE,mBAAmB,EACjB,yDAAyD;IAC3D,oBAAoB,EAClB,0DAA0D;IAC5D,iCAAiC,EAC/B,kDAAkD;IAEpD,6BAA6B,EAC3B,iDAAiD;IACnD,qCAAqC,EACnC,gEAAgE;IAClE,iCAAiC,EAC/B,iEAAiE;IACnE,6BAA6B,EAAE,6CAA6C;IAC5E,0CAA0C,EACxC,oEAAoE;IACtE,kBAAkB,EAAE,gCAAgC;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,oBAAoB,EAAE,0BAA0B;IAChD,wBAAwB,EAAE,8BAA8B;IACxD,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,qBAAqB;IAChC,oBAAoB,EAAE,kCAAkC;IACxD,wBAAwB,EACtB,0DAA0D;IAC5D,4BAA4B,EAC1B,yGAAyG;IAC3G,sBAAsB,EACpB,mHAAmH;IACrH,wBAAwB,EACtB,kGAAkG;IACpG,kCAAkC,EAChC,qGAAqG;IAEvG,2BAA2B,EAAE,+CAA+C;IAE5E,+BAA+B,EAC7B,sIAAsI;IACxI,gCAAgC,EAC9B,mHAAmH;IACrH,qCAAqC,EACnC,mDAAmD;IACrD,mCAAmC,EACjC,uGAAuG;IACzG,uCAAuC,EACrC,gHAAgH;IAClH,wBAAwB,EACtB,8EAA8E;CACjF,CAAC"}
1
+ {"version":3,"file":"i18n.js","sourceRoot":"","sources":["../../src/i18n/i18n.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEH;;;;;;;;;GASG;AACU,QAAA,QAAQ,GAAG;IACtB,qBAAqB,EAAE,iDAAiD;IACxE,4BAA4B,EAAE,gCAAgC;IAC9D,sBAAsB,EAAE,oCAAoC;IAC5D,qBAAqB,EAAE,+CAA+C;IACtE,eAAe,EAAE,uDAAuD;IAExE,uBAAuB,EACrB,sEAAsE;IACxE,cAAc,EAAE,2DAA2D;IAC3E,aAAa,EAAE,0DAA0D;IACzE,mBAAmB,EACjB,yDAAyD;IAC3D,oBAAoB,EAClB,0DAA0D;IAC5D,iCAAiC,EAC/B,kDAAkD;IAEpD,6BAA6B,EAC3B,iDAAiD;IACnD,qCAAqC,EACnC,gEAAgE;IAClE,iCAAiC,EAC/B,iEAAiE;IACnE,6BAA6B,EAAE,6CAA6C;IAC5E,0CAA0C,EACxC,oEAAoE;IACtE,kBAAkB,EAAE,gCAAgC;IACpD,wBAAwB,EAAE,8BAA8B;IACxD,oBAAoB,EAAE,0BAA0B;IAChD,wBAAwB,EAAE,8BAA8B;IACxD,aAAa,EAAE,kBAAkB;IACjC,SAAS,EAAE,qBAAqB;IAChC,oBAAoB,EAAE,kCAAkC;IACxD,wBAAwB,EACtB,0DAA0D;IAC5D,4BAA4B,EAC1B,yGAAyG;IAC3G,sBAAsB,EACpB,mHAAmH;IACrH,wBAAwB,EACtB,kGAAkG;IACpG,kCAAkC,EAChC,qGAAqG;IAEvG,2BAA2B,EAAE,+CAA+C;IAE5E,kBAAkB,EAChB,qKAAqK;IAEvK,+BAA+B,EAC7B,sIAAsI;IACxI,gCAAgC,EAC9B,mHAAmH;IACrH,qCAAqC,EACnC,mDAAmD;IACrD,mCAAmC,EACjC,uGAAuG;IACzG,uCAAuC,EACrC,gHAAgH;IAClH,wBAAwB,EACtB,8EAA8E;CACjF,CAAC"}
@@ -0,0 +1,15 @@
1
+ public with sharing class <%= apiName %> implements Database.Batchable<<%= sobjectType %>>, Database.RaisesPlatformEvents {
2
+
3
+ public Database.QueryLocator start(Database.BatchableContext context) {
4
+ // TODO: add a WHERE clause to filter records
5
+ return Database.getQueryLocator([SELECT Id FROM <%= sobjectType %>]);
6
+ }
7
+
8
+ public void execute(Database.BatchableContext context, List<<%= sobjectType %>> scope) {
9
+
10
+ }
11
+
12
+ public void finish(Database.BatchableContext context) {
13
+
14
+ }
15
+ }
@@ -0,0 +1,13 @@
1
+ public with sharing class <%= apiName %> implements Queueable, Finalizer {
2
+
3
+ public void execute(QueueableContext context) {
4
+ System.attachFinalizer(this);
5
+ // TODO: implement job logic here
6
+ }
7
+
8
+ public void execute(FinalizerContext context) {
9
+ if (context.getResult() == ParentJobResult.UNHANDLED_EXCEPTION) {
10
+ // handle failure
11
+ }
12
+ }
13
+ }