@sap-ux/fe-fpm-writer 0.2.0 → 0.4.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.
Files changed (37) hide show
  1. package/CHANGELOG.md +27 -1
  2. package/dist/action/index.d.ts.map +1 -1
  3. package/dist/action/index.js +4 -1
  4. package/dist/action/index.js.map +1 -1
  5. package/dist/column/index.d.ts.map +1 -1
  6. package/dist/column/index.js +7 -18
  7. package/dist/column/index.js.map +1 -1
  8. package/dist/common/defaults.d.ts +10 -0
  9. package/dist/common/defaults.d.ts.map +1 -1
  10. package/dist/common/defaults.js +24 -1
  11. package/dist/common/defaults.js.map +1 -1
  12. package/dist/index.d.ts +2 -0
  13. package/dist/index.d.ts.map +1 -1
  14. package/dist/index.js +3 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/page/index.d.ts.map +1 -1
  17. package/dist/page/index.js +8 -2
  18. package/dist/page/index.js.map +1 -1
  19. package/dist/section/index.d.ts +20 -0
  20. package/dist/section/index.d.ts.map +1 -0
  21. package/dist/section/index.js +83 -0
  22. package/dist/section/index.js.map +1 -0
  23. package/dist/section/types.d.ts +28 -0
  24. package/dist/section/types.d.ts.map +1 -0
  25. package/dist/section/types.js +3 -0
  26. package/dist/section/types.js.map +1 -0
  27. package/package.json +1 -1
  28. package/templates/common/Fragment.xml +3 -0
  29. package/templates/page/1.84/ext/Controller.js +8 -8
  30. package/templates/page/1.84/ext/View.xml +4 -4
  31. package/templates/page/1.84/manifest.json +9 -9
  32. package/templates/page/1.94/ext/Controller.js +8 -8
  33. package/templates/page/1.94/ext/View.xml +4 -4
  34. package/templates/page/1.94/manifest.json +11 -11
  35. package/templates/section/1.85/manifest.json +33 -0
  36. package/templates/section/1.86/manifest.json +32 -0
  37. package/templates/column/ext/CustomColumnFragment.xml +0 -4
package/CHANGELOG.md CHANGED
@@ -1,6 +1,32 @@
1
1
  # @sap-ux/fe-fpm-writer
2
2
 
3
+ ## 0.4.0
4
+
5
+ ### Minor Changes
6
+
7
+ - 85c75f2: For all extension types, prevent overwiting existing files.
8
+ Files only will be created and filled with default values if they do not exist yet.
9
+
10
+ ## 0.3.1
11
+
12
+ ### Patch Changes
13
+
14
+ - b0f69fe: Custom Section. Fix to support old(<1.86) and new(>=1.86) manifest.json syntaxes
15
+
16
+ ## 0.3.0
17
+
18
+ ### Minor Changes
19
+
20
+ - c50f4e0: Custom Section support for fe-fpm-writer
21
+
22
+ ## 0.2.1
23
+
24
+ ### Patch Changes
25
+
26
+ - b7617b6: Use consistent whitespace for indentation in templates
27
+
3
28
  ## 0.2.0
29
+
4
30
  ### Minor Changes
5
31
 
6
- - 62e7369: Initial version of the Fiori elements flexible programming model write supporting custom action, columns and pages
32
+ - 62e7369: Initial version of the Fiori elements flexible programming model write supporting custom action, columns and pages
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAiB,YAAY,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AA+BhG;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,GAAG,GAAG,CAqB3G;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA0BtG"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAiB,YAAY,EAAE,kBAAkB,EAAwB,MAAM,SAAS,CAAC;AA+BhG;;;;;;GAMG;AACH,wBAAgB,4CAA4C,CAAC,QAAQ,EAAE,GAAG,EAAE,MAAM,EAAE,kBAAkB,GAAG,GAAG,CAqB3G;AAED;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA6BtG"}
@@ -76,7 +76,10 @@ function generateCustomAction(basePath, actionConfig, fs) {
76
76
  const root = (0, path_1.join)(__dirname, '../../templates');
77
77
  // add event handler if requested
78
78
  if (config.settings.eventHandler === true) {
79
- fs.copyTpl((0, path_1.join)(root, 'common/EventHandler.js'), (0, path_1.join)(config.path, `${config.name}.js`), config);
79
+ const controllerPath = (0, path_1.join)(config.path, `${config.name}.js`);
80
+ if (!fs.exists(controllerPath)) {
81
+ fs.copyTpl((0, path_1.join)(root, 'common/EventHandler.js'), controllerPath, config);
82
+ }
80
83
  config.settings.eventHandler = `${config.ns}.${config.name}.onPress`;
81
84
  }
82
85
  // enhance manifest with action definition and controller reference
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/action/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/column/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAMvE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ3D;AAyCD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAkC3G"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/column/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,iBAAiB,EAA6B,MAAM,SAAS,CAAC;AAMvE;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAQ3D;AA8BD;;;;;;;GAOG;AACH,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,MAAM,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAoC3G"}
@@ -42,23 +42,10 @@ function enhanceConfig(data, manifestPath, manifest) {
42
42
  config.eventHandler = `${config.ns}.${config.name}.onPress`;
43
43
  }
44
44
  // generate column content
45
- if (config.control) {
46
- config.content = config.control;
47
- }
48
- else {
49
- const content = config.properties && config.properties.length > 0
50
- ? `{=%{${config.properties.join("} + ' ' + %{")}}}`
51
- : 'Sample Text';
52
- if (config.eventHandler) {
53
- const parts = config.eventHandler.split('.');
54
- const method = parts.pop();
55
- const handler = parts.join('/');
56
- config.content = `<Button core:require="{ handler: '${handler}'}" text="${content}" press="handler.${method}" />`;
57
- }
58
- else {
59
- config.content = `<Text text="${content}" />`;
60
- }
61
- }
45
+ const content = config.properties && config.properties.length > 0
46
+ ? `{=%{${config.properties.join("} + ' ' + %{")}}}`
47
+ : 'Sample Text';
48
+ config.content = config.control || (0, defaults_1.getDefaultFragmentContent)(content, config.eventHandler);
62
49
  return config;
63
50
  }
64
51
  /**
@@ -90,7 +77,9 @@ function generateCustomColumn(basePath, customColumn, fs) {
90
77
  fs.extendJSON(manifestPath, JSON.parse(filledTemplate));
91
78
  // add fragment
92
79
  const viewPath = (0, path_1.join)(completeColumn.path, `${completeColumn.name}.fragment.xml`);
93
- fs.copyTpl((0, path_1.join)(root, 'column/ext/CustomColumnFragment.xml'), viewPath, completeColumn);
80
+ if (completeColumn.control || !fs.exists(viewPath)) {
81
+ fs.copyTpl((0, path_1.join)(root, 'common/Fragment.xml'), viewPath, completeColumn);
82
+ }
94
83
  return fs;
95
84
  }
96
85
  exports.generateCustomColumn = generateCustomColumn;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/column/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/column/index.ts"],"names":[],"mappings":"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"}
@@ -8,4 +8,14 @@ import { CustomElement, InternalCustomElement, Manifest } from './types';
8
8
  * @returns enhanced configuration
9
9
  */
10
10
  export declare function setCommonDefaults<T extends CustomElement & Partial<InternalCustomElement>>(config: T, manifestPath: string, manifest: Manifest): InternalCustomElement & T;
11
+ /**
12
+ * Method to generate default content for xml fragment.
13
+ *
14
+ * @param {string} text - text of button or label
15
+ * @param {string} [eventHandler] - event handler path
16
+ * if value is passed then "Button" control with 'press' event would be generated
17
+ * if value is not passed then "Text" control would be generated
18
+ * @returns default content for fragment
19
+ */
20
+ export declare function getDefaultFragmentContent(text: string, eventHandler?: string): string;
11
21
  //# sourceMappingURL=defaults.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/common/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGzE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,EACtF,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,GACnB,qBAAqB,GAAG,CAAC,CAa3B"}
1
+ {"version":3,"file":"defaults.d.ts","sourceRoot":"","sources":["../../src/common/defaults.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAC;AAGzE;;;;;;;GAOG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,SAAS,aAAa,GAAG,OAAO,CAAC,qBAAqB,CAAC,EACtF,MAAM,EAAE,CAAC,EACT,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,GACnB,qBAAqB,GAAG,CAAC,CAa3B;AAED;;;;;;;;GAQG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,MAAM,CAWrF"}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.setCommonDefaults = void 0;
3
+ exports.getDefaultFragmentContent = exports.setCommonDefaults = void 0;
4
4
  const path_1 = require("path");
5
5
  /**
6
6
  * Sets the common default values for all custom elements.
@@ -22,4 +22,27 @@ function setCommonDefaults(config, manifestPath, manifest) {
22
22
  return config;
23
23
  }
24
24
  exports.setCommonDefaults = setCommonDefaults;
25
+ /**
26
+ * Method to generate default content for xml fragment.
27
+ *
28
+ * @param {string} text - text of button or label
29
+ * @param {string} [eventHandler] - event handler path
30
+ * if value is passed then "Button" control with 'press' event would be generated
31
+ * if value is not passed then "Text" control would be generated
32
+ * @returns default content for fragment
33
+ */
34
+ function getDefaultFragmentContent(text, eventHandler) {
35
+ let content;
36
+ if (eventHandler) {
37
+ const parts = eventHandler.split('.');
38
+ const method = parts.pop();
39
+ const handler = parts.join('/');
40
+ content = `<Button core:require="{ handler: '${handler}'}" text="${text}" press="handler.${method}" />`;
41
+ }
42
+ else {
43
+ content = `<Text text="${text}" />`;
44
+ }
45
+ return content;
46
+ }
47
+ exports.getDefaultFragmentContent = getDefaultFragmentContent;
25
48
  //# sourceMappingURL=defaults.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/common/defaults.ts"],"names":[],"mappings":";;;AACA,+BAAqC;AAErC;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC7B,MAAS,EACT,YAAoB,EACpB,QAAkB;IAElB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjE,oCAAoC;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnG,uDAAuD;IACvD,MAAM,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7E,MAAM,CAAC,IAAI,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,OAAO,MAAmC,CAAC;AAC/C,CAAC;AAjBD,8CAiBC"}
1
+ {"version":3,"file":"defaults.js","sourceRoot":"","sources":["../../src/common/defaults.ts"],"names":[],"mappings":";;;AACA,+BAAqC;AAErC;;;;;;;GAOG;AACH,SAAgB,iBAAiB,CAC7B,MAAS,EACT,YAAoB,EACpB,QAAkB;IAElB,6BAA6B;IAC7B,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACjC,MAAM,CAAC,IAAI,GAAG,SAAS,CAAC,WAAW,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;IAEjE,oCAAoC;IACpC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,OAAO,SAAS,CAAC,iBAAiB,EAAE,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC;IAEnG,uDAAuD;IACvD,MAAM,CAAC,EAAE,GAAG,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE,CAAC;IAC7E,MAAM,CAAC,IAAI,GAAG,IAAA,WAAI,EAAC,IAAA,cAAO,EAAC,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;IAEzD,OAAO,MAAmC,CAAC;AAC/C,CAAC;AAjBD,8CAiBC;AAED;;;;;;;;GAQG;AACH,SAAgB,yBAAyB,CAAC,IAAY,EAAE,YAAqB;IACzE,IAAI,OAAe,CAAC;IACpB,IAAI,YAAY,EAAE;QACd,MAAM,KAAK,GAAI,YAAuB,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClD,MAAM,MAAM,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC;QAC3B,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAChC,OAAO,GAAG,qCAAqC,OAAO,aAAa,IAAI,oBAAoB,MAAM,MAAM,CAAC;KAC3G;SAAM;QACH,OAAO,GAAG,eAAe,IAAI,MAAM,CAAC;KACvC;IACD,OAAO,OAAO,CAAC;AACnB,CAAC;AAXD,8DAWC"}
package/dist/index.d.ts CHANGED
@@ -4,5 +4,7 @@ export { CustomAction, TargetControl } from './action/types';
4
4
  export { generateCustomAction } from './action';
5
5
  export { CustomTableColumn } from './column/types';
6
6
  export { generateCustomColumn } from './column';
7
+ export { CustomSection } from './section/types';
8
+ export { generateCustomSection } from './section';
7
9
  export { validateBasePath, validateVersion } from './common/validate';
8
10
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;AAE5C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAElD,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.validateVersion = exports.validateBasePath = exports.generateCustomColumn = exports.generateCustomAction = exports.TargetControl = exports.generateCustomPage = void 0;
3
+ exports.validateVersion = exports.validateBasePath = exports.generateCustomSection = exports.generateCustomColumn = exports.generateCustomAction = exports.TargetControl = exports.generateCustomPage = void 0;
4
4
  var page_1 = require("./page");
5
5
  Object.defineProperty(exports, "generateCustomPage", { enumerable: true, get: function () { return page_1.generateCustomPage; } });
6
6
  var types_1 = require("./action/types");
@@ -9,6 +9,8 @@ var action_1 = require("./action");
9
9
  Object.defineProperty(exports, "generateCustomAction", { enumerable: true, get: function () { return action_1.generateCustomAction; } });
10
10
  var column_1 = require("./column");
11
11
  Object.defineProperty(exports, "generateCustomColumn", { enumerable: true, get: function () { return column_1.generateCustomColumn; } });
12
+ var section_1 = require("./section");
13
+ Object.defineProperty(exports, "generateCustomSection", { enumerable: true, get: function () { return section_1.generateCustomSection; } });
12
14
  var validate_1 = require("./common/validate");
13
15
  Object.defineProperty(exports, "validateBasePath", { enumerable: true, get: function () { return validate_1.validateBasePath; } });
14
16
  Object.defineProperty(exports, "validateVersion", { enumerable: true, get: function () { return validate_1.validateVersion; } });
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAAnC,0GAAA,kBAAkB,OAAA;AAE3B,wCAA6D;AAAtC,sGAAA,aAAa,OAAA;AACpC,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAG7B,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAE7B,8CAAsE;AAA7D,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AACA,+BAA4C;AAAnC,0GAAA,kBAAkB,OAAA;AAE3B,wCAA6D;AAAtC,sGAAA,aAAa,OAAA;AACpC,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAG7B,mCAAgD;AAAvC,8GAAA,oBAAoB,OAAA;AAG7B,qCAAkD;AAAzC,gHAAA,qBAAqB,OAAA;AAE9B,8CAAsE;AAA7D,4GAAA,gBAAgB,OAAA;AAAE,2GAAA,eAAe,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AAIzD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3D;AAgCD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBlG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAsB1F"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAI/C,OAAO,EAAE,UAAU,EAAsB,MAAM,SAAS,CAAC;AAIzD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAM3D;AAgCD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAyBlG;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CA4B1F"}
@@ -103,8 +103,14 @@ function generateCustomPage(basePath, data, fs) {
103
103
  return value;
104
104
  });
105
105
  // add extension content
106
- fs.copyTpl((0, path_1.join)(root, 'ext/View.xml'), (0, path_1.join)(config.path, `${config.name}.view.xml`), config);
107
- fs.copyTpl((0, path_1.join)(root, 'ext/Controller.js'), (0, path_1.join)(config.path, `${config.name}.controller.js`), config);
106
+ const viewPath = (0, path_1.join)(config.path, `${config.name}.view.xml`);
107
+ if (!fs.exists(viewPath)) {
108
+ fs.copyTpl((0, path_1.join)(root, 'ext/View.xml'), viewPath, config);
109
+ }
110
+ const controllerPath = (0, path_1.join)(config.path, `${config.name}.controller.js`);
111
+ if (!fs.exists(controllerPath)) {
112
+ fs.copyTpl((0, path_1.join)(root, 'ext/Controller.js'), controllerPath, config);
113
+ }
108
114
  return fs;
109
115
  }
110
116
  exports.generateCustomPage = generateCustomPage;
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/page/index.ts"],"names":[],"mappings":";;;AAAA,+BAA4B;AAC5B,mCAAiD;AACjD,iDAA+C;AAC/C,6BAA6B;AAE7B,yCAAyC;AAEzC,iDAAuE;AAGvE;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,UAAmB;IAC/C,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,IAAI,IAAI,EAAE;QAChD,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;KACvD;SAAM;QACH,OAAO,IAAA,WAAI,EAAC,SAAS,EAAE,2BAA2B,CAAC,CAAC;KACvD;AACL,CAAC;AAND,0CAMC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,MAAkB,EAAE,MAA0B;IAChE,MAAM,QAAQ,GAAsB;QAChC,IAAI,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,EAAE;KACzC,CAAC;IACF,IAAI,MAAM,CAAC,UAAU,EAAE;QACnB,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,WAAC,OAAA,KAAK,CAAC,IAAI,MAAK,MAAA,MAAM,CAAC,UAAU,0CAAE,UAAU,CAAA,CAAA,EAAA,CAAC,CAAC;QACzF,QAAQ,CAAC,OAAO,GAAG,GAAG,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC,IAAI,MAAM,CAAC,UAAU,CAAC,SAAS,KAC7F,MAAM,CAAC,UAAU,CAAC,SACtB,eAAe,CAAC;QAChB,IAAI,CAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,MAAM,CAAC,WAAW,MAAK,KAAK,EAAE;YAC3C,MAAM,KAAK,GAAG,WAAW,CAAC,MAAM,CAAC;YACjC,2GAA2G;YAC3G,QAAQ,CAAC,MAAM;gBACX,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAE,QAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,EAAG,QAAqB,CAAC,IAAI,CAAC,CAAC;SAClG;aAAM;YACH,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;SACnC;KACJ;SAAM;QACH,QAAQ,CAAC,OAAO,GAAG,GAAG,MAAM,CAAC,MAAM,iBAAiB,CAAC;QACrD,QAAQ,CAAC,MAAM,GAAG,QAAQ,CAAC,IAAI,CAAC;KACnC;IACD,MAAM,CAAC,IAAI,CAAC,QAAoB,CAAC,CAAC;AACtC,CAAC;AAED;;;;;;;GAOG;AACH,SAAgB,wBAAwB,CAAC,QAAgB,EAAE,MAAkB,EAAE,EAAW;;IACtF,oBAAoB;IACpB,IAAA,0BAAe,EAAC,MAAM,CAAC,UAAU,CAAC,CAAC;IACnC,IAAI,CAAC,EAAE,EAAE;QACL,EAAE,GAAG,IAAA,sBAAM,EAAC,IAAA,eAAa,GAAE,CAAC,CAAC;KAChC;IACD,IAAA,2BAAgB,EAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAE/B,uCAAuC;IACvC,MAAM,QAAQ,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAA,WAAI,EAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAsB,CAAC;IAC1F,IAAI,MAAM,CAAC,UAAU,EAAE;QACnB,IAAI,CAAC,CAAA,MAAA,MAAA,QAAQ,CAAC,SAAS,CAAC,0CAAE,OAAO,0CAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA,EAAE;YACtE,MAAM,IAAI,KAAK,CAAC,oCAAoC,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CAAC,CAAC;SACxF;QACD,MAAM,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CACjD,CAAC,KAAe,EAAE,EAAE,WAAC,OAAA,KAAK,CAAC,IAAI,MAAK,MAAA,MAAM,CAAC,UAAU,0CAAE,UAAU,CAAA,CAAA,EAAA,CACpE,CAAC;QACF,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAC3C,MAAM,IAAI,KAAK,CACX,kEAAkE,MAAM,CAAC,UAAU,CAAC,UAAU,GAAG,CACpG,CAAC;SACL;KACJ;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AAzBD,4DAyBC;AAED;;;;;;;GAOG;AACH,SAAgB,kBAAkB,CAAC,QAAgB,EAAE,IAAgB,EAAE,EAAW;IAC9E,EAAE,GAAG,wBAAwB,CAAC,QAAQ,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAElD,MAAM,YAAY,GAAG,IAAA,WAAI,EAAC,QAAQ,EAAE,sBAAsB,CAAC,CAAC;IAC5D,MAAM,MAAM,GAAG,IAAA,sBAAW,EAAC,IAAI,EAAE,YAAY,EAAE,EAAE,CAAC,CAAC;IAEnD,oCAAoC;IACpC,MAAM,IAAI,GAAG,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAE9C,wBAAwB;IACxB,EAAE,CAAC,UAAU,CAAC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,IAAA,YAAM,EAAC,EAAE,CAAC,IAAI,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,eAAe,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;QACzG,IAAI,GAAG,KAAK,QAAQ,EAAE;YAClB,YAAY,CAAC,KAAmB,EAAE,MAAM,CAAC,CAAC;SAC7C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,QAAQ,GAAG,IAAA,WAAI,EAAC,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,WAAW,CAAC,CAAC;IAC9D,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE;QACtB,EAAE,CAAC,OAAO,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,cAAc,CAAC,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC;KAC5D;IACD,MAAM,cAAc,GAAG,IAAA,WAAI,EAAC,MAAM,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,IAAI,gBAAgB,CAAC,CAAC;IACzE,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC5B,EAAE,CAAC,OAAO,CAAC,IAAA,WAAI,EAAC,IAAI,EAAE,mBAAmB,CAAC,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;KACvE;IAED,OAAO,EAAE,CAAC;AACd,CAAC;AA5BD,gDA4BC"}
@@ -0,0 +1,20 @@
1
+ import { Editor } from 'mem-fs-editor';
2
+ import { CustomSection } from './types';
3
+ /**
4
+ * Get the template folder for the given UI5 version.
5
+ *
6
+ * @param root root path to templates folder.
7
+ * @param ui5Version required UI5 version.
8
+ * @returns path to the template folder containing the manifest.json ejs template
9
+ */
10
+ export declare function getManifestRoot(root: string, ui5Version?: number): string;
11
+ /**
12
+ * Add a custom section to an existing UI5 application.
13
+ *
14
+ * @param {string} basePath - the base path
15
+ * @param {CustomSection} customSection - the custom section configuration
16
+ * @param {Editor} [fs] - the mem-fs editor instance
17
+ * @returns {Promise<Editor>} the updated mem-fs editor instance
18
+ */
19
+ export declare function generateCustomSection(basePath: string, customSection: CustomSection, fs?: Editor): Editor;
20
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/section/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAU,MAAM,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAyB,MAAM,SAAS,CAAC;AAO/D;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAOzE;AAyBD;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,MAAM,EAAE,aAAa,EAAE,aAAa,EAAE,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAmCzG"}
@@ -0,0 +1,83 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.generateCustomSection = exports.getManifestRoot = void 0;
4
+ const mem_fs_1 = require("mem-fs");
5
+ const mem_fs_editor_1 = require("mem-fs-editor");
6
+ const path_1 = require("path");
7
+ const ejs_1 = require("ejs");
8
+ const validate_1 = require("../common/validate");
9
+ const defaults_1 = require("../common/defaults");
10
+ /**
11
+ * Get the template folder for the given UI5 version.
12
+ *
13
+ * @param root root path to templates folder.
14
+ * @param ui5Version required UI5 version.
15
+ * @returns path to the template folder containing the manifest.json ejs template
16
+ */
17
+ function getManifestRoot(root, ui5Version) {
18
+ let subFolder = '1.86';
19
+ if (ui5Version !== undefined && ui5Version < 1.86) {
20
+ // Old
21
+ subFolder = '1.85';
22
+ }
23
+ return (0, path_1.join)(root, 'section', subFolder);
24
+ }
25
+ exports.getManifestRoot = getManifestRoot;
26
+ /**
27
+ * Enhances the provided custom section configuration with additonal data.
28
+ *
29
+ * @param {CustomSection} data - a custom section configuration object
30
+ * @param {string} manifestPath - path to the project's manifest.json
31
+ * @param {Manifest} manifest - the application manifest
32
+ * @returns enhanced configuration
33
+ */
34
+ function enhanceConfig(data, manifestPath, manifest) {
35
+ const config = Object.assign({}, data);
36
+ (0, defaults_1.setCommonDefaults)(config, manifestPath, manifest);
37
+ // set default event handler if it is to be created
38
+ if (config.eventHandler === true) {
39
+ config.eventHandler = `${config.ns}.${config.name}.onPress`;
40
+ }
41
+ // generate section content
42
+ config.content = config.control || (0, defaults_1.getDefaultFragmentContent)(config.name, config.eventHandler);
43
+ return config;
44
+ }
45
+ /**
46
+ * Add a custom section to an existing UI5 application.
47
+ *
48
+ * @param {string} basePath - the base path
49
+ * @param {CustomSection} customSection - the custom section configuration
50
+ * @param {Editor} [fs] - the mem-fs editor instance
51
+ * @returns {Promise<Editor>} the updated mem-fs editor instance
52
+ */
53
+ function generateCustomSection(basePath, customSection, fs) {
54
+ (0, validate_1.validateVersion)(customSection.ui5Version);
55
+ if (!fs) {
56
+ fs = (0, mem_fs_editor_1.create)((0, mem_fs_1.create)());
57
+ }
58
+ (0, validate_1.validateBasePath)(basePath, fs);
59
+ const manifestPath = (0, path_1.join)(basePath, 'webapp/manifest.json');
60
+ const manifest = fs.readJSON(manifestPath);
61
+ const root = (0, path_1.join)(__dirname, '../../templates');
62
+ // merge with defaults
63
+ const completeSection = enhanceConfig(customSection, manifestPath, manifest);
64
+ // add event handler if requested
65
+ if (completeSection.eventHandler) {
66
+ const controllerPath = (0, path_1.join)(completeSection.path, `${completeSection.name}.js`);
67
+ if (!fs.exists(controllerPath)) {
68
+ fs.copyTpl((0, path_1.join)(root, 'common/EventHandler.js'), controllerPath, completeSection);
69
+ }
70
+ }
71
+ // enhance manifest with section definition
72
+ const manifestRoot = getManifestRoot(root, customSection.ui5Version);
73
+ const filledTemplate = (0, ejs_1.render)(fs.read((0, path_1.join)(manifestRoot, `manifest.json`)), completeSection);
74
+ fs.extendJSON(manifestPath, JSON.parse(filledTemplate));
75
+ // add fragment
76
+ const viewPath = (0, path_1.join)(completeSection.path, `${completeSection.name}.fragment.xml`);
77
+ if (!fs.exists(viewPath)) {
78
+ fs.copyTpl((0, path_1.join)(root, 'common/Fragment.xml'), viewPath, completeSection);
79
+ }
80
+ return fs;
81
+ }
82
+ exports.generateCustomSection = generateCustomSection;
83
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/section/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { CustomElement, InternalCustomElement, Position } from '../common/types';
2
+ export interface CustomSection extends CustomElement {
3
+ /**
4
+ * Name of the routing target
5
+ */
6
+ target: string;
7
+ /**
8
+ * The header is shown on the section as header, as well as in tab item.
9
+ */
10
+ title: string;
11
+ /**
12
+ * Defines the position of the section relative to other sections.
13
+ */
14
+ position: Position;
15
+ /**
16
+ * If not set (i.e. undefined) then no event handler is linked. If it is set true, a new one is created and linked to the action.
17
+ * If an existing event handler is to be used then its id needs to be provided as string.
18
+ */
19
+ eventHandler?: string | true;
20
+ /**
21
+ * Optional control XML that will be generated into the fragment of section. If the property isn't provided then a sample control will be generated.
22
+ */
23
+ control?: string;
24
+ }
25
+ export interface InternalCustomSection extends CustomSection, InternalCustomElement {
26
+ content: string;
27
+ }
28
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/section/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAEjF,MAAM,WAAW,aAAc,SAAQ,aAAa;IAChD;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;OAEG;IACH,QAAQ,EAAE,QAAQ,CAAC;IAEnB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE7B;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAsB,SAAQ,aAAa,EAAE,qBAAqB;IAC/E,OAAO,EAAE,MAAM,CAAC;CACnB"}
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/section/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@sap-ux/fe-fpm-writer",
3
3
  "description": "SAP Fiori elements flexible programming model writer",
4
- "version": "0.2.0",
4
+ "version": "0.4.0",
5
5
  "license": "Apache-2.0",
6
6
  "main": "dist/index.js",
7
7
  "scripts": {
@@ -0,0 +1,3 @@
1
+ <core:FragmentDefinition xmlns:core="sap.ui.core" xmlns="sap.m">
2
+ <%- content %>
3
+ </core:FragmentDefinition>
@@ -11,35 +11,35 @@ sap.ui.define(
11
11
  * Can be used to modify the View before it is displayed, to bind event handlers and do other one-time initialization.
12
12
  * @memberOf <%- ns %>.<%- name %>
13
13
  */
14
- // onInit: function () {
14
+ // onInit: function () {
15
15
  //
16
- // },
16
+ // },
17
17
 
18
18
  /**
19
19
  * Similar to onAfterRendering, but this hook is invoked before the controller's View is re-rendered
20
20
  * (NOT before the first rendering! onInit() is used for that one!).
21
21
  * @memberOf <%- ns %>.<%- name %>
22
22
  */
23
- // onBeforeRendering: function() {
23
+ // onBeforeRendering: function() {
24
24
  //
25
- // },
25
+ // },
26
26
 
27
27
  /**
28
28
  * Called when the View has been rendered (so its HTML is part of the document). Post-rendering manipulations of the HTML could be done here.
29
29
  * This hook is the same one that SAPUI5 controls get after being rendered.
30
30
  * @memberOf <%- ns %>.<%- name %>
31
31
  */
32
- // onAfterRendering: function() {
32
+ // onAfterRendering: function() {
33
33
  //
34
- // },
34
+ // },
35
35
 
36
36
  /**
37
37
  * Called when the Controller is destroyed. Use this one to free resources and finalize activities.
38
38
  * @memberOf <%- ns %>.<%- name %>
39
39
  */
40
- // onExit: function() {
40
+ // onExit: function() {
41
41
  //
42
- // }
42
+ // }
43
43
  });
44
44
  }
45
45
  );
@@ -1,6 +1,6 @@
1
1
  <mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
2
- xmlns:html="http://www.w3.org/1999/xhtml" controllerName="<%- ns %>.<%- name %>">
3
- <Page title="<%- view.title %>">
4
- <content></content>
5
- </Page>
2
+ xmlns:html="http://www.w3.org/1999/xhtml" controllerName="<%- ns %>.<%- name %>">
3
+ <Page title="<%- view.title %>">
4
+ <content></content>
5
+ </Page>
6
6
  </mvc:View>
@@ -3,15 +3,15 @@
3
3
  "routing": {
4
4
  "targets": {
5
5
  "<%- entity %><%- name %>": {
6
- "viewId": "<%- name %>View",
7
- "viewName": "<%- ns %>.<%- name %>",
8
- "options": {
9
- "settings": {
10
- "entitySet": "<%- entity %>",
11
- "navigation": { }
12
- }
13
- }
14
- }<%if (locals.navigation) {%>,
6
+ "viewId": "<%- name %>View",
7
+ "viewName": "<%- ns %>.<%- name %>",
8
+ "options": {
9
+ "settings": {
10
+ "entitySet": "<%- entity %>",
11
+ "navigation": { }
12
+ }
13
+ }
14
+ }<%if (locals.navigation) {%>,
15
15
  "<%- navigation.sourcePage %>": {
16
16
  "options": {
17
17
  "settings": {
@@ -11,35 +11,35 @@ sap.ui.define(
11
11
  * Can be used to modify the View before it is displayed, to bind event handlers and do other one-time initialization.
12
12
  * @memberOf <%- ns %>.<%- name %>
13
13
  */
14
- // onInit: function () {
14
+ // onInit: function () {
15
15
  //
16
- // },
16
+ // },
17
17
 
18
18
  /**
19
19
  * Similar to onAfterRendering, but this hook is invoked before the controller's View is re-rendered
20
20
  * (NOT before the first rendering! onInit() is used for that one!).
21
21
  * @memberOf <%- ns %>.<%- name %>
22
22
  */
23
- // onBeforeRendering: function() {
23
+ // onBeforeRendering: function() {
24
24
  //
25
- // },
25
+ // },
26
26
 
27
27
  /**
28
28
  * Called when the View has been rendered (so its HTML is part of the document). Post-rendering manipulations of the HTML could be done here.
29
29
  * This hook is the same one that SAPUI5 controls get after being rendered.
30
30
  * @memberOf <%- ns %>.<%- name %>
31
31
  */
32
- // onAfterRendering: function() {
32
+ // onAfterRendering: function() {
33
33
  //
34
- // },
34
+ // },
35
35
 
36
36
  /**
37
37
  * Called when the Controller is destroyed. Use this one to free resources and finalize activities.
38
38
  * @memberOf <%- ns %>.<%- name %>
39
39
  */
40
- // onExit: function() {
40
+ // onExit: function() {
41
41
  //
42
- // }
42
+ // }
43
43
  });
44
44
  }
45
45
  );
@@ -1,6 +1,6 @@
1
1
  <mvc:View xmlns:core="sap.ui.core" xmlns:mvc="sap.ui.core.mvc" xmlns="sap.m"
2
- xmlns:html="http://www.w3.org/1999/xhtml" controllerName="<%- ns %>.<%- name %>">
3
- <Page title="<%- view.title %>">
4
- <content></content>
5
- </Page>
2
+ xmlns:html="http://www.w3.org/1999/xhtml" controllerName="<%- ns %>.<%- name %>">
3
+ <Page title="<%- view.title %>">
4
+ <content></content>
5
+ </Page>
6
6
  </mvc:View>
@@ -3,17 +3,17 @@
3
3
  "routing": {
4
4
  "targets": {
5
5
  "<%- entity %><%- name %>": {
6
- "type": "Component",
7
- "id": "<%- entity %><%- name %>",
8
- "name": "sap.fe.core.fpm",
9
- "options": {
10
- "settings": {
11
- "viewName": "<%- ns %>.<%- name %>",
12
- "entitySet": "<%- entity %>",
13
- "navigation": { }
14
- }
15
- }
16
- }<%if (locals.navigation) {%>,
6
+ "type": "Component",
7
+ "id": "<%- entity %><%- name %>",
8
+ "name": "sap.fe.core.fpm",
9
+ "options": {
10
+ "settings": {
11
+ "viewName": "<%- ns %>.<%- name %>",
12
+ "entitySet": "<%- entity %>",
13
+ "navigation": { }
14
+ }
15
+ }
16
+ }<%if (locals.navigation) {%>,
17
17
  "<%- navigation.sourcePage %>": {
18
18
  "options": {
19
19
  "settings": {
@@ -0,0 +1,33 @@
1
+ {
2
+ "sap.ui5": {
3
+ "routing": {
4
+ "targets": {
5
+ "<%- target %>": {
6
+ "options": {
7
+ "settings": {
8
+ "content": {
9
+ "body": {
10
+ "sections": {
11
+ "<%- name %>": {
12
+ "name": "<%- ns %>.<%- name %>",
13
+ "type": "XMLFragment",
14
+ "position": {
15
+ <% if (position.placement) { %>
16
+ "placement": "<%- position.placement %>",
17
+ <% } %>
18
+ <% if (position.anchor) { %>
19
+ "anchor": "<%- position.anchor %>"
20
+ <% } %>
21
+ },
22
+ "title": "<%- title %>"
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
33
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "sap.ui5": {
3
+ "routing": {
4
+ "targets": {
5
+ "<%- target %>": {
6
+ "options": {
7
+ "settings": {
8
+ "content": {
9
+ "body": {
10
+ "sections": {
11
+ "<%- name %>": {
12
+ "template": "<%- ns %>.<%- name %>",
13
+ "position": {
14
+ <% if (position.placement) { %>
15
+ "placement": "<%- position.placement %>",
16
+ <% } %>
17
+ <% if (position.anchor) { %>
18
+ "anchor": "<%- position.anchor %>"
19
+ <% } %>
20
+ },
21
+ "title": "<%- title %>"
22
+ }
23
+ }
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
29
+ }
30
+ }
31
+ }
32
+ }
@@ -1,4 +0,0 @@
1
- <core:FragmentDefinition xmlns:core="sap.ui.core" xmlns="sap.m"
2
- xmlns:l="sap.ui.layout">
3
- <%- content %>
4
- </core:FragmentDefinition>