@magic-xpa/cli 4.1200.0-dev4120.21 → 4.1200.0-dev4120.212

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 (92) hide show
  1. package/package.json +1 -1
  2. package/src/schematics/magic-utils/Util.js +4 -4
  3. package/src/schematics/magic-utils/Util.js.map +1 -1
  4. package/src/schematics/magic-utils/config.js +2 -2
  5. package/src/schematics/magic-utils/config.js.map +1 -1
  6. package/src/schematics/magic-utils/env.js +6 -5
  7. package/src/schematics/magic-utils/env.js.map +1 -1
  8. package/src/schematics/magic-utils/env.ts +6 -5
  9. package/src/schematics/magic-utils/manifest.js.map +1 -1
  10. package/src/schematics/magic-utils/metadata.class.js +1 -1
  11. package/src/schematics/magic-utils/metadata.class.js.map +1 -1
  12. package/src/schematics/magic-utils/metadata.class.ts +1 -1
  13. package/src/schematics/magic-utils/process-json.js +1 -2
  14. package/src/schematics/magic-utils/process-json.js.map +1 -1
  15. package/src/schematics/magic-utils/rules/build-control.rule.js +2 -3
  16. package/src/schematics/magic-utils/rules/build-control.rule.js.map +1 -1
  17. package/src/schematics/magic-utils/rules/build-view.rule.js +1 -2
  18. package/src/schematics/magic-utils/rules/build-view.rule.js.map +1 -1
  19. package/src/schematics/magic-utils/rules/component-list.rule.js +1 -2
  20. package/src/schematics/magic-utils/rules/component-list.rule.js.map +1 -1
  21. package/src/schematics/magic-utils/rules/generate.rule.js +2 -3
  22. package/src/schematics/magic-utils/rules/generate.rule.js.map +1 -1
  23. package/src/schematics/magic-utils/rules/init-add-modules.rule.js +10 -11
  24. package/src/schematics/magic-utils/rules/init-add-modules.rule.js.map +1 -1
  25. package/src/schematics/magic-utils/rules/init-gen-components.rule.js +2 -3
  26. package/src/schematics/magic-utils/rules/init-gen-components.rule.js.map +1 -1
  27. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js +1 -2
  28. package/src/schematics/magic-utils/rules/init-magic-metadata.rule.js.map +1 -1
  29. package/src/schematics/magic-utils/rules/load-views-gen.rule.js +1 -2
  30. package/src/schematics/magic-utils/rules/load-views-gen.rule.js.map +1 -1
  31. package/src/schematics/magic-utils/utils.js +9 -10
  32. package/src/schematics/magic-utils/utils.js.map +1 -1
  33. package/src/schematics/mg-Install-prerequisites/index.js +1 -2
  34. package/src/schematics/mg-Install-prerequisites/index.js.map +1 -1
  35. package/src/schematics/mg-add/files/src/app/magic/magic.gen.lib.module.ts +2 -2
  36. package/src/schematics/mg-add/index.js +5 -4
  37. package/src/schematics/mg-add/index.js.map +1 -1
  38. package/src/schematics/mg-add/index.ts +4 -2
  39. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js +1 -2
  40. package/src/schematics/mg-add/utils/add-declaration-to-root-module.js.map +1 -1
  41. package/src/schematics/mg-add-tasks/index.js +1 -2
  42. package/src/schematics/mg-add-tasks/index.js.map +1 -1
  43. package/src/schematics/mg-delete-files/index.js +1 -2
  44. package/src/schematics/mg-delete-files/index.js.map +1 -1
  45. package/src/schematics/mg-gen-module/index.js +1 -2
  46. package/src/schematics/mg-gen-module/index.js.map +1 -1
  47. package/src/schematics/mg-generate/index.js +1 -2
  48. package/src/schematics/mg-generate/index.js.map +1 -1
  49. package/src/schematics/mg-generate-component/index.js +1 -2
  50. package/src/schematics/mg-generate-component/index.js.map +1 -1
  51. package/src/schematics/mg-install/index.js +1 -2
  52. package/src/schematics/mg-install/index.js.map +1 -1
  53. package/src/schematics/mg-routes/index.js +5 -6
  54. package/src/schematics/mg-routes/index.js.map +1 -1
  55. package/src/schematics/mg-single-control/index.js +1 -2
  56. package/src/schematics/mg-single-control/index.js.map +1 -1
  57. package/src/schematics/utils/ast.js +6 -7
  58. package/src/schematics/utils/ast.js.map +1 -1
  59. package/src/schematics/utils/devkit-utils/ast-utils.js +16 -17
  60. package/src/schematics/utils/devkit-utils/ast-utils.js.map +1 -1
  61. package/src/schematics/utils/devkit-utils/ast-utils_old.js +14 -15
  62. package/src/schematics/utils/devkit-utils/ast-utils_old.js.map +1 -1
  63. package/src/schematics/utils/devkit-utils/change.js.map +1 -1
  64. package/src/schematics/utils/devkit-utils/component.js +1 -2
  65. package/src/schematics/utils/devkit-utils/component.js.map +1 -1
  66. package/src/schematics/utils/devkit-utils/config.js +3 -3
  67. package/src/schematics/utils/devkit-utils/config.js.map +1 -1
  68. package/src/schematics/utils/devkit-utils/find-module.js +3 -4
  69. package/src/schematics/utils/devkit-utils/find-module.js.map +1 -1
  70. package/src/schematics/utils/devkit-utils/ng-ast-utils.js +3 -4
  71. package/src/schematics/utils/devkit-utils/ng-ast-utils.js.map +1 -1
  72. package/src/schematics/utils/devkit-utils/parse-name.js +1 -2
  73. package/src/schematics/utils/devkit-utils/parse-name.js.map +1 -1
  74. package/src/schematics/utils/devkit-utils/route-utils.js +2 -3
  75. package/src/schematics/utils/devkit-utils/route-utils.js.map +1 -1
  76. package/src/schematics/utils/devkit-utils/validation.js +1 -2
  77. package/src/schematics/utils/devkit-utils/validation.js.map +1 -1
  78. package/src/schematics/utils/html.js +2 -3
  79. package/src/schematics/utils/html.js.map +1 -1
  80. package/src/schematics/utils/package.js +1 -2
  81. package/src/schematics/utils/package.js.map +1 -1
  82. package/src/schematics/utils/testing.js +1 -2
  83. package/src/schematics/utils/testing.js.map +1 -1
  84. package/src/types/enums/Enums.d.ts +4 -4
  85. package/templates/angular/src/app.component.ts +4 -2
  86. package/templates/angular/src/app.module.ts +2 -2
  87. package/templates/component/view.component.ts +12 -1
  88. package/templates/themes/basicHiddenHTML/table.ejs +1 -1
  89. package/templates/themes/material/combobox.ejs +15 -0
  90. package/templates/themes/table/HTMLTable/table.ejs +1 -1
  91. package/templates/themes/table/repeatable/table.ejs +1 -1
  92. /package/src/schematics/mg-add/files/{src → public}/favicon.ico +0 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@magic-xpa/cli",
3
- "version": "4.1200.0-dev4120.21",
3
+ "version": "4.1200.0-dev4120.212",
4
4
  "license": "SEE LICENSE IN EULA.pdf",
5
5
  "description": "Magic CLI for MagicWeb applications",
6
6
  "keywords": [
@@ -1,6 +1,9 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Log = exports.LogLn = exports.logErr = exports.Util = void 0;
3
+ exports.Util = void 0;
4
+ exports.logErr = logErr;
5
+ exports.LogLn = LogLn;
6
+ exports.Log = Log;
4
7
  const process = require("process");
5
8
  const env_1 = require("./env");
6
9
  // @dynamic
@@ -13,15 +16,12 @@ exports.Util = Util;
13
16
  function logErr(err) {
14
17
  process.stderr.write('ERR' + err + '\r\n');
15
18
  }
16
- exports.logErr = logErr;
17
19
  function LogLn(msg) {
18
20
  if (!env_1.env.prevent_log)
19
21
  process.stdout.write(msg + '\r\n');
20
22
  }
21
- exports.LogLn = LogLn;
22
23
  function Log(msg) {
23
24
  if (!env_1.env.prevent_log)
24
25
  return process.stdout.write(msg);
25
26
  }
26
- exports.Log = Log;
27
27
  //# sourceMappingURL=Util.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Util.js","sourceRoot":"","sources":["Util.ts"],"names":[],"mappings":";;;AAAA,mCAAmC;AACnC,+BAA4B;AAE5B,WAAW;AACX,MAAa,IAAI;IAChB,MAAM,CAAC,aAAa,CAAC,KAAU,EAAE,GAAQ;QACxC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;CAED;AALD,oBAKC;AAED,SAAgB,MAAM,CAAC,GAAG;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;AAC/C,CAAC;AAFD,wBAEC;AAED,SAAgB,KAAK,CAAC,GAAG;IACvB,IAAG,CAAC,SAAG,CAAC,WAAW;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAA;AACrC,CAAC;AAHD,sBAGC;AAED,SAAgB,GAAG,CAAC,GAAG;IACrB,IAAG,CAAC,SAAG,CAAC,WAAW;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpC,CAAC;AAHD,kBAGC","sourcesContent":["import * as process from 'process';\r\nimport { env } from \"./env\";\r\n\r\n// @dynamic\r\nexport class Util {\r\n\tstatic enumNameByVal(enumm: any, val: any) {\r\n\t\treturn Object.keys(enumm).find(key => enumm[key] === val);\r\n\t}\r\n\r\n}\r\n\r\nexport function logErr(err) {\r\n process.stderr.write('ERR' + err + '\\r\\n');\r\n}\r\n\r\nexport function LogLn(msg){\r\n if(!env.prevent_log)\r\n\t process.stdout.write(msg + '\\r\\n')\r\n}\r\n\r\nexport function Log(msg){\r\n if(!env.prevent_log)\r\n return process.stdout.write(msg)\r\n}\r\n"]}
1
+ {"version":3,"file":"Util.js","sourceRoot":"","sources":["Util.ts"],"names":[],"mappings":";;;AAWA,wBAEC;AAED,sBAGC;AAED,kBAGC;AAvBD,mCAAmC;AACnC,+BAA4B;AAE5B,WAAW;AACX,MAAa,IAAI;IAChB,MAAM,CAAC,aAAa,CAAC,KAAU,EAAE,GAAQ;QACxC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC;IAC3D,CAAC;CAED;AALD,oBAKC;AAED,SAAgB,MAAM,CAAC,GAAG;IACtB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,GAAG,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAgB,KAAK,CAAC,GAAG;IACvB,IAAG,CAAC,SAAG,CAAC,WAAW;QAClB,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,GAAG,MAAM,CAAC,CAAA;AACrC,CAAC;AAED,SAAgB,GAAG,CAAC,GAAG;IACrB,IAAG,CAAC,SAAG,CAAC,WAAW;QACjB,OAAO,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;AACpC,CAAC","sourcesContent":["import * as process from 'process';\r\nimport { env } from \"./env\";\r\n\r\n// @dynamic\r\nexport class Util {\r\n\tstatic enumNameByVal(enumm: any, val: any) {\r\n\t\treturn Object.keys(enumm).find(key => enumm[key] === val);\r\n\t}\r\n\r\n}\r\n\r\nexport function logErr(err) {\r\n process.stderr.write('ERR' + err + '\\r\\n');\r\n}\r\n\r\nexport function LogLn(msg){\r\n if(!env.prevent_log)\r\n\t process.stdout.write(msg + '\\r\\n')\r\n}\r\n\r\nexport function Log(msg){\r\n if(!env.prevent_log)\r\n return process.stdout.write(msg)\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.prettierConfig = exports.getTemplateConfig = exports.sourceAngularTemplateRootForCli = exports.sourceAngularTemplateRoot = void 0;
3
+ exports.prettierConfig = exports.sourceAngularTemplateRootForCli = exports.sourceAngularTemplateRoot = void 0;
4
+ exports.getTemplateConfig = getTemplateConfig;
4
5
  const generated_file_types_enum_1 = require("../../types/enums/generated-file-types.enum");
5
6
  exports.sourceAngularTemplateRoot = './templates/angular/src';
6
7
  exports.sourceAngularTemplateRootForCli = './templates/angular/src';
@@ -45,7 +46,6 @@ function getTemplateConfig(app, magic_config, manifest) {
45
46
  ];
46
47
  return configs_array;
47
48
  }
48
- exports.getTemplateConfig = getTemplateConfig;
49
49
  ;
50
50
  exports.prettierConfig = {
51
51
  trailingComma: 'none',
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":";;;AAEA,2FAA+E;AAElE,QAAA,yBAAyB,GAAS,yBAAyB,CAAC;AAC5D,QAAA,+BAA+B,GAAG,yBAAyB,CAAC;AAGzE,SAAgB,iBAAiB,CAAC,GAAY,EAAE,YAAuB,EAAE,QAAqB;IAE5F,MACE,KAAK,GAAO,GAAG,CAAC,IAAI,EACpB,OAAO,GAAK,YAAY,CAAC,aAAa,GAAG,KAAK,KAAK,EAAE,EACrD,IAAI,GAAQ;QACV,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEJ,IAAI,aAAa,GAAG;QAClB;;;;;;;;UAQE;QAEF;YACE,QAAQ,EAAK,GAAG,IAAI,CAAC,yBAAyB,iBAAiB;YAC/D,IAAI,EAAS,SAAS;YACtB,WAAW,EAAE,GAAG,OAAO,iBAAiB;YACxC,IAAI,EAAS,8CAAkB,CAAC,GAAG;YACnC,IAAI,EAAS,IAAI;SAElB;QACD;;;;;;;;UAQE;QACF;YACE,QAAQ,EAAE,GAAG,IAAI,CAAC,yBAAyB,0BAA0B;YACrE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,GAAG,OAAO,UAAU;YACjC,IAAI,EAAS,8CAAkB,CAAC,EAAE;YAClC,IAAI,EAAS,IAAI;SAElB;KACF,CAAC;IAIF,OAAO,aAAa,CAAC;AACvB,CAAC;AAnDD,8CAmDC;AAAA,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,aAAa,EAAG,MAAM;IACtB,cAAc,EAAE,IAAI;IACpB,MAAM,EAAU,YAAY;IAC5B,OAAO,EAAS,IAAI;IACpB,QAAQ,EAAQ,CAAC;CAClB,CAAC","sourcesContent":["import {AppJson, AppConfig, AppManifest} from '../../types/interfaces/app';\nimport {TemplateConfig} from '../../types/interfaces/template.config';\nimport {GeneratedFileTypes} from '../../types/enums/generated-file-types.enum';\n\nexport const sourceAngularTemplateRoot = './templates/angular/src';\nexport const sourceAngularTemplateRootForCli = './templates/angular/src';\n\n\nexport function getTemplateConfig(app: AppJson, magic_config: AppConfig, manifest: AppManifest):TemplateConfig[]\n{\n const\n appId = app.name,\n appRoot = magic_config.output_folder + `\\\\${appId}`,\n data: any = {\n app: app,\n manifest: manifest,\n };\n\n let configs_array = [\n /*\n {\n template : `${this.sourceAngularTemplateRoot}/app.module.ts`,\n name : 'app.module.ts',\n destination: `${appRoot}/src/app`,\n type : GeneratedFileTypes.TS,\n data : data\n },\n */\n\n {\n template : `${this.sourceAngularTemplateRoot}/styles/app.css`,\n name : 'app.css',\n destination: `${appRoot}/src/app/styles`,\n type : GeneratedFileTypes.CSS,\n data : data\n\n },\n /*\n {\n template : `${this.sourceAngularTemplateRoot}/app/magic/magic.core.module.ts`,\n name : 'magic.core.module.ts',\n destination: `${appRoot}/src/app/magic`,\n type : GeneratedFileTypes.TS,\n data : data\n }\n */\n {\n template: `${this.sourceAngularTemplateRoot}/app/component-list.g.ts`,\n name: 'component-list.g.ts',\n destination: `${appRoot}/src/app`,\n type : GeneratedFileTypes.TS,\n data : data\n\n },\n ];\n\n\n\n return configs_array;\n};\n\nexport const prettierConfig = {\n trailingComma : 'none',\n bracketSpacing: true,\n parser : 'typescript',\n useTabs : true,\n tabWidth : 4\n};\n"]}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["config.ts"],"names":[],"mappings":";;;AAQA,8CAmDC;AAzDD,2FAA+E;AAElE,QAAA,yBAAyB,GAAS,yBAAyB,CAAC;AAC5D,QAAA,+BAA+B,GAAG,yBAAyB,CAAC;AAGzE,SAAgB,iBAAiB,CAAC,GAAY,EAAE,YAAuB,EAAE,QAAqB;IAE5F,MACE,KAAK,GAAO,GAAG,CAAC,IAAI,EACpB,OAAO,GAAK,YAAY,CAAC,aAAa,GAAG,KAAK,KAAK,EAAE,EACrD,IAAI,GAAQ;QACV,GAAG,EAAE,GAAG;QACR,QAAQ,EAAE,QAAQ;KACnB,CAAC;IAEJ,IAAI,aAAa,GAAG;QAClB;;;;;;;;UAQE;QAEF;YACE,QAAQ,EAAK,GAAG,IAAI,CAAC,yBAAyB,iBAAiB;YAC/D,IAAI,EAAS,SAAS;YACtB,WAAW,EAAE,GAAG,OAAO,iBAAiB;YACxC,IAAI,EAAS,8CAAkB,CAAC,GAAG;YACnC,IAAI,EAAS,IAAI;SAElB;QACD;;;;;;;;UAQE;QACF;YACE,QAAQ,EAAE,GAAG,IAAI,CAAC,yBAAyB,0BAA0B;YACrE,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,GAAG,OAAO,UAAU;YACjC,IAAI,EAAS,8CAAkB,CAAC,EAAE;YAClC,IAAI,EAAS,IAAI;SAElB;KACF,CAAC;IAIF,OAAO,aAAa,CAAC;AACvB,CAAC;AAAA,CAAC;AAEW,QAAA,cAAc,GAAG;IAC5B,aAAa,EAAG,MAAM;IACtB,cAAc,EAAE,IAAI;IACpB,MAAM,EAAU,YAAY;IAC5B,OAAO,EAAS,IAAI;IACpB,QAAQ,EAAQ,CAAC;CAClB,CAAC","sourcesContent":["import {AppJson, AppConfig, AppManifest} from '../../types/interfaces/app';\nimport {TemplateConfig} from '../../types/interfaces/template.config';\nimport {GeneratedFileTypes} from '../../types/enums/generated-file-types.enum';\n\nexport const sourceAngularTemplateRoot = './templates/angular/src';\nexport const sourceAngularTemplateRootForCli = './templates/angular/src';\n\n\nexport function getTemplateConfig(app: AppJson, magic_config: AppConfig, manifest: AppManifest):TemplateConfig[]\n{\n const\n appId = app.name,\n appRoot = magic_config.output_folder + `\\\\${appId}`,\n data: any = {\n app: app,\n manifest: manifest,\n };\n\n let configs_array = [\n /*\n {\n template : `${this.sourceAngularTemplateRoot}/app.module.ts`,\n name : 'app.module.ts',\n destination: `${appRoot}/src/app`,\n type : GeneratedFileTypes.TS,\n data : data\n },\n */\n\n {\n template : `${this.sourceAngularTemplateRoot}/styles/app.css`,\n name : 'app.css',\n destination: `${appRoot}/src/app/styles`,\n type : GeneratedFileTypes.CSS,\n data : data\n\n },\n /*\n {\n template : `${this.sourceAngularTemplateRoot}/app/magic/magic.core.module.ts`,\n name : 'magic.core.module.ts',\n destination: `${appRoot}/src/app/magic`,\n type : GeneratedFileTypes.TS,\n data : data\n }\n */\n {\n template: `${this.sourceAngularTemplateRoot}/app/component-list.g.ts`,\n name: 'component-list.g.ts',\n destination: `${appRoot}/src/app`,\n type : GeneratedFileTypes.TS,\n data : data\n\n },\n ];\n\n\n\n return configs_array;\n};\n\nexport const prettierConfig = {\n trailingComma : 'none',\n bracketSpacing: true,\n parser : 'typescript',\n useTabs : true,\n tabWidth : 4\n};\n"]}
@@ -18,15 +18,16 @@ class Idependencies {
18
18
  exports.Idependencies = Idependencies;
19
19
  exports.dependencies = [
20
20
  // material dependencies
21
- { name: "@angular/material", version: '^17.3.6' },
22
- { name: "@angular/cdk", version: '^17.3.6' },
23
- { name: "@angular/animations", version: '^17.3.6' },
21
+ { name: "@angular/material", version: '^19.1.1' },
22
+ { name: "@angular/cdk", version: '^19.1.1' },
23
+ { name: "@angular/animations", version: '^19.1.3' },
24
24
  { name: "font-awesome", version: '^4.7.0' },
25
25
  { name: "hammerjs", version: '^2.0.8' },
26
- { name: "ngx-infinite-scroll", version: '^17.0.0' },
26
+ { name: "ngx-infinite-scroll", version: '^19.0.0' },
27
27
  { name: "ng-dynamic-component", version: '~10.7.0' },
28
- { name: "ngx-currency", version: "^17.0.0" },
28
+ { name: "ngx-currency", version: "^19.0.0" },
29
29
  { name: "ngx-mask", version: "^13.1.15" },
30
+ { name: "crypto-js", version: "^4.2.0" },
30
31
  // Time masking dependencies (hh:mm, hh:mm:ss, hh:mm:ss:mss)
31
32
  { name: "@maskito/angular", version: "^1.4.0" },
32
33
  { name: "@maskito/core", version: "^1.4.0" },
@@ -1 +1 @@
1
- {"version":3,"file":"env.js","sourceRoot":"","sources":["env.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAW,gBAAgB,CAAC;AACxC,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAC5C,QAAA,mBAAmB,GAAI,kBAAkB,CAAC;AAC1C,QAAA,UAAU,GAAa,OAAO,CAAC;AAC/B,QAAA,gBAAgB,GAAO,+BAA+B,CAAC;AACvD,QAAA,2BAA2B,GAAI,oBAAoB,CAAC;AACpD,QAAA,aAAa,GAAI,KAAK,oBAAY,gBAAgB,CAAC;AACnD,QAAA,WAAW,GAAM,KAAK,oBAAY,cAAc,CAAC;AAE9D,MAAa,aAAa;IACxB,YAAY,OAAc,EAAE,UAAiB;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;IAC5B,CAAC;CAGF;AAPD,sCAOC;AAEU,QAAA,YAAY,GAAG;IAExB,wBAAwB;IACxB,EAAC,IAAI,EAAE,mBAAmB,EAAI,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,cAAc,EAAS,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,cAAc,EAAS,OAAO,EAAE,QAAQ,EAAC;IAChD,EAAC,IAAI,EAAE,UAAU,EAAa,OAAO,EAAE,QAAQ,EAAC;IAEhD,EAAC,IAAI,EAAE,qBAAqB,EAAG,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,cAAc,EAAU,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,UAAU,EAAc,OAAO,EAAE,UAAU,EAAC;IAEnD,4DAA4D;IAC5D,EAAC,IAAI,EAAE,kBAAkB,EAAO,OAAO,EAAE,QAAQ,EAAC;IAClD,EAAC,IAAI,EAAE,eAAe,EAAU,OAAO,EAAE,QAAQ,EAAC;IAClD,EAAC,IAAI,EAAE,cAAc,EAAW,OAAO,EAAE,QAAQ,EAAC;CAEnD,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAC;CACnD,CAAC;AACW,QAAA,GAAG,GAAU,EAAS,CAAC","sourcesContent":["// TODO(PK): hard-code for now, will query npm repo\n// to get this info in the future\nimport { MagicMetadata } from \"./metadata.class\";\nimport { IEnv } from \"../../types/interfaces/env.interface\";\n\nexport const METADATA_DIR = `magic-metadata`;\nexport const GEN_COMPONENTS_ARRAY = 'magicGenComponents';\nexport const GEN_COMPONENTS_HASH = 'magicGenCmpsHash';\nexport const GEN_FOLDER = 'magic';\nexport const MAGIC_CLI_FOLDER = './node_modules/@magic-xpa/cli';\nexport const GEN_LAZY_LOAD_MODULES_ARRAY = 'LazyLoadModulesMap';\nexport const manifest_path = `./${METADATA_DIR}/manifest.json`;\nexport const config_path = `./${METADATA_DIR}/config.json`;\n\nexport class Idependencies {\n constructor(setName:string, setVersion:string){\n this.name = setName;\n this.version = setVersion;\n }\n name:string;\n version:string;\n}\n\nexport var dependencies = [\n\n // material dependencies\n {name: \"@angular/material\" , version: '^17.3.6'},\n {name: \"@angular/cdk\" , version: '^17.3.6'},\n {name: \"@angular/animations\", version: '^17.3.6'},\n {name: \"font-awesome\" , version: '^4.7.0'},\n {name: \"hammerjs\" , version: '^2.0.8'},\n\n {name: \"ngx-infinite-scroll\" , version: '^17.0.0'},\n {name: \"ng-dynamic-component\", version: '~10.7.0'},\n {name: \"ngx-currency\" , version: \"^17.0.0\"},\n {name: \"ngx-mask\" , version: \"^13.1.15\"},\n\n // Time masking dependencies (hh:mm, hh:mm:ss, hh:mm:ss:mss)\n {name: \"@maskito/angular\" , version: \"^1.4.0\"},\n {name: \"@maskito/core\" , version: \"^1.4.0\"},\n {name: \"@maskito/kit\" , version: \"^1.4.0\"}\n\n];\n\nexport const devDependencies = [\n {name: \"@types/stacktrace-js\", version: '^0.0.32'}\n];\nexport const env : IEnv = {} as any;\n\n"]}
1
+ {"version":3,"file":"env.js","sourceRoot":"","sources":["env.ts"],"names":[],"mappings":";;;AAKa,QAAA,YAAY,GAAW,gBAAgB,CAAC;AACxC,QAAA,oBAAoB,GAAG,oBAAoB,CAAC;AAC5C,QAAA,mBAAmB,GAAI,kBAAkB,CAAC;AAC1C,QAAA,UAAU,GAAa,OAAO,CAAC;AAC/B,QAAA,gBAAgB,GAAO,+BAA+B,CAAC;AACvD,QAAA,2BAA2B,GAAI,oBAAoB,CAAC;AACpD,QAAA,aAAa,GAAI,KAAK,oBAAY,gBAAgB,CAAC;AACnD,QAAA,WAAW,GAAM,KAAK,oBAAY,cAAc,CAAC;AAE9D,MAAa,aAAa;IACxB,YAAY,OAAc,EAAE,UAAiB;QAC3C,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC;QACpB,IAAI,CAAC,OAAO,GAAG,UAAU,CAAC;IAC5B,CAAC;CAGF;AAPD,sCAOC;AAEU,QAAA,YAAY,GAAG;IAExB,wBAAwB;IACxB,EAAC,IAAI,EAAE,mBAAmB,EAAI,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,cAAc,EAAS,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,qBAAqB,EAAE,OAAO,EAAE,SAAS,EAAC;IACjD,EAAC,IAAI,EAAE,cAAc,EAAS,OAAO,EAAE,QAAQ,EAAC;IAChD,EAAC,IAAI,EAAE,UAAU,EAAa,OAAO,EAAE,QAAQ,EAAC;IAEhD,EAAC,IAAI,EAAE,qBAAqB,EAAG,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,cAAc,EAAU,OAAO,EAAE,SAAS,EAAC;IAClD,EAAC,IAAI,EAAE,UAAU,EAAc,OAAO,EAAE,UAAU,EAAC;IACnD,EAAC,IAAI,EAAE,WAAW,EAAa,OAAO,EAAE,QAAQ,EAAC;IAEjD,4DAA4D;IAC5D,EAAC,IAAI,EAAE,kBAAkB,EAAO,OAAO,EAAE,QAAQ,EAAC;IAClD,EAAC,IAAI,EAAE,eAAe,EAAU,OAAO,EAAE,QAAQ,EAAC;IAClD,EAAC,IAAI,EAAE,cAAc,EAAW,OAAO,EAAE,QAAQ,EAAC;CAEnD,CAAC;AAEW,QAAA,eAAe,GAAG;IAC7B,EAAC,IAAI,EAAE,sBAAsB,EAAE,OAAO,EAAE,SAAS,EAAC;CACnD,CAAC;AACW,QAAA,GAAG,GAAU,EAAS,CAAC","sourcesContent":["// TODO(PK): hard-code for now, will query npm repo\n// to get this info in the future\nimport { MagicMetadata } from \"./metadata.class\";\nimport { IEnv } from \"../../types/interfaces/env.interface\";\n\nexport const METADATA_DIR = `magic-metadata`;\nexport const GEN_COMPONENTS_ARRAY = 'magicGenComponents';\nexport const GEN_COMPONENTS_HASH = 'magicGenCmpsHash';\nexport const GEN_FOLDER = 'magic';\nexport const MAGIC_CLI_FOLDER = './node_modules/@magic-xpa/cli';\nexport const GEN_LAZY_LOAD_MODULES_ARRAY = 'LazyLoadModulesMap';\nexport const manifest_path = `./${METADATA_DIR}/manifest.json`;\nexport const config_path = `./${METADATA_DIR}/config.json`;\n\nexport class Idependencies {\n constructor(setName:string, setVersion:string){\n this.name = setName;\n this.version = setVersion;\n }\n name:string;\n version:string;\n}\n\nexport var dependencies = [\n\n // material dependencies\n {name: \"@angular/material\" , version: '^19.1.1'},\n {name: \"@angular/cdk\" , version: '^19.1.1'},\n {name: \"@angular/animations\", version: '^19.1.3'},\n {name: \"font-awesome\" , version: '^4.7.0'},\n {name: \"hammerjs\" , version: '^2.0.8'},\n\n {name: \"ngx-infinite-scroll\" , version: '^19.0.0'},\n {name: \"ng-dynamic-component\", version: '~10.7.0'},\n {name: \"ngx-currency\" , version: \"^19.0.0\"},\n {name: \"ngx-mask\" , version: \"^13.1.15\"},\n {name: \"crypto-js\" , version: \"^4.2.0\"},\n\n // Time masking dependencies (hh:mm, hh:mm:ss, hh:mm:ss:mss)\n {name: \"@maskito/angular\" , version: \"^1.4.0\"},\n {name: \"@maskito/core\" , version: \"^1.4.0\"},\n {name: \"@maskito/kit\" , version: \"^1.4.0\"}\n\n];\n\nexport const devDependencies = [\n {name: \"@types/stacktrace-js\", version: '^0.0.32'}\n];\nexport const env : IEnv = {} as any;\n\n"]}
@@ -24,16 +24,17 @@ export class Idependencies {
24
24
  export var dependencies = [
25
25
 
26
26
  // material dependencies
27
- {name: "@angular/material" , version: '^17.3.6'},
28
- {name: "@angular/cdk" , version: '^17.3.6'},
29
- {name: "@angular/animations", version: '^17.3.6'},
27
+ {name: "@angular/material" , version: '^19.1.1'},
28
+ {name: "@angular/cdk" , version: '^19.1.1'},
29
+ {name: "@angular/animations", version: '^19.1.3'},
30
30
  {name: "font-awesome" , version: '^4.7.0'},
31
31
  {name: "hammerjs" , version: '^2.0.8'},
32
32
 
33
- {name: "ngx-infinite-scroll" , version: '^17.0.0'},
33
+ {name: "ngx-infinite-scroll" , version: '^19.0.0'},
34
34
  {name: "ng-dynamic-component", version: '~10.7.0'},
35
- {name: "ngx-currency" , version: "^17.0.0"},
35
+ {name: "ngx-currency" , version: "^19.0.0"},
36
36
  {name: "ngx-mask" , version: "^13.1.15"},
37
+ {name: "crypto-js" , version: "^4.2.0"},
37
38
 
38
39
  // Time masking dependencies (hh:mm, hh:mm:ss, hh:mm:ss:mss)
39
40
  {name: "@maskito/angular" , version: "^1.4.0"},
@@ -1 +1 @@
1
- {"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IAInB,YAAY,OAAuB;QAFnC,UAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;QAGpC,IAAG,OAAO,EAAC;YACT,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;SACjC;IACH,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,KAAK,CAAC,QAAQ,EAAG,KAAK,CAAE,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,QAAe;QACjB,IAAI,MAAM,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD;;WAEG;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,OAAuB;QACvC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iBAAiB;QACf,OAAO,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI;QACF,KAAK,IAAI,CAAC,GAAG,EAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SACpB;IACH,CAAC;CAEF;AAxCD,4BAwCC;AAED,yCAAyC","sourcesContent":["import { ComponentId } from \"../../types/interfaces/app\";\n\n\nexport class Manifest {\n\n items = new Map<string,ComponentId>();\n\n constructor(entries : ComponentId[]){\n if(entries){\n this.convertArrayToMap(entries);\n }\n }\n\n add(entry: ComponentId) {\n this.items.set( entry.jsonPath , entry );\n }\n get(jsonPath:string){\n let compId:ComponentId = this.items.get(jsonPath);\n /*if(!compId){\n console.log(`manifest dosen't contain key: ${uniqueName}`);\n }*/\n return compId;\n }\n\n convertArrayToMap(entries : ComponentId[]){\n this.items.clear();\n entries.forEach(entry=>{\n this.items.set(entry.uniqueName,entry);\n });\n }\n convertMapToArray() : any[] {\n return [ ...this.items.values() ];\n }\n\n toString(){\n return JSON.stringify([ ...this.items.values() ]);\n }\n dump(){\n for( let [key,value] of this.items){\n console.dir(value);\n }\n }\n\n}\n\n//export const manifest = new Manifest();\n"]}
1
+ {"version":3,"file":"manifest.js","sourceRoot":"","sources":["manifest.ts"],"names":[],"mappings":";;;AAGA,MAAa,QAAQ;IAInB,YAAY,OAAuB;QAFnC,UAAK,GAAG,IAAI,GAAG,EAAsB,CAAC;QAGpC,IAAG,OAAO,EAAC,CAAC;YACV,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;QAClC,CAAC;IACH,CAAC;IAED,GAAG,CAAC,KAAkB;QACpB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,KAAK,CAAC,QAAQ,EAAG,KAAK,CAAE,CAAC;IAC3C,CAAC;IACD,GAAG,CAAC,QAAe;QACjB,IAAI,MAAM,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnD;;WAEG;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,iBAAiB,CAAC,OAAuB;QACvC,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,CAAC,OAAO,CAAC,KAAK,CAAA,EAAE;YACrB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,UAAU,EAAC,KAAK,CAAC,CAAC;QACzC,CAAC,CAAC,CAAC;IACL,CAAC;IACD,iBAAiB;QACf,OAAO,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC;IACpC,CAAC;IAED,QAAQ;QACN,OAAO,IAAI,CAAC,SAAS,CAAC,CAAE,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAE,CAAC,CAAC;IACpD,CAAC;IACD,IAAI;QACF,KAAK,IAAI,CAAC,GAAG,EAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,EAAC,CAAC;YAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;CAEF;AAxCD,4BAwCC;AAED,yCAAyC","sourcesContent":["import { ComponentId } from \"../../types/interfaces/app\";\n\n\nexport class Manifest {\n\n items = new Map<string,ComponentId>();\n\n constructor(entries : ComponentId[]){\n if(entries){\n this.convertArrayToMap(entries);\n }\n }\n\n add(entry: ComponentId) {\n this.items.set( entry.jsonPath , entry );\n }\n get(jsonPath:string){\n let compId:ComponentId = this.items.get(jsonPath);\n /*if(!compId){\n console.log(`manifest dosen't contain key: ${uniqueName}`);\n }*/\n return compId;\n }\n\n convertArrayToMap(entries : ComponentId[]){\n this.items.clear();\n entries.forEach(entry=>{\n this.items.set(entry.uniqueName,entry);\n });\n }\n convertMapToArray() : any[] {\n return [ ...this.items.values() ];\n }\n\n toString(){\n return JSON.stringify([ ...this.items.values() ]);\n }\n dump(){\n for( let [key,value] of this.items){\n console.dir(value);\n }\n }\n\n}\n\n//export const manifest = new Manifest();\n"]}
@@ -63,7 +63,7 @@ class MagicPaths {
63
63
  return `./${this.project.root}/src/app/${env_1.GEN_FOLDER}/component-list.g.ts`;
64
64
  }
65
65
  get magicGenLibModule() { return `./${this.project.root}/src/app/${env_1.GEN_FOLDER}/magic.gen.lib.module.ts`; }
66
- get favIconPath() { return `./${this.project.root}/src/favicon.ico`; }
66
+ get favIconPath() { return `./${this.project.root}/public/favicon.ico`; }
67
67
  get metadataFolderPath() { return `./${this.project.root}/${env_1.METADATA_DIR}`; }
68
68
  get manifestPath() { return `./${this.project.root}/${env_1.METADATA_DIR}/manifest.json`; }
69
69
  get configPath() { return `./${this.project.root}/${env_1.METADATA_DIR}/config.json`; }
@@ -1 +1 @@
1
- {"version":3,"file":"metadata.class.js","sourceRoot":"","sources":["metadata.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { AppConfig, ComponentId, Route, RouteTable } from \"../../types/interfaces/app\";\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\nimport { Project } from \"../utils/devkit-utils/config\";\nimport { env, GEN_FOLDER, METADATA_DIR } from \"./env\";\nimport { Manifest } from \"./manifest\";\nimport { getProject, readJson } from \"./utils\";\n\n\nexport class MagicPaths {\n\n // return the current module path\n // for example : for module \"WebModule1\" it returns 'src/app/magic/WebModule1'\n currentModulePath(module_name:string) {\n if (module_name !== \"\") {\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;\n }\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;\n\n\n }\n\n // return the destanation path for create the component\n // for example : for module \"WebModule1\" component \"WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'\n getDestPathForComponent(module_name:string, componentPath:string) {\n return `${this.currentModulePath(module_name)}/${componentPath}`;\n }\n\n getJsonPathForComponent(cmpJsonPath:string) {\n return `${this.metadataFolderPath}/${cmpJsonPath}.json`;\n }\n\n getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {\n let relativePathForComponentInModule = `${cmpJsonPath}`;\n if (module_name !== \"\")\n relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;\n\n return relativePathForComponentInModule;\n }\n\n getRoutePathForWebModule(module_name:string) {\n\n if (module_name == \"\")\n return this.appRoutesPath;\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;\n }\n get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }\n get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}\n get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}\n get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}\n get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}\n get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}\n get angularJsonPath(){ return `./angular.json`}\n get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}\n\n // get the relative path of module to be used in LazyLoadMap\n magicGenLibModulePath (moduleName){\n\n let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';\n let modulepath = rootPath+`src/app/${GEN_FOLDER}`;\n if (moduleName !== \"\") {\n return `${modulepath}/${moduleName}/magic.gen.lib.module`;\n }\n return `${modulepath}/magic.gen.lib.module`;\n }\n\n // Files under gen folder\n get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}\n\n componentListPathForCurrentModuleName (module_name:string):string{\n return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`\n }\n componentListPath (module_name:string):string{\n\n if (module_name !== \"\"){\n return this.componentListPathForCurrentModuleName(module_name);\n }\n return this.rootMagicComponentListPath;\n }\n\n get rootMagicComponentListPath (){\n\n return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`\n }\n\n get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}\n\n get favIconPath(){ return `./${this.project.root}/src/favicon.ico`; }\n\n get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }\n get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }\n get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }\n get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }\n get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }\n\n constructor(protected project:Project){\n }\n}\n\n\nexport class MagicMetadata {\n\n private _config: AppConfig;\n private _routesTable: RouteTable[];\n private _programListContents: any;\n\n paths: MagicPaths;\n\n get theme() {\n if (!this.options.theme) {\n this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';\n }\n return this.options.theme;\n }\n\n get allow_testing() {\n if (!this.options.allowTesting) {\n this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;\n }\n return this.options.allowTesting;\n }\n get config() {\n if (this._config) return this._config;\n return this.loadConfig();\n }\n\n get programListContents(){\n if(this._programListContents) return this._programListContents;\n return this.loadProgramList();\n }\n\n get routesTable(){\n if (this._routesTable) return this._routesTable;\n return this.loadRoutes();\n }\n\n constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {\n this.paths = new MagicPaths(getProject(host, options.project));\n }\n\n loadConfig() {\n this._config = readJson(this.host, this.paths.configPath);\n return this._config;\n }\n\n loadProgramList(){\n this._programListContents = readJson(this.host, this.paths.programListPath);\n return this._programListContents;\n }\n\n loadRoutes() {\n this._routesTable = readJson(this.host, this.paths.routesPath);\n return this._routesTable;\n }\n}\n\n\n"]}
1
+ {"version":3,"file":"metadata.class.js","sourceRoot":"","sources":["metadata.class.ts"],"names":[],"mappings":"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","sourcesContent":["import { SchematicContext, Tree } from \"@angular-devkit/schematics\";\nimport { AppConfig, ComponentId, Route, RouteTable } from \"../../types/interfaces/app\";\nimport { MagicOptionScheme } from \"./rules/magic-option.scheme\";\nimport { Project } from \"../utils/devkit-utils/config\";\nimport { env, GEN_FOLDER, METADATA_DIR } from \"./env\";\nimport { Manifest } from \"./manifest\";\nimport { getProject, readJson } from \"./utils\";\n\n\nexport class MagicPaths {\n\n // return the current module path\n // for example : for module \"WebModule1\" it returns 'src/app/magic/WebModule1'\n currentModulePath(module_name:string) {\n if (module_name !== \"\") {\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}`;\n }\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}`;\n\n\n }\n\n // return the destanation path for create the component\n // for example : for module \"WebModule1\" component \"WebModule1/folder1/bb/cc/it returns 'src/app/magic/WebModule1'\n getDestPathForComponent(module_name:string, componentPath:string) {\n return `${this.currentModulePath(module_name)}/${componentPath}`;\n }\n\n getJsonPathForComponent(cmpJsonPath:string) {\n return `${this.metadataFolderPath}/${cmpJsonPath}.json`;\n }\n\n getRelativePathForComponentInModule(module_name:string, cmpJsonPath:string) {\n let relativePathForComponentInModule = `${cmpJsonPath}`;\n if (module_name !== \"\")\n relativePathForComponentInModule = `${module_name}/${cmpJsonPath}`;\n\n return relativePathForComponentInModule;\n }\n\n getRoutePathForWebModule(module_name:string) {\n\n if (module_name == \"\")\n return this.appRoutesPath;\n\n return `${this.rootMagicGenFolder}/${GEN_FOLDER}/${module_name}/app.routes.ts`;\n }\n get rootMagicGenFolder(){ return `./${this.project.root}/src/app`; }\n get appComponentPath(){ return `./${this.project.root}/src/app/app.component.html`}\n get appRoutesPath(){ return `./${this.project.root}/src/app/app.routes.ts`}\n get appModulePath(){ return `./${this.project.root}/src/app/app.module.ts`}\n get executionPath(){ return `./${this.project.root}/src/assets/execution.properties`}\n get magicStylePath(){ return `./${this.project.root}/src/magic-styles.css`}\n get angularJsonPath(){ return `./angular.json`}\n get tsConfigAppJsonPath(){ return `./${this.project.root}/tsconfig.app.json`}\n\n // get the relative path of module to be used in LazyLoadMap\n magicGenLibModulePath (moduleName){\n\n let rootPath = this.project.root == '' ? this.project.root: this.project.root + '/';\n let modulepath = rootPath+`src/app/${GEN_FOLDER}`;\n if (moduleName !== \"\") {\n return `${modulepath}/${moduleName}/magic.gen.lib.module`;\n }\n return `${modulepath}/magic.gen.lib.module`;\n }\n\n // Files under gen folder\n get magicGenFolderPath (){ return `./${this.project.root}/src/app/${GEN_FOLDER}`}\n\n componentListPathForCurrentModuleName (module_name:string):string{\n return `./${this.project.root}/src/app/${GEN_FOLDER}/${module_name}/component-list.g.ts`\n }\n componentListPath (module_name:string):string{\n\n if (module_name !== \"\"){\n return this.componentListPathForCurrentModuleName(module_name);\n }\n return this.rootMagicComponentListPath;\n }\n\n get rootMagicComponentListPath (){\n\n return `./${this.project.root}/src/app/${GEN_FOLDER}/component-list.g.ts`\n }\n\n get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}\n\n get favIconPath(){ return `./${this.project.root}/public/favicon.ico`; }\n\n get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }\n get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }\n get configPath (){ return `./${this.project.root}/${METADATA_DIR}/config.json`; }\n get programListPath (){return `./${this.project.root}/${METADATA_DIR}/ProgramsList.json`; }\n get routesPath (){ return `./${this.project.root}/${METADATA_DIR}/routes.json`; }\n\n constructor(protected project:Project){\n }\n}\n\n\nexport class MagicMetadata {\n\n private _config: AppConfig;\n private _routesTable: RouteTable[];\n private _programListContents: any;\n\n paths: MagicPaths;\n\n get theme() {\n if (!this.options.theme) {\n this.options.theme = env.metadata.config ?env.metadata.config.theme : 'basicHTML';\n }\n return this.options.theme;\n }\n\n get allow_testing() {\n if (!this.options.allowTesting) {\n this.options.allowTesting = env.metadata.config ?env.metadata.config.allow_testing: false;\n }\n return this.options.allowTesting;\n }\n get config() {\n if (this._config) return this._config;\n return this.loadConfig();\n }\n\n get programListContents(){\n if(this._programListContents) return this._programListContents;\n return this.loadProgramList();\n }\n\n get routesTable(){\n if (this._routesTable) return this._routesTable;\n return this.loadRoutes();\n }\n\n constructor(public host: Tree, public context: SchematicContext, public options: MagicOptionScheme) {\n this.paths = new MagicPaths(getProject(host, options.project));\n }\n\n loadConfig() {\n this._config = readJson(this.host, this.paths.configPath);\n return this._config;\n }\n\n loadProgramList(){\n this._programListContents = readJson(this.host, this.paths.programListPath);\n return this._programListContents;\n }\n\n loadRoutes() {\n this._routesTable = readJson(this.host, this.paths.routesPath);\n return this._routesTable;\n }\n}\n\n\n"]}
@@ -87,7 +87,7 @@ export class MagicPaths {
87
87
 
88
88
  get magicGenLibModule (){ return `./${this.project.root}/src/app/${GEN_FOLDER}/magic.gen.lib.module.ts`}
89
89
 
90
- get favIconPath(){ return `./${this.project.root}/src/favicon.ico`; }
90
+ get favIconPath(){ return `./${this.project.root}/public/favicon.ico`; }
91
91
 
92
92
  get metadataFolderPath(){ return `./${this.project.root}/${METADATA_DIR}`; }
93
93
  get manifestPath (){ return `./${this.project.root}/${METADATA_DIR}/manifest.json`; }
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.processJson = void 0;
3
+ exports.processJson = processJson;
4
4
  const Util_1 = require("./Util");
5
5
  const util_1 = require("util");
6
6
  const Enums_1 = require("../../../src/types/enums/Enums");
@@ -63,7 +63,6 @@ function processJson(appJson) {
63
63
  });
64
64
  return appJson;
65
65
  }
66
- exports.processJson = processJson;
67
66
  function CalcClassForControl(control, controlClasses) {
68
67
  if (control.controlType != Enums_1.MgControlType.CTRL_TYPE_TABPAGE) {
69
68
  if (control.controlType === Enums_1.MgControlType.CTRL_TYPE_BUTTON && control.props.button_style === Enums_1.CtrlButtonTypeGui.Image) {
@@ -1 +1 @@
1
- {"version":3,"file":"process-json.js","sourceRoot":"","sources":["process-json.ts"],"names":[],"mappings":"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","sourcesContent":["import {AppJson, View,Control} from '../../types/index';\r\nimport {LogLn,} from \"./Util\";\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { MgControlType, CtrlButtonTypeGui } from \"../../../src/types/enums/Enums\";\r\n\r\n// mapping for properties which are implemented using a class\r\nconst Map: { [category: string]: { name: string, suffix?: string, options?: { [val: string]: string } }[] } = {\r\n style: [\r\n {\r\n name: 'font',\r\n suffix: 'mgFont'\r\n },\r\n {\r\n name: 'focus_color',\r\n suffix: 'mgFocusColor'\r\n },\r\n\r\n {\r\n name: 'border_color',\r\n suffix: 'mgBorderColor'\r\n },\r\n {\r\n name: 'border',\r\n options: {\r\n \"false\": 'hidden_border'\r\n }\r\n },\r\n {\r\n name: 'border_style',\r\n options: {\r\n \"1\": 'twod_border',\r\n \"2\": 'threed_border',\r\n \"3\": 'threedsunken_border',\r\n \"4\": 'windows_border',\r\n \"5\": 'windows_border',\r\n \"6\": 'emboss_border',\r\n \"7\": 'hidden_border'\r\n }\r\n },\r\n {\r\n name: 'multiline_edit',\r\n options: {\r\n \"true\": 'multiline',\r\n\r\n }\r\n }\r\n ],\r\n props: [],\r\n hint: []\r\n};\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// process the views' json, find the classes used for each control\r\n//////////////////////////////////////////////////////////////////\r\nexport function processJson(appJson: AppJson) :AppJson {\r\n\r\n const views$: View[] = Object.assign([], appJson.views);\r\n appJson.views.length = 0;\r\n\r\n // loop on all views\r\n views$.forEach( view$ => {\r\n if(view$){\r\n LogLn(`[>] Processing JSON file for component ${view$.props.id}`);\r\n processControl(view$);\r\n appJson.views.push(view$);\r\n }\r\n });\r\n return appJson;\r\n}\r\n\r\nfunction CalcClassForControl(control: Control, controlClasses: string[] ){\r\n if (control.controlType != MgControlType.CTRL_TYPE_TABPAGE){\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_BUTTON && control.props.button_style === CtrlButtonTypeGui.Image) {\r\n controlClasses.push(\"button_image_background_size\");\r\n }\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_LABEL) {\r\n controlClasses.push(\"lable_overflow\");\r\n }\r\n\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_COLUMN ) {\r\n controlClasses.push(\"table_row\");\r\n }\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_TABLE){\r\n\r\n if (control.props.scroll_bar) {\r\n controlClasses.push(\"table_scrollBar\");\r\n }\r\n }\r\n\r\n if(control.controlType === MgControlType.CTRL_TYPE_TABLE || control.controlType === MgControlType.CTRL_TYPE_GROUP) {\r\n controlClasses.push(\"container_border\");\r\n }\r\n\r\n // if (control.children) {\r\n // control.children.forEach((ctrl$: Control) => {\r\n // CalcClassForControl(ctrl$, controlClasses)\r\n // });\r\n // }\r\n }\r\n}\r\n///////////////////////////////////////////////////////////////////////////////////////////////////\r\n// for each special chars we will add \"\\\" before the special char.\r\n// For example : control name \"Blabla?\" the class name will be \"Blabla\\?\"\r\n///////////////////////////////////////////////////////////////////////////////////////////////////\r\nfunction getControlClassNameInCss(controlNameStr: string): string {\r\n var controlName = controlNameStr;\r\n\r\n //The following chars are created problem in css = [\"!\" \",\" \"+\", \":\", \",\", \"~\", \";\", \"\\\"\" \"{\" \"}\" \">\" \" \"];\r\n //TODO:need to be check with Rotem let specialCharsForRotem = [\"!\"];\r\n\r\n // replace all special chars\r\n let specialCharsWork = [\"\\\\\", \"#\", \"$\", \"%\", \"&\", \"(\", \")\", \"*\", \"-\", \".\", \"/\", \"<\", \"=\", \"?\", \"@\", \"[\", \"]\", \"^\", \"`\", \"|\"];\r\n for (let i = 0; i < specialCharsWork.length; i++) {\r\n controlName = controlName.split(specialCharsWork[i]).join(\"\\\\\" + specialCharsWork[i]);\r\n }\r\n\r\n return controlName;\r\n}\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// recursively process the controls' properties, find the classes used for the control\r\n//////////////////////////////////////////////////////////////////\r\nfunction processControl(control: Control) {\r\n\r\n const categoryNames: string[] = Object.keys(Map);\r\n\r\n //LogLn(\">> Generating CSS class list for \\\"\" + control.props.id + \"\\\"\");\r\n\r\n const controlClasses: string[] = [];\r\n\r\n // use the control's id as a class\r\n //control[\"class_name_in_css\"] = getControlClassNameInCss(control.props.id);\r\n //controlClasses.push(control.props.id + \"Props\");\r\n CalcClassForControl(control, controlClasses);\r\n\r\n // loop on all item names from the \"Map\" object\r\n categoryNames.forEach((catName) => {\r\n let catRuleArray: { name: string, suffix?: string, options?: { [val: string]: string } }[] = Map[catName];\r\n\r\n catRuleArray.forEach((rule, i) => {\r\n\r\n let ruleSet$;\r\n if (control[catName]) {\r\n ruleSet$ = control[catName][rule.name];\r\n }\r\n else {\r\n return;\r\n }\r\n if (isNullOrUndefined(ruleSet$)) return;\r\n\r\n // ... or turn on the has-expession flag\r\n if (!isNullOrUndefined(ruleSet$.has_exp) && ruleSet$.has_exp) {\r\n control.hasClassExpression = true;\r\n }\r\n // find and keep the class name...\r\n else {\r\n if (Map[catName] && Map[catName][i] && Map[catName][i] && Map[catName][i]['options']) {\r\n if (!isNullOrUndefined(Map[catName][i]['options'][String(ruleSet$)]))\r\n controlClasses.push(Map[catName][i]['options'][String(ruleSet$)]);\r\n }\r\n else {\r\n controlClasses.push(Map[catName] && Map[catName][i] && Map[catName][i] && Map[catName][i]['suffix'] + ruleSet$);\r\n }\r\n }\r\n\r\n });\r\n\r\n control.classes = controlClasses.join(' ');\r\n });\r\n\r\n //LogLn(\"generated classes \\\"\" + control.classes + \"\\\"\");\r\n\r\n // go over control's children\r\n if (control.children) {\r\n //LogLn(\"processing child controls...\");\r\n control.children.forEach((ctrl$: Control) => {\r\n processControl(ctrl$)\r\n });\r\n //LogLn(\"...children processing done\")\r\n }\r\n\r\n}\r\n"]}
1
+ {"version":3,"file":"process-json.js","sourceRoot":"","sources":["process-json.ts"],"names":[],"mappings":"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","sourcesContent":["import {AppJson, View,Control} from '../../types/index';\r\nimport {LogLn,} from \"./Util\";\r\nimport { isNullOrUndefined } from \"util\";\r\nimport { MgControlType, CtrlButtonTypeGui } from \"../../../src/types/enums/Enums\";\r\n\r\n// mapping for properties which are implemented using a class\r\nconst Map: { [category: string]: { name: string, suffix?: string, options?: { [val: string]: string } }[] } = {\r\n style: [\r\n {\r\n name: 'font',\r\n suffix: 'mgFont'\r\n },\r\n {\r\n name: 'focus_color',\r\n suffix: 'mgFocusColor'\r\n },\r\n\r\n {\r\n name: 'border_color',\r\n suffix: 'mgBorderColor'\r\n },\r\n {\r\n name: 'border',\r\n options: {\r\n \"false\": 'hidden_border'\r\n }\r\n },\r\n {\r\n name: 'border_style',\r\n options: {\r\n \"1\": 'twod_border',\r\n \"2\": 'threed_border',\r\n \"3\": 'threedsunken_border',\r\n \"4\": 'windows_border',\r\n \"5\": 'windows_border',\r\n \"6\": 'emboss_border',\r\n \"7\": 'hidden_border'\r\n }\r\n },\r\n {\r\n name: 'multiline_edit',\r\n options: {\r\n \"true\": 'multiline',\r\n\r\n }\r\n }\r\n ],\r\n props: [],\r\n hint: []\r\n};\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// process the views' json, find the classes used for each control\r\n//////////////////////////////////////////////////////////////////\r\nexport function processJson(appJson: AppJson) :AppJson {\r\n\r\n const views$: View[] = Object.assign([], appJson.views);\r\n appJson.views.length = 0;\r\n\r\n // loop on all views\r\n views$.forEach( view$ => {\r\n if(view$){\r\n LogLn(`[>] Processing JSON file for component ${view$.props.id}`);\r\n processControl(view$);\r\n appJson.views.push(view$);\r\n }\r\n });\r\n return appJson;\r\n}\r\n\r\nfunction CalcClassForControl(control: Control, controlClasses: string[] ){\r\n if (control.controlType != MgControlType.CTRL_TYPE_TABPAGE){\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_BUTTON && control.props.button_style === CtrlButtonTypeGui.Image) {\r\n controlClasses.push(\"button_image_background_size\");\r\n }\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_LABEL) {\r\n controlClasses.push(\"lable_overflow\");\r\n }\r\n\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_COLUMN ) {\r\n controlClasses.push(\"table_row\");\r\n }\r\n\r\n if (control.controlType === MgControlType.CTRL_TYPE_TABLE){\r\n\r\n if (control.props.scroll_bar) {\r\n controlClasses.push(\"table_scrollBar\");\r\n }\r\n }\r\n\r\n if(control.controlType === MgControlType.CTRL_TYPE_TABLE || control.controlType === MgControlType.CTRL_TYPE_GROUP) {\r\n controlClasses.push(\"container_border\");\r\n }\r\n\r\n // if (control.children) {\r\n // control.children.forEach((ctrl$: Control) => {\r\n // CalcClassForControl(ctrl$, controlClasses)\r\n // });\r\n // }\r\n }\r\n}\r\n///////////////////////////////////////////////////////////////////////////////////////////////////\r\n// for each special chars we will add \"\\\" before the special char.\r\n// For example : control name \"Blabla?\" the class name will be \"Blabla\\?\"\r\n///////////////////////////////////////////////////////////////////////////////////////////////////\r\nfunction getControlClassNameInCss(controlNameStr: string): string {\r\n var controlName = controlNameStr;\r\n\r\n //The following chars are created problem in css = [\"!\" \",\" \"+\", \":\", \",\", \"~\", \";\", \"\\\"\" \"{\" \"}\" \">\" \" \"];\r\n //TODO:need to be check with Rotem let specialCharsForRotem = [\"!\"];\r\n\r\n // replace all special chars\r\n let specialCharsWork = [\"\\\\\", \"#\", \"$\", \"%\", \"&\", \"(\", \")\", \"*\", \"-\", \".\", \"/\", \"<\", \"=\", \"?\", \"@\", \"[\", \"]\", \"^\", \"`\", \"|\"];\r\n for (let i = 0; i < specialCharsWork.length; i++) {\r\n controlName = controlName.split(specialCharsWork[i]).join(\"\\\\\" + specialCharsWork[i]);\r\n }\r\n\r\n return controlName;\r\n}\r\n\r\n//////////////////////////////////////////////////////////////////\r\n// recursively process the controls' properties, find the classes used for the control\r\n//////////////////////////////////////////////////////////////////\r\nfunction processControl(control: Control) {\r\n\r\n const categoryNames: string[] = Object.keys(Map);\r\n\r\n //LogLn(\">> Generating CSS class list for \\\"\" + control.props.id + \"\\\"\");\r\n\r\n const controlClasses: string[] = [];\r\n\r\n // use the control's id as a class\r\n //control[\"class_name_in_css\"] = getControlClassNameInCss(control.props.id);\r\n //controlClasses.push(control.props.id + \"Props\");\r\n CalcClassForControl(control, controlClasses);\r\n\r\n // loop on all item names from the \"Map\" object\r\n categoryNames.forEach((catName) => {\r\n let catRuleArray: { name: string, suffix?: string, options?: { [val: string]: string } }[] = Map[catName];\r\n\r\n catRuleArray.forEach((rule, i) => {\r\n\r\n let ruleSet$;\r\n if (control[catName]) {\r\n ruleSet$ = control[catName][rule.name];\r\n }\r\n else {\r\n return;\r\n }\r\n if (isNullOrUndefined(ruleSet$)) return;\r\n\r\n // ... or turn on the has-expession flag\r\n if (!isNullOrUndefined(ruleSet$.has_exp) && ruleSet$.has_exp) {\r\n control.hasClassExpression = true;\r\n }\r\n // find and keep the class name...\r\n else {\r\n if (Map[catName] && Map[catName][i] && Map[catName][i] && Map[catName][i]['options']) {\r\n if (!isNullOrUndefined(Map[catName][i]['options'][String(ruleSet$)]))\r\n controlClasses.push(Map[catName][i]['options'][String(ruleSet$)]);\r\n }\r\n else {\r\n controlClasses.push(Map[catName] && Map[catName][i] && Map[catName][i] && Map[catName][i]['suffix'] + ruleSet$);\r\n }\r\n }\r\n\r\n });\r\n\r\n control.classes = controlClasses.join(' ');\r\n });\r\n\r\n //LogLn(\"generated classes \\\"\" + control.classes + \"\\\"\");\r\n\r\n // go over control's children\r\n if (control.children) {\r\n //LogLn(\"processing child controls...\");\r\n control.children.forEach((ctrl$: Control) => {\r\n processControl(ctrl$)\r\n });\r\n //LogLn(\"...children processing done\")\r\n }\r\n\r\n}\r\n"]}
@@ -1,6 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.generate = exports.buildControl = void 0;
3
+ exports.buildControl = buildControl;
4
+ exports.generate = generate;
4
5
  const schematics_1 = require("@angular-devkit/schematics");
5
6
  const index_1 = require("../../../types/index");
6
7
  const Util_1 = require("../Util");
@@ -51,7 +52,6 @@ function buildControl(options, module_name) {
51
52
  return (0, schematics_1.chain)(rules)(host, context);
52
53
  };
53
54
  }
54
- exports.buildControl = buildControl;
55
55
  //
56
56
  // Call EJS to generate HTML and write the result to stdout
57
57
  //
@@ -71,5 +71,4 @@ function generate(file, options) {
71
71
  return host;
72
72
  };
73
73
  }
74
- exports.generate = generate;
75
74
  //# sourceMappingURL=build-control.rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-control.rule.js","sourceRoot":"","sources":["build-control.rule.ts"],"names":[],"mappings":";;;AACA,2DAAiF;AACjF,gDAW8B;AAC9B,kCAA+B;AAC/B,gCAA2D;AAC3D,2BAA2B;AAC3B,kCAAsC;AACtC,0CAA0C;AAC1C,mDAAiD;AAEjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;AAErC,EAAE;AACF,qCAAqC;AACrC,EAAE;AACF,SAAgB,YAAY,CAAC,OAAyB,EAAE,WAAkB;IACxE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAC,EAAE;QAC7C,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAM,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,GAAU,EAAE,CAAC;QAEpB,MAAM,MAAM,GAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAO,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChG,MAAM,IAAI,GAAO;YACf,aAAa,EAAO,qBAAa;YACjC,KAAK,EAAe,QAAQ,CAAC,KAAK;YAClC,iBAAiB,EAAG,yBAAiB;YACrC,QAAQ,EAAY,gBAAQ;YAC5B,oBAAoB,EAAE,4BAAoB;YAC1C,aAAa,EAAO,qBAAa;YACjC,eAAe,EAAK,uBAAe;YACnC,UAAU,EAAU,kBAAU;YAC9B,cAAc,EAAM,sBAAc;YAClC,IAAI,EAAgB,WAAI;YACxB,KAAK,EAAe,IAAI;YACxB,IAAI,EAAgB,IAAI;YACxB,GAAG,EAAiB,SAAG,CAAC,GAAG;YAC3B,WAAW,EAAS,QAAQ,CAAC,MAAM;SACpC,CAAC;QACF,MAAM,cAAc,GAAqB;YACvC;gBACE,IAAI,EAAE,0BAAkB,CAAC,IAAI;gBAC7B,QAAQ,EAAE,gCAAgC;gBAC1C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,GAAG,MAAM,iBAAiB;gBAChC,IAAI,EAAE,IAAI;aACX;SACF,CAAC;QACF,cAAc,CAAC,OAAO,CAAE,cAAc,CAAC,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEL,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,IAAI,EAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAA;AACH,CAAC;AAvCD,oCAuCC;AAED,EAAE;AACF,2DAA2D;AAC3D,EAAE;AACF,SAAgB,QAAQ,CAAC,IAAoB,EAAC,OAAyB;IACrE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAE,EAAE;QAC9C,GAAG,CAAC,UAAU,CACZ,GAAG,sBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,EACtC,IAAI,CAAC,IAAI,EACT,EAAE,EACF,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI;gBACF,MAAM,GAAG,IAAA,8BAAc,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;aAC5C;YACD,OAAO,GAAG,EAAE;gBACV,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC;gBACf,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;aACb;YACD,yEAAyE;YACzE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAnBD,4BAmBC","sourcesContent":["import { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport {\r\n CtrlButtonTypeGui,\r\n GeneratedFileTypes,\r\n MgControlType,\r\n SideType,\r\n StorageAttributeType,\r\n TableWebStyle,\r\n RowEditingTypes,\r\n TemplateConfig,\r\n WindowPosition,\r\n WindowType\r\n} from \"../../../types/index\";\r\nimport { Util } from \"../Util\";\r\nimport { env, GEN_FOLDER, MAGIC_CLI_FOLDER } from \"../env\";\r\nimport * as EJS from 'ejs';\r\nimport { logErr, Log } from \"../Util\";\r\nimport * as jsbeautify from 'js-beautify';\r\nimport { createGenFuncs } from \"./generate.rule\";\r\n\r\nconst htmlBeautify = jsbeautify.html;\r\n\r\n//\r\n// build the HTML of a single control\r\n//\r\nexport function buildControl(options:MagicOptionScheme, module_name:string) : Rule {\r\n return (host:Tree, context: SchematicContext)=>{\r\n const metadata = env.metadata;\r\n const view = env.app.views[0];\r\n let rules:Rule[] = [];\r\n\r\n const viewId = view.props.id;\r\n const dest = metadata.paths.getDestPathForComponent(module_name, view.props.component_path);\r\n const data = {\r\n MgControlType : MgControlType,\r\n theme : metadata.theme,\r\n CtrlButtonTypeGui : CtrlButtonTypeGui,\r\n SideType : SideType,\r\n StorageAttributeType: StorageAttributeType,\r\n TableWebStyle : TableWebStyle,\r\n RowEditingTypes : RowEditingTypes,\r\n WindowType : WindowType,\r\n WindowPosition : WindowPosition,\r\n Util : Util,\r\n child : view,\r\n ctrl : view,\r\n app : env.app,\r\n magicConfig : metadata.config,\r\n };\r\n const componentFiles: TemplateConfig[] = [\r\n {\r\n type: GeneratedFileTypes.HTML,\r\n template: './templates/themes/control.ejs',\r\n destination: dest,\r\n name: `${viewId}.component.html`,\r\n data: data\r\n },\r\n ];\r\n componentFiles.forEach( templateConfig => {\r\n rules.push(generate(templateConfig, options));\r\n });\r\n\r\n return chain(rules)(host,context);\r\n }\r\n}\r\n\r\n//\r\n// Call EJS to generate HTML and write the result to stdout\r\n//\r\nexport function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{\r\n return (host:Tree, context: SchematicContext) => {\r\n EJS.renderFile(\r\n `${MAGIC_CLI_FOLDER}/${file.template}`,\r\n file.data,\r\n {},\r\n (err, output) => {\r\n try {\r\n output = createGenFuncs(output, file.type);\r\n }\r\n catch (err) {\r\n logErr(output);\r\n logErr(err);\r\n }\r\n // send the output directly to the stdout, so the calling app will get it\r\n console.log(output);\r\n });\r\n return host;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"build-control.rule.js","sourceRoot":"","sources":["build-control.rule.ts"],"names":[],"mappings":";;AA0BA,oCAuCC;AAKD,4BAmBC;AAxFD,2DAAiF;AACjF,gDAW8B;AAC9B,kCAA+B;AAC/B,gCAA2D;AAC3D,2BAA2B;AAC3B,kCAAsC;AACtC,0CAA0C;AAC1C,mDAAiD;AAEjD,MAAM,YAAY,GAAG,UAAU,CAAC,IAAI,CAAC;AAErC,EAAE;AACF,qCAAqC;AACrC,EAAE;AACF,SAAgB,YAAY,CAAC,OAAyB,EAAE,WAAkB;IACxE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAC,EAAE;QAC7C,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,IAAI,GAAM,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QACjC,IAAI,KAAK,GAAU,EAAE,CAAC;QAEpB,MAAM,MAAM,GAAK,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAO,QAAQ,CAAC,KAAK,CAAC,uBAAuB,CAAC,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QAChG,MAAM,IAAI,GAAO;YACf,aAAa,EAAO,qBAAa;YACjC,KAAK,EAAe,QAAQ,CAAC,KAAK;YAClC,iBAAiB,EAAG,yBAAiB;YACrC,QAAQ,EAAY,gBAAQ;YAC5B,oBAAoB,EAAE,4BAAoB;YAC1C,aAAa,EAAO,qBAAa;YACjC,eAAe,EAAK,uBAAe;YACnC,UAAU,EAAU,kBAAU;YAC9B,cAAc,EAAM,sBAAc;YAClC,IAAI,EAAgB,WAAI;YACxB,KAAK,EAAe,IAAI;YACxB,IAAI,EAAgB,IAAI;YACxB,GAAG,EAAiB,SAAG,CAAC,GAAG;YAC3B,WAAW,EAAS,QAAQ,CAAC,MAAM;SACpC,CAAC;QACF,MAAM,cAAc,GAAqB;YACvC;gBACE,IAAI,EAAE,0BAAkB,CAAC,IAAI;gBAC7B,QAAQ,EAAE,gCAAgC;gBAC1C,WAAW,EAAE,IAAI;gBACjB,IAAI,EAAE,GAAG,MAAM,iBAAiB;gBAChC,IAAI,EAAE,IAAI;aACX;SACF,CAAC;QACF,cAAc,CAAC,OAAO,CAAE,cAAc,CAAC,EAAE;YACvC,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;QAEL,OAAO,IAAA,kBAAK,EAAC,KAAK,CAAC,CAAC,IAAI,EAAC,OAAO,CAAC,CAAC;IACpC,CAAC,CAAA;AACH,CAAC;AAED,EAAE;AACF,2DAA2D;AAC3D,EAAE;AACF,SAAgB,QAAQ,CAAC,IAAoB,EAAC,OAAyB;IACrE,OAAO,CAAC,IAAS,EAAE,OAAyB,EAAE,EAAE;QAC9C,GAAG,CAAC,UAAU,CACZ,GAAG,sBAAgB,IAAI,IAAI,CAAC,QAAQ,EAAE,EACtC,IAAI,CAAC,IAAI,EACT,EAAE,EACF,CAAC,GAAG,EAAE,MAAM,EAAE,EAAE;YACd,IAAI,CAAC;gBACH,MAAM,GAAG,IAAA,8BAAc,EAAC,MAAM,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7C,CAAC;YACD,OAAO,GAAG,EAAE,CAAC;gBACX,IAAA,aAAM,EAAC,MAAM,CAAC,CAAC;gBACf,IAAA,aAAM,EAAC,GAAG,CAAC,CAAC;YACd,CAAC;YACD,yEAAyE;YACzE,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACtB,CAAC,CAAC,CAAC;QACL,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC","sourcesContent":["import { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport {\r\n CtrlButtonTypeGui,\r\n GeneratedFileTypes,\r\n MgControlType,\r\n SideType,\r\n StorageAttributeType,\r\n TableWebStyle,\r\n RowEditingTypes,\r\n TemplateConfig,\r\n WindowPosition,\r\n WindowType\r\n} from \"../../../types/index\";\r\nimport { Util } from \"../Util\";\r\nimport { env, GEN_FOLDER, MAGIC_CLI_FOLDER } from \"../env\";\r\nimport * as EJS from 'ejs';\r\nimport { logErr, Log } from \"../Util\";\r\nimport * as jsbeautify from 'js-beautify';\r\nimport { createGenFuncs } from \"./generate.rule\";\r\n\r\nconst htmlBeautify = jsbeautify.html;\r\n\r\n//\r\n// build the HTML of a single control\r\n//\r\nexport function buildControl(options:MagicOptionScheme, module_name:string) : Rule {\r\n return (host:Tree, context: SchematicContext)=>{\r\n const metadata = env.metadata;\r\n const view = env.app.views[0];\r\n let rules:Rule[] = [];\r\n\r\n const viewId = view.props.id;\r\n const dest = metadata.paths.getDestPathForComponent(module_name, view.props.component_path);\r\n const data = {\r\n MgControlType : MgControlType,\r\n theme : metadata.theme,\r\n CtrlButtonTypeGui : CtrlButtonTypeGui,\r\n SideType : SideType,\r\n StorageAttributeType: StorageAttributeType,\r\n TableWebStyle : TableWebStyle,\r\n RowEditingTypes : RowEditingTypes,\r\n WindowType : WindowType,\r\n WindowPosition : WindowPosition,\r\n Util : Util,\r\n child : view,\r\n ctrl : view,\r\n app : env.app,\r\n magicConfig : metadata.config,\r\n };\r\n const componentFiles: TemplateConfig[] = [\r\n {\r\n type: GeneratedFileTypes.HTML,\r\n template: './templates/themes/control.ejs',\r\n destination: dest,\r\n name: `${viewId}.component.html`,\r\n data: data\r\n },\r\n ];\r\n componentFiles.forEach( templateConfig => {\r\n rules.push(generate(templateConfig, options));\r\n });\r\n\r\n return chain(rules)(host,context);\r\n }\r\n}\r\n\r\n//\r\n// Call EJS to generate HTML and write the result to stdout\r\n//\r\nexport function generate(file: TemplateConfig,options:MagicOptionScheme) :Rule{\r\n return (host:Tree, context: SchematicContext) => {\r\n EJS.renderFile(\r\n `${MAGIC_CLI_FOLDER}/${file.template}`,\r\n file.data,\r\n {},\r\n (err, output) => {\r\n try {\r\n output = createGenFuncs(output, file.type);\r\n }\r\n catch (err) {\r\n logErr(output);\r\n logErr(err);\r\n }\r\n // send the output directly to the stdout, so the calling app will get it\r\n console.log(output);\r\n });\r\n return host;\r\n }\r\n}\r\n"]}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  //import * as _ from "lodash";
3
3
  Object.defineProperty(exports, "__esModule", { value: true });
4
- exports.buildViews = void 0;
4
+ exports.buildViews = buildViews;
5
5
  const schematics_1 = require("@angular-devkit/schematics");
6
6
  const index_1 = require("../../../types/index");
7
7
  const Util_1 = require("../Util");
@@ -80,5 +80,4 @@ function buildViews(options, module_name) {
80
80
  return false;
81
81
  }
82
82
  }
83
- exports.buildViews = buildViews;
84
83
  //# sourceMappingURL=build-view.rule.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"build-view.rule.js","sourceRoot":"","sources":["build-view.rule.ts"],"names":[],"mappings":"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","sourcesContent":["//import * as _ from \"lodash\";\r\n\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport {\r\n CtrlButtonTypeGui,\r\n GeneratedFileTypes,\r\n MgControlType,\r\n SideType,\r\n StorageAttributeType,\r\n TableWebStyle,\r\n RowEditingTypes,\r\n TemplateConfig,\r\n WindowPosition,\r\n WindowType\r\n} from \"../../../types/index\";\r\nimport { LogLn, Util } from \"../Util\";\r\nimport { generate } from \"./generate.rule\";\r\nimport { env, GEN_FOLDER } from \"../env\";\r\n\r\nexport function buildViews(options:MagicOptionScheme, module_name:string) : Rule {\r\n return (host:Tree, context: SchematicContext)=>{\r\n const metadata = env.metadata;\r\n const views = env.app.views;\r\n let rules:Rule[] = [];\r\n\r\n //console.log(`Number of components to generate: ${views.length}`);\r\n\r\n LogLn(`*** Step 3: generate components. (${views.length} components) ***`);\r\n views.forEach( view => {\r\n const viewId = view.props.id;\r\n const dest = metadata.paths.getDestPathForComponent(module_name, view.props.component_path);\r\n\r\n LogLn(`[>] generate component ${viewId}`);\r\n\r\n //Setting controls_accessor_only property of metadata.config as true to generate HELPER (__.mg.controls.g.ts) file\r\n if(options.controlsaccessoronly === true)\r\n metadata.config.controls_accessor_only = true;\r\n\r\n const data = {\r\n MgControlType : MgControlType,\r\n theme : metadata.theme,\r\n CtrlButtonTypeGui : CtrlButtonTypeGui,\r\n SideType : SideType,\r\n StorageAttributeType: StorageAttributeType,\r\n TableWebStyle : TableWebStyle,\r\n RowEditingTypes : RowEditingTypes,\r\n WindowType : WindowType,\r\n WindowPosition : WindowPosition,\r\n Util : Util,\r\n ctrl : view,\r\n app : env.app,\r\n //_ : _,\r\n magicConfig : metadata.config,\r\n };\r\n const componentFiles: TemplateConfig[] = [\r\n {\r\n type: GeneratedFileTypes.HELPER,\r\n template: './templates/component/mg.accessor.ts',\r\n destination: dest,\r\n name: `${viewId}.mg.controls.g.ts`,\r\n data: data\r\n },\r\n {\r\n type: GeneratedFileTypes.TS,\r\n template: './templates/component/view.component.ts',\r\n destination: dest,\r\n name: `${viewId}.component.ts`,\r\n data: data\r\n },\r\n {\r\n type: GeneratedFileTypes.HTML,\r\n template: './templates/component/view.component.html',\r\n destination: dest,\r\n name: `${viewId}.component.html`,\r\n data: data\r\n },\r\n ];\r\n componentFiles.forEach( templateConfig => {\r\n if(shouldGenerateFileType(templateConfig))\r\n rules.push(generate(templateConfig,options));\r\n });\r\n });\r\n\r\n //console.log(`Number of generate rules: ${rules.length}`);\r\n\r\n return chain(rules)(host,context);\r\n }\r\n\r\n // check if the specified template should be used in generation, enables blocking\r\n // generation according to specified flags\r\n function shouldGenerateFileType(templateConfig): boolean{\r\n if(env.metadata.config.no_controls_accessor && templateConfig.type === GeneratedFileTypes.HELPER)\r\n return false;\r\n\r\n if(!env.metadata.config.controls_accessor_only)\r\n return true;\r\n\r\n if(templateConfig.type === GeneratedFileTypes.HELPER)\r\n return true;\r\n\r\n return false;\r\n }\r\n}\r\n\r\n"]}
1
+ {"version":3,"file":"build-view.rule.js","sourceRoot":"","sources":["build-view.rule.ts"],"names":[],"mappings":"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","sourcesContent":["//import * as _ from \"lodash\";\r\n\r\nimport { MagicOptionScheme } from \"./magic-option.scheme\";\r\nimport { chain, Rule, SchematicContext, Tree } from \"@angular-devkit/schematics\";\r\nimport {\r\n CtrlButtonTypeGui,\r\n GeneratedFileTypes,\r\n MgControlType,\r\n SideType,\r\n StorageAttributeType,\r\n TableWebStyle,\r\n RowEditingTypes,\r\n TemplateConfig,\r\n WindowPosition,\r\n WindowType\r\n} from \"../../../types/index\";\r\nimport { LogLn, Util } from \"../Util\";\r\nimport { generate } from \"./generate.rule\";\r\nimport { env, GEN_FOLDER } from \"../env\";\r\n\r\nexport function buildViews(options:MagicOptionScheme, module_name:string) : Rule {\r\n return (host:Tree, context: SchematicContext)=>{\r\n const metadata = env.metadata;\r\n const views = env.app.views;\r\n let rules:Rule[] = [];\r\n\r\n //console.log(`Number of components to generate: ${views.length}`);\r\n\r\n LogLn(`*** Step 3: generate components. (${views.length} components) ***`);\r\n views.forEach( view => {\r\n const viewId = view.props.id;\r\n const dest = metadata.paths.getDestPathForComponent(module_name, view.props.component_path);\r\n\r\n LogLn(`[>] generate component ${viewId}`);\r\n\r\n //Setting controls_accessor_only property of metadata.config as true to generate HELPER (__.mg.controls.g.ts) file\r\n if(options.controlsaccessoronly === true)\r\n metadata.config.controls_accessor_only = true;\r\n\r\n const data = {\r\n MgControlType : MgControlType,\r\n theme : metadata.theme,\r\n CtrlButtonTypeGui : CtrlButtonTypeGui,\r\n SideType : SideType,\r\n StorageAttributeType: StorageAttributeType,\r\n TableWebStyle : TableWebStyle,\r\n RowEditingTypes : RowEditingTypes,\r\n WindowType : WindowType,\r\n WindowPosition : WindowPosition,\r\n Util : Util,\r\n ctrl : view,\r\n app : env.app,\r\n //_ : _,\r\n magicConfig : metadata.config,\r\n };\r\n const componentFiles: TemplateConfig[] = [\r\n {\r\n type: GeneratedFileTypes.HELPER,\r\n template: './templates/component/mg.accessor.ts',\r\n destination: dest,\r\n name: `${viewId}.mg.controls.g.ts`,\r\n data: data\r\n },\r\n {\r\n type: GeneratedFileTypes.TS,\r\n template: './templates/component/view.component.ts',\r\n destination: dest,\r\n name: `${viewId}.component.ts`,\r\n data: data\r\n },\r\n {\r\n type: GeneratedFileTypes.HTML,\r\n template: './templates/component/view.component.html',\r\n destination: dest,\r\n name: `${viewId}.component.html`,\r\n data: data\r\n },\r\n ];\r\n componentFiles.forEach( templateConfig => {\r\n if(shouldGenerateFileType(templateConfig))\r\n rules.push(generate(templateConfig,options));\r\n });\r\n });\r\n\r\n //console.log(`Number of generate rules: ${rules.length}`);\r\n\r\n return chain(rules)(host,context);\r\n }\r\n\r\n // check if the specified template should be used in generation, enables blocking\r\n // generation according to specified flags\r\n function shouldGenerateFileType(templateConfig): boolean{\r\n if(env.metadata.config.no_controls_accessor && templateConfig.type === GeneratedFileTypes.HELPER)\r\n return false;\r\n\r\n if(!env.metadata.config.controls_accessor_only)\r\n return true;\r\n\r\n if(templateConfig.type === GeneratedFileTypes.HELPER)\r\n return true;\r\n\r\n return false;\r\n }\r\n}\r\n\r\n"]}
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.componentlistGen = void 0;
3
+ exports.componentlistGen = componentlistGen;
4
4
  const ts = require("typescript");
5
5
  const EJS = require("ejs");
6
6
  const schematics_1 = require("@angular-devkit/schematics");
@@ -29,7 +29,6 @@ function componentlistGen(options, module_name, loadOnDemand) {
29
29
  ])(host, context);
30
30
  };
31
31
  }
32
- exports.componentlistGen = componentlistGen;
33
32
  // create the lazy load map if it does not exist
34
33
  function createLazyModuleMap(options, module_name) {
35
34
  return (host, context) => {
@@ -1 +1 @@
1
- {"version":3,"file":"component-list.rule.js","sourceRoot":"","sources":["component-list.rule.ts"],"names":[],"mappings":";;;AAAA,iCAAiC;AACjC,2BAA2B;AAC3B,2DAAoG;AACpG,gCAAmG;AAEnG,0CAAoF;AACpF,mDAAyC;AACzC,yCAA8C;AAC9C,sEAAiF;AAEjF,kEAA6D;AAC7D,kCAA8B;AAC9B,+BAAuC;AAGvC,IAAI,eAA4B,CAAC;AACjC,IAAI,aAAa,GAAG,IAAI,GAAG,EAAE,CAAC;AAC9B,IAAI,YAAY,GAAY,IAAI,CAAC;AACjC,IAAI,aAAa,GAAG,SAAG,CAAC,WAAW,CAAC;AAGpC,SAAgB,gBAAgB,CAAC,OAA0B,EAAE,WAAmB,EAAE,YAAqB;IACrG,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAA,YAAK,EAAC,8BAA8B,CAAC,CAAC;QACtC,OAAO,IAAA,kBAAK,EAAC;YACX,2BAA2B,CAAC,OAAO,EAAE,WAAW,CAAC;YACjD,uBAAuB,CAAC,OAAO,EAAE,WAAW,CAAC;YAC7C,mBAAmB,CAAC,OAAO,EAAE,WAAW,CAAC;YACzC,wBAAwB,CAAC,OAAO,EAAE,WAAW,EAAE,YAAY,CAAC;YAC5D,uBAAuB,CAAC,OAAO,CAAC;YAChC,sBAAsB,CAAC,OAAO,CAAC;SAChC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAA;AACH,CAAC;AAZD,4CAYC;AAED,gDAAgD;AAChD,SAAS,mBAAmB,CAAC,OAA0B,EAAE,WAAmB;IAC1E,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;QAC7D,SAAG,CAAC,WAAW,GAAG,KAAK,CAAC;QACxB,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAA;QAErD,MAAM,oBAAoB,GAAG,eAAe,GAAG,iCAA2B,GAAG,MAAM,CAAC;QACpF,MAAM,kBAAkB,GAAG,IAAI,CAAC;QAChC,wDAAwD;QACxD,IAAI,MAAM,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAAE;YAC5C,IAAA,YAAK,EAAC,kCAAkC,CAAC,CAAC;YAC1C,uCAAuC;YACvC,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,GAAG,oBAAoB,GAAG,kBAAkB,CAAC,CAAC;SAC1F;IAEL,CAAC,CAAA;AACH,CAAC;AAED,+BAA+B;AAC/B,SAAS,wBAAwB,CAAC,OAA0B,EAAE,WAAmB,EAAE,YAAqB;IACtG,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,YAAY,EAAE;YAChB,IAAI,oBAAoB,GAAgB,IAAI,KAAK,EAAQ,CAAC;YAC1D,MAAM,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,EAAE,CAAC,CAAC;YAE7D,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;YACtC,IAAI,MAAM,EAAE;gBACV,IAAI,aAAa,GAAG,IAAA,mBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;gBAErD,IAAI,SAAS,GAAG,0BAA0B,CAAC,aAAa,EAAE,iCAA2B,CAAC,CAAC;gBACvF,IAAI,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;gBAE3D,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;oBACzB,IAAI,IAAA,wBAAiB,EAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC,EAAE;wBAChH,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,6CAA6C;wBAC9E,IAAA,YAAK,EAAC,YAAY,IAAI,CAAC,KAAK,CAAC,oBAAoB,kCAAkC,CAAG,CAAC;qBACxF;gBACL,CAAC,CAAC,CAAC;gBAEH,wBAAwB;gBACxB,IAAI,oBAAoB,CAAC,MAAM,GAAG,CAAC,EAAE;oBACnC,IAAI,WAAW,GAAG,uBAAuB,CAAC,WAAW,EAAE,SAAS,EAAE,oBAAoB,EAAE,WAAW,CAAC,CAAC;oBACrG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;iBAC1C;aACF;YACD,SAAG,CAAC,WAAW,GAAG,aAAa,CAAC;SACjC;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAO;IACrC,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAE/C,IAAI,UAAU,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,gCAAgC,CAAC;QAC1F,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;QAC9C,IAAI,YAAY,GAAG,IAAA,mBAAa,EAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QAEnD,MAAM,YAAY,GAAG,IAAA,0BAAY,EAAC,YAAY,EAAE,UAAU,EAAE,iCAA2B,EAAE,oBAAoB,CAAiB,CAAC;QAC/H,IAAI,YAAY,CAAC,KAAK,EAAE;YACtB,QAAQ,CAAC,UAAU,CAAC,YAAY,CAAC,GAAG,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;SAC3D;QACD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;IAC9B,CAAC,CAAA;AACH,CAAC;AAED,4CAA4C;AAC5C,SAAS,uBAAuB,CAAC,OAAO;IACtC,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAE/C,IAAI,kBAAkB,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,kBAAkB,GAAG,gCAAgC,CAAC;QAClG,IAAG,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAC;YAClC,IAAA,YAAK,EAAC,yEAAyE,kBAAkB,EAAE,CAAC,CAAC;SACtG;QACD,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAE3C,IAAI,IAAI,KAAK,IAAI,EAAE;YACjB,MAAM,IAAI,gCAAmB,CAAC,QAAQ,kBAAkB,kBAAkB,CAAC,CAAC;SAC7E;QACD,IAAI,UAAU,GAAG,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QACxC,MAAM,mBAAmB,GAAG,6CAA6C,GAAE,iCAA2B,GAAC,GAAG,CAAC;QAC3G,IAAI,UAAU,KAAK,EAAE,IAAI,UAAU,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAG,CAAC,CAAC,EAAE;YACrE,IAAI,YAAY,GAAG,IAAA,mBAAa,EAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;YAC3D,IAAI,iBAAiB,GAAW,UAAU,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;YACnF,MAAM,SAAS,GAAmC,IAAA,qBAAS,EAAC,YAAY,EAAE,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAAmC,CAAC;YAE1I,IAAI,gBAAgB,GAAc,SAAS,CAAC,IAAK,CAAC,UAAU,CAAC,GAAG,CAAC;YAEjE,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,EAAE,gBAAgB,CAAC,CAAC;YACzD,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,gBAAgB,CAAE,CAAC;YACvD,IAAI,CAAC,SAAS,CAAC,kBAAkB,EAAG,GAAG,MAAM,IAAI,mBAAmB,IAAI,MAAM,EAAE,CAAE,CAAC;SAEpF;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAED;;;IAGI;AACJ,SAAS,2BAA2B,CAAC,OAA0B,EAAE,WAAmB;IAClF,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,SAAS,GAAG,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC;QAChC,MAAM,WAAW,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACtC,IAAI,MAAM,EAAE;YACV,IAAI,WAAW,GAAG,CAAC,CAAC;YACpB,IAAI,WAAW,GAAG,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;YAC3C,IAAI,aAAa,GAAG,IAAA,mBAAa,EAAC,IAAI,EAAE,WAAW,CAAC,CAAC;YAErD,IAAI,SAAS,GAAG,sBAAsB,CAAC,aAAa,EAAE,0BAAoB,CAAC,CAAC;YAC5E,eAAe,GAAG,IAAI,GAAG,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;YAChD,aAAa,GAAG,IAAI,GAAG,EAAU,CAAC;YAElC,gEAAgE;YAChE,SAAS,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;gBAC5B,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,EAAE;oBAC9D,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;iBACzD;YACH,CAAC,CAAC,CAAC;YACH,MAAM,eAAe,GAAuB,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;YACtE,IAAI,eAAe,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE;gBACjD,IAAI,WAAW,GAAG,oBAAoB,CAAC,WAAW,EAAE,SAAS,EAAE,eAAe,CAAC,CAAC;gBAEhF,IAAI,aAAa,GAAG,qBAAqB,CAAC,aAAa,EAAE,yBAAmB,CAAC,CAAC;gBAC9E,IAAI,WAAW,GAAG,mBAAmB,CAAC,WAAW,EAAE,aAAa,EAAE,eAAe,CAAC,CAAC;gBAEnF,IAAA,YAAK,EAAC,0BAA0B,eAAe,CAAC,IAAI,uBAAuB,aAAa,CAAC,IAAI,IAAI,CAAC,CAAC;gBAEnG,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;aAC1C;SACF;aAAM;YACL,wCAAwC;YACxC,YAAY,GAAG,KAAK,CAAC,CAAC,4CAA4C;YAClE,OAAO,0BAA0B,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3D;QAED,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAED;;IAEI;AACJ,SAAS,0BAA0B,CAAC,OAA0B;IAC5D,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAEhD,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;QACtC,MAAM,QAAQ,GAAG,SAAG,CAAC,QAAQ,CAAC;QAC9B,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,IAAI,GAAQ;YAChB,GAAG,EAAE,SAAG,CAAC,GAAG;YACZ,OAAO,EAAE,SAAG,CAAC,GAAG,CAAC,KAAK;SACvB,CAAC;QAEF,MAAM,aAAa,GAAmB;YACpC,QAAQ,EAAE,iDAAiD;YAC3D,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,kBAAkB;YAC9C,IAAI,EAAE,0BAAkB,CAAC,EAAE;YAC3B,IAAI,EAAE,IAAI;SACX,CAAC;QAEF,OAAO,IAAA,kBAAK,EAAC;YACX,IAAA,wBAAQ,EAAC,aAAa,EAAE,OAAO,CAAC;SACjC,CAAC,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IACpB,CAAC,CAAA;AACH,CAAC;AAED;;IAEI;AACJ,SAAS,uBAAuB,CAAC,OAA0B,EAAE,WAAmB;IAC9E,OAAO,CAAC,IAAU,EAAE,OAAyB,EAAE,EAAE;QAC/C,IAAI,YAAY,EAAE;YAChB,MAAM,SAAS,GAAG,SAAG,CAAC,GAAG,CAAC,KAAK,CAAC;YAChC,IAAI,aAAa,GAAG,IAAA,mBAAa,EAAC,IAAI,EAAE,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YAE3F,MAAM,QAAQ,GAAG,IAAI,CAAC,WAAW,CAAC,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,CAAC;YAErF,SAAS,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE;gBACtB,IAAI,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;gBACxB,IAAI,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,oBAAoB,CAAC;gBAChD,IAAI,OAAO,GAAG,GAAG,CAAC,KAAK,CAAC,cAAc,CAAC;gBAEvC,IAAI,aAAa,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACjC,MAAM,aAAa,GACjB,IAAA,2BAAa,EACX,aAAa,EACb,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,iBAAiB,CAAC,WAAW,CAAC,EACjD,IAAI,EACJ,UAAU,EACV,KAAK,OAAO,GAAG,IAAI,YAAY,CAChB,CAAC;oBAEpB,IAAI,aAAa,CAAC,KAAK,EAAE;wBACvB,QAAQ,CAAC,UAAU,CAAC,aAAa,CAAC,GAAG,EAAE,aAAa,CAAC,KAAK,CAAC,CAAC;qBAC7D;iBACF;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;SAC7B;QACD,OAAO,IAAI,CAAC;IACd,CAAC,CAAA;AACH,CAAC;AAmCD,SAAS,qBAAqB,CAAC,MAAqB,EAAE,QAAgB;IAEpE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,WAAW,GAAc,IAAA,qBAAS,EAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACtF,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,OAAO,GAAG,IAAI,CAAC;IAEnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;IAErD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,MAAM,gBAAgB,GAAc,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnG,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QACD,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,MAAM,kBAAkB,GAAG,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QACnG,IAAI,kBAAkB,IAAI,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;YACvD,OAAO,GAAG,KAAK,CAAC;SACjB;KACF;IACD,OAAO;QACL,UAAU,EAAE,IAAI;QAChB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAqB,EAAE,QAAgB;IAErE,MAAM,QAAQ,GAAG,MAAM,CAAC;IACxB,MAAM,WAAW,GAAc,IAAA,qBAAS,EAAC,QAAQ,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACtF,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,YAAY,CAAC;IACjB,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;IAErD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,MAAM,gBAAgB,GAAc,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnG,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;SACxE;QACD,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,MAAM,WAAW,GAAG,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAGpF,mBAAmB;QACnB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,OAAO,GAAG,KAAK,CAAC;YAChB,mDAAmD;YACnD,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,WAAW,CAAa,CAAC;SACvE;QACD,sBAAsB;QACtB,QAAQ;QACR,sCAAsC;QACtC,IAAI;KACL;IACD,OAAO;QACL,UAAU,EAAE,YAAY;QACxB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAGD,SAAS,0BAA0B,CAAC,MAAqB,EAAE,QAAgB;IAEzE,MAAM,WAAW,GAAc,IAAA,qBAAS,EAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IACpF,IAAI,MAAM,GAAG,CAAC,CAAC,CAAC;IAChB,IAAI,YAAY,CAAC;IACjB,IAAI,OAAO,GAAG,IAAI,CAAC;IACnB,IAAI,gBAAgB,GAAG,WAAW,CAAC,MAAM,CACvC,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC;IAErD,IAAI,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE;QACnD,MAAM,gBAAgB,GAAc,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;QACnG,IAAI,CAAC,CAAC,gBAAgB,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,CAAC,EAAE;YACtD,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;SACtE;QACD,MAAM,GAAG,gBAAgB,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC;QACjC,MAAM,WAAW,GAAG,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;QAC5F,MAAM,YAAY,GAAG,IAAA,qBAAS,EAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAErF,mBAAmB;QACnB,IAAI,WAAW,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACzC,OAAO,GAAG,KAAK,CAAC;YAChB,YAAY,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,WAAW,CAAE,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,YAAY,IAAI,EAAE,KAAK,YAAY,CAAC,CAAC;SAC1H;KACF;IACD,OAAO;QACL,UAAU,EAAE,YAAY;QACxB,MAAM;QACN,OAAO;KACR,CAAC;AACJ,CAAC;AAED,SAAS,oBAAoB,CAAC,MAAc,EAAE,IAA0B,EAAE,SAAmB;IAC3F,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,IAAI,KAAK,GAAG,GAAG,SAAS,EAAE,CAAC;IAC3B,KAAK,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,CAAC;IAE1C,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,GAAG,MAAM;IACL,KAAK,IAAI,MAAM,EAAE,CAAC,CAAC;QACvB,GAAG,MAAM;IACL,KAAK,IAAI,MAAM,EAAE,CAAE;AACvB,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAc,EAAE,IAA0B,EAAE,SAAmB;IAC1F,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;;;aAGnB,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC,CAAC,CAAC;IACtC,IAAI,KAAK,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACpE,gBAAgB;IAChB,OAAO,GAAG,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;IACtC;;4DAEwD;AAC1D,CAAC;AAED,wCAAwC;AACxC,SAAS,uBAAuB,CAAC,MAAc,EAAE,IAA0B,EAAE,SAAiB,EAAE,WAAmB;IACjH,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;IAChD,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAE7C,sBAAsB;IACtB,IAAI,iBAAiB,GAAG,SAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAAC;IAE9E,MAAM,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC;;;SAGvB,EAAE,EAAC,UAAU,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,UAAU,EAAE,iBAAiB,EAAC,CAAC,CAAC;IAE1F,IAAI,KAAK,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC;IACpE,gBAAgB;IAChB,OAAO,GAAG,MAAM,IAAI,KAAK,IAAI,MAAM,EAAE,CAAC;AACxC,CAAC;AAED,SAAS,YAAY,CAAC,MAAc;IAClC,IAAI,KAAK,GAAG,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IACpC,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC;AACpC,CAAC","sourcesContent":["import * as ts from 'typescript';\r\nimport * as EJS from \"ejs\";\r\nimport {chain, Rule, SchematicContext, SchematicsException, Tree} from \"@angular-devkit/schematics\";\r\nimport {env, GEN_COMPONENTS_ARRAY, GEN_COMPONENTS_HASH, GEN_LAZY_LOAD_MODULES_ARRAY} from \"../env\";\r\nimport {MagicOptionScheme} from \"./magic-option.scheme\";\r\nimport {GeneratedFileTypes, TemplateConfig, View, WindowType} from \"../../../types\";\r\nimport {generate} from \"./generate.rule\";\r\nimport {getSourceFile} from \"../../utils/ast\";\r\nimport {insertImport, insertImport2} from \"../../utils/devkit-utils/route-utils\";\r\nimport {InsertChange} from \"../../utils/devkit-utils/change\";\r\nimport {findNodes} from \"../../utils/devkit-utils/ast-utils\";\r\nimport {LogLn} from \"../Util\";\r\nimport {isNullOrUndefined} from \"util\";\r\n\r\n\r\nlet existCmpListSet: Set<string>;\r\nlet newCmpListSet = new Set();\r\nlet toAddImports: boolean = true;\r\nlet orgPreventLog = env.prevent_log;\r\n\r\n\r\nexport function componentlistGen(options: MagicOptionScheme, module_name: string, loadOnDemand: boolean): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n LogLn(`[>] Step 4: components-list.`);\r\n return chain([\r\n addNewCmpsToCmpListOrGenAll(options, module_name),\r\n addCmpsImportsToCmpList(options, module_name),\r\n createLazyModuleMap(options, module_name),\r\n addLazyLoadComponentList(options, module_name, loadOnDemand),\r\n addLazyModuleToMagicGen(options),\r\n addImportForLazyModule(options)\r\n ])(host, context);\r\n }\r\n}\r\n\r\n// create the lazy load map if it does not exist\r\nfunction createLazyModuleMap(options: MagicOptionScheme, module_name: string) {\r\n return (host: Tree, context: SchematicContext) => {\r\n const cmpListPath = env.metadata.paths.componentListPath(\"\");\r\n env.prevent_log = false;\r\n const source = host.read(cmpListPath).toString(\"utf-8\")\r\n\r\n const LazyModuleArrayStart = 'export const ' + GEN_LAZY_LOAD_MODULES_ARRAY + ' = {';\r\n const LazyMOduleArrayEnd = '};';\r\n // create lazy load component array if it does not exist\r\n if (source.indexOf(LazyModuleArrayStart) < 0) {\r\n LogLn(`[>] Creating LazyLoadModulesMap `);\r\n // add the code of creating map in file\r\n host.overwrite(cmpListPath, source + \"\\r\\n\" + LazyModuleArrayStart + LazyMOduleArrayEnd);\r\n }\r\n\r\n }\r\n}\r\n\r\n// add the lazy load components\r\nfunction addLazyLoadComponentList(options: MagicOptionScheme, module_name: string, loadOnDemand: boolean): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n if (loadOnDemand) {\r\n let lazyLoadedComponents: Array<View> = new Array<View>();\r\n const cmpListPath = env.metadata.paths.componentListPath(\"\");\r\n\r\n const source = host.read(cmpListPath);\r\n if (source) {\r\n let cmpListSource = getSourceFile(host, cmpListPath);\r\n\r\n let cmpListTs = getLazyLoadCompoenentsInfo(cmpListSource, GEN_LAZY_LOAD_MODULES_ARRAY);\r\n let sourceStep1 = host.read(cmpListPath).toString(\"utf-8\");\r\n\r\n env.app.views.forEach(view => {\r\n if( isNullOrUndefined(cmpListTs.components) || !(cmpListTs.components.includes(view.props.component_uniquename))) {\r\n lazyLoadedComponents.push(view); // if component does not exist add it to list\r\n LogLn(`[>] Add ${view.props.component_uniquename} component to LazyLoadModulesMap`, );\r\n }\r\n });\r\n\r\n // add components to map\r\n if (lazyLoadedComponents.length > 0) {\r\n let sourceStep2 = addComponentsToLazyLoad(sourceStep1, cmpListTs, lazyLoadedComponents, module_name);\r\n host.overwrite(cmpListPath, sourceStep2);\r\n }\r\n }\r\n env.prevent_log = orgPreventLog;\r\n }\r\n return host;\r\n }\r\n}\r\n\r\nfunction addImportForLazyModule(options) {\r\n return (tree: Tree, context: SchematicContext) => {\r\n\r\n let genLibPath= env.metadata.paths.rootMagicGenFolder + '/magic/magic.gen.lib.module.ts';\r\n const recorder = tree.beginUpdate(genLibPath);\r\n let genLibSource = getSourceFile(tree, genLibPath);\r\n\r\n const importChange = insertImport(genLibSource, genLibPath, GEN_LAZY_LOAD_MODULES_ARRAY, './component-list.g') as InsertChange;\r\n if (importChange.toAdd) {\r\n recorder.insertLeft(importChange.pos, importChange.toAdd);\r\n }\r\n tree.commitUpdate(recorder);\r\n }\r\n}\r\n\r\n// add the lazy load module to magic.gen.lib\r\nfunction addLazyModuleToMagicGen(options) {\r\n return (tree: Tree, context: SchematicContext) => {\r\n\r\n let origModuleFileName= env.metadata.paths.rootMagicGenFolder + '/magic/magic.gen.lib.module.ts';\r\n if(!tree.exists(origModuleFileName)){\r\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! : ${origModuleFileName}`);\r\n }\r\n const text = tree.read(origModuleFileName);\r\n\r\n if (text === null) {\r\n throw new SchematicsException(`File ${origModuleFileName} does not exist.`);\r\n }\r\n let sourceText = text.toString('utf-8');\r\n const lazyModuleStatement = '\\r\\n componentList.lazyLoadModulesMap = '+ GEN_LAZY_LOAD_MODULES_ARRAY+';';\r\n if (sourceText !== \"\" && sourceText.indexOf(lazyModuleStatement)== -1) {\r\n let genLibSource = getSourceFile(tree, origModuleFileName);\r\n let newLazyModuleText: string = sourceText.replace(lazyModuleStatement, '').trim();\r\n const constNode: ts.FunctionLikeDeclarationBase = findNodes(genLibSource, ts.SyntaxKind.Constructor)[0] as ts.FunctionLikeDeclarationBase;\r\n\r\n let lastStatementEnd = (<ts.Block>constNode.body).statements.end;\r\n\r\n const prefix = sourceText.substring(0, lastStatementEnd);\r\n const suffix = sourceText.substring(lastStatementEnd );\r\n tree.overwrite(origModuleFileName, `${prefix} ${lazyModuleStatement} ${suffix}` );\r\n\r\n }\r\n return tree;\r\n }\r\n}\r\n\r\n/*\r\n* Add new component to component-list.g file (Array and Hash).\r\n* If the file not exist new file will create by componentListGenIfNotExist function.\r\n* */\r\nfunction addNewCmpsToCmpListOrGenAll(options: MagicOptionScheme, module_name: string): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const metadata = env.metadata;\r\n const cmpsToGen = env.app.views;\r\n const cmpListPath = env.metadata.paths.componentListPath(module_name);\r\n const source = host.read(cmpListPath);\r\n if (source) {\r\n let cmpToGenNum = 0;\r\n let sourceStep1 = source.toString(\"utf-8\");\r\n let cmpListSource = getSourceFile(host, cmpListPath);\r\n\r\n let cmpListTs = getComponentsArrayInfo(cmpListSource, GEN_COMPONENTS_ARRAY);\r\n existCmpListSet = new Set(cmpListTs.components);\r\n newCmpListSet = new Set<string>();\r\n\r\n // merge between components in the file and new component to gen\r\n cmpsToGen.forEach(newCmpGen => {\r\n if (!existCmpListSet.has(newCmpGen.props.component_uniquename)) {\r\n newCmpListSet.add(newCmpGen.props.component_uniquename);\r\n }\r\n });\r\n const newCmpListArray: string[] = <string[]>Array.from(newCmpListSet);\r\n if (newCmpListArray && newCmpListArray.length > 0) {\r\n let sourceStep2 = addComponentsToArray(sourceStep1, cmpListTs, newCmpListArray);\r\n\r\n let cmpListHashTs = getComponentsHashInfo(cmpListSource, GEN_COMPONENTS_HASH);\r\n let sourceStep3 = addComponentsToHash(sourceStep2, cmpListHashTs, newCmpListArray);\r\n\r\n LogLn(` Total old components: ${existCmpListSet.size}, added components: ${newCmpListSet.size}. `);\r\n\r\n host.overwrite(cmpListPath, sourceStep3);\r\n }\r\n } else {\r\n // If component-list.g.ts doesn't exist.\r\n toAddImports = false; // We generate the entire file with imports.\r\n return componentListGenIfNotExist(options)(host, context);\r\n }\r\n\r\n return host;\r\n }\r\n}\r\n\r\n/*\r\n* Create new component-list.g file.\r\n* */\r\nfunction componentListGenIfNotExist(options: MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n\r\n console.log(\"creating component-list\");\r\n const metadata = env.metadata;\r\n const cmpList = new Set<string>();\r\n const data: any = {\r\n app: env.app,\r\n cmpList: env.app.views\r\n };\r\n\r\n const componentFile: TemplateConfig = {\r\n template: `./templates/angular/src/app/component-list.g.ts`,\r\n name: 'component-list.g.ts',\r\n destination: metadata.paths.magicGenFolderPath,\r\n type: GeneratedFileTypes.TS,\r\n data: data\r\n };\r\n\r\n return chain([\r\n generate(componentFile, options)\r\n ])(host, context);\r\n }\r\n}\r\n\r\n/*\r\n* Add new imports to component-list.g file.\r\n* */\r\nfunction addCmpsImportsToCmpList(options: MagicOptionScheme, module_name: string): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n if (toAddImports) {\r\n const cmpsToGen = env.app.views;\r\n let cmpListSource = getSourceFile(host, env.metadata.paths.componentListPath(module_name));\r\n\r\n const recorder = host.beginUpdate(env.metadata.paths.componentListPath(module_name));\r\n\r\n cmpsToGen.forEach(cmp => {\r\n let name = cmp.props.id;\r\n let uniqueName = cmp.props.component_uniquename;\r\n let cmpPath = cmp.props.component_path;\r\n\r\n if (newCmpListSet.has(uniqueName)) {\r\n const importsChange =\r\n insertImport2(\r\n cmpListSource,\r\n env.metadata.paths.componentListPath(module_name),\r\n name,\r\n uniqueName,\r\n `./${cmpPath}${name}.component`\r\n ) as InsertChange;\r\n\r\n if (importsChange.toAdd) {\r\n recorder.insertLeft(importsChange.pos, importsChange.toAdd);\r\n }\r\n }\r\n });\r\n\r\n host.commitUpdate(recorder);\r\n }\r\n return host;\r\n }\r\n}\r\n\r\n\r\n// //-------------------------------------------------------------------------------------------------\r\n// //\r\n// //-------------------------------------------------------------------------------------------------\r\n// function checkIfTheComponentNeedToBeRemoveFromGeneralMagicModule\r\n// (options: MagicOptionScheme, modulePath:string, moduleName:string, srcModuleName:string) : Rule {\r\n// return (tree: Tree , context : SchematicContext)=>{\r\n// const project = env.project;\r\n//\r\n// if (env.metadata.paths.generateCompForModuleName != \"\") {\r\n// LogLn(` [>] checking component name [${moduleName}]\r\n// from ${srcModuleName}]\r\n// To App Module : [${modulePath}]`);\r\n// const moduleSourceFile = getSourceFile(tree, modulePath);\r\n// if (isImported(moduleSourceFile, moduleName, srcModuleName)) {\r\n//\r\n// }\r\n// }\r\n//\r\n// return tree;\r\n// }\r\n// }\r\n\r\n/**************************\r\n * Helper Functions\r\n ***************************/\r\n\r\ninterface IComponentListParser {\r\n components: string[];\r\n endPos: number;\r\n isEmpty: boolean;\r\n}\r\n\r\nfunction getComponentsHashInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const rootNode = source;\r\n const cmpListVars: ts.Node[] = findNodes(rootNode, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let isEmpty = true;\r\n\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const firstPunctuation: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.FirstPunctuation);\r\n if (!(firstPunctuation && firstPunctuation.length > 0)) {\r\n throw new Error('magicGenCmpsHash variable has no open bracket ( { )');\r\n }\r\n endPos = firstPunctuation[0].end;\r\n const propertyAssignment = findNodes(firstPunctuation[0].parent, ts.SyntaxKind.PropertyAssignment);\r\n if (propertyAssignment && propertyAssignment.length > 0) {\r\n isEmpty = false;\r\n }\r\n }\r\n return {\r\n components: null,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\nfunction getComponentsArrayInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const rootNode = source;\r\n const cmpListVars: ts.Node[] = findNodes(rootNode, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let cmpListArray;\r\n let isEmpty = true;\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const openBracketToken: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.OpenBracketToken);\r\n if (!(openBracketToken && openBracketToken.length > 0)) {\r\n throw new Error('magicGenComponents variable has no open bracket ([)');\r\n }\r\n endPos = openBracketToken[0].end;\r\n const identifiers = findNodes(openBracketToken[0].parent, ts.SyntaxKind.Identifier);\r\n\r\n\r\n // Array with items\r\n if (identifiers && identifiers.length > 0) {\r\n isEmpty = false;\r\n //endPos = identifiers[identifiers.length - 1].end;\r\n cmpListArray = identifiers.map((i: any) => i.escapedText) as string[];\r\n }\r\n // Array with no items\r\n // else{\r\n // endPos = openBracketToken[0].end;\r\n // }\r\n }\r\n return {\r\n components: cmpListArray,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\n\r\nfunction getLazyLoadCompoenentsInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const cmpListVars: ts.Node[] = findNodes(source, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let cmpListArray;\r\n let isEmpty = true;\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const openBracketToken: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.FirstPunctuation);\r\n if (!(openBracketToken && openBracketToken.length > 0)) {\r\n throw new Error('FirstPunctuation variable has no open bracket ([)');\r\n }\r\n endPos = openBracketToken[0].end;\r\n const identifiers = findNodes(openBracketToken[0].parent, ts.SyntaxKind.PropertyAssignment);\r\n const identifiers1 = findNodes(openBracketToken[0].parent, ts.SyntaxKind.Identifier);\r\n\r\n // Array with items\r\n if (identifiers && identifiers.length > 0) {\r\n isEmpty = false;\r\n cmpListArray = identifiers.map((i: any) => i.name.escapedText ).filter(id => id !== \"moduleName\" && id !== \"modulePath\");\r\n }\r\n }\r\n return {\r\n components: cmpListArray,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\nfunction addComponentsToArray(source: string, info: IComponentListParser, cmpsToAdd: string[]): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n let toAdd = `${cmpsToAdd}`;\r\n toAdd = `${toAdd.replace(/,/g, \",\\n\\t\")}`;\r\n\r\n return info.isEmpty ?\r\n`${prefix}\r\n\\t${toAdd} ${suffix}` :\r\n`${prefix}\r\n\\t${toAdd},${suffix}` ;\r\n}\r\n\r\nfunction addComponentsToHash(source: string, info: IComponentListParser, cmpsToAdd: string[]): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n const cmpHashStr = EJS.render(`\r\n <% components.forEach(componentUniqueName => { %>\r\n <%= componentUniqueName %>:<%- componentUniqueName %>,\r\n <%})%>`, {components: cmpsToAdd});\r\n let toAdd = `${cmpHashStr.replace(/\\n/g, '').replace(/,/g, \",\\n\")}`;\r\n // update source\r\n return `${prefix} ${toAdd} ${suffix}`;\r\n /*return info.isEmpty ?\r\n `${prefix} ${delLastComma(cmpHashStr)} ${suffix}` :\r\n `${prefix} ${delLastComma(cmpHashStr)}, ${suffix}` ;*/\r\n}\r\n\r\n// add the lazy loaded components to map\r\nfunction addComponentsToLazyLoad(source: string, info: IComponentListParser, cmpsToAdd: View[], module_name: string): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n\r\n // get the module path\r\n let currentModulePath = env.metadata.paths.magicGenLibModulePath(module_name);\r\n\r\n const cmpHashStr = EJS.render(`\r\n<%{components.forEach(view =>{-%>\r\n<%=view.props.component_uniquename %> : { moduleName : 'Magic<%=moduleName%>Module'},\r\n<%})}-%>`, {components: cmpsToAdd, moduleName: module_name, modulePath: currentModulePath});\r\n\r\n let toAdd = `${cmpHashStr.replace(/\\n/g, '').replace(/,/g, \",\\n\")}`;\r\n // update source\r\n return `${prefix} ${toAdd} ${suffix}`;\r\n}\r\n\r\nfunction delLastComma(source: string) {\r\n let index = source.lastIndexOf(',');\r\n return source.substring(0, index);\r\n}\r\n\r\n\r\n\r\n"]}
1
+ {"version":3,"file":"component-list.rule.js","sourceRoot":"","sources":["component-list.rule.ts"],"names":[],"mappings":"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","sourcesContent":["import * as ts from 'typescript';\r\nimport * as EJS from \"ejs\";\r\nimport {chain, Rule, SchematicContext, SchematicsException, Tree} from \"@angular-devkit/schematics\";\r\nimport {env, GEN_COMPONENTS_ARRAY, GEN_COMPONENTS_HASH, GEN_LAZY_LOAD_MODULES_ARRAY} from \"../env\";\r\nimport {MagicOptionScheme} from \"./magic-option.scheme\";\r\nimport {GeneratedFileTypes, TemplateConfig, View, WindowType} from \"../../../types\";\r\nimport {generate} from \"./generate.rule\";\r\nimport {getSourceFile} from \"../../utils/ast\";\r\nimport {insertImport, insertImport2} from \"../../utils/devkit-utils/route-utils\";\r\nimport {InsertChange} from \"../../utils/devkit-utils/change\";\r\nimport {findNodes} from \"../../utils/devkit-utils/ast-utils\";\r\nimport {LogLn} from \"../Util\";\r\nimport {isNullOrUndefined} from \"util\";\r\n\r\n\r\nlet existCmpListSet: Set<string>;\r\nlet newCmpListSet = new Set();\r\nlet toAddImports: boolean = true;\r\nlet orgPreventLog = env.prevent_log;\r\n\r\n\r\nexport function componentlistGen(options: MagicOptionScheme, module_name: string, loadOnDemand: boolean): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n LogLn(`[>] Step 4: components-list.`);\r\n return chain([\r\n addNewCmpsToCmpListOrGenAll(options, module_name),\r\n addCmpsImportsToCmpList(options, module_name),\r\n createLazyModuleMap(options, module_name),\r\n addLazyLoadComponentList(options, module_name, loadOnDemand),\r\n addLazyModuleToMagicGen(options),\r\n addImportForLazyModule(options)\r\n ])(host, context);\r\n }\r\n}\r\n\r\n// create the lazy load map if it does not exist\r\nfunction createLazyModuleMap(options: MagicOptionScheme, module_name: string) {\r\n return (host: Tree, context: SchematicContext) => {\r\n const cmpListPath = env.metadata.paths.componentListPath(\"\");\r\n env.prevent_log = false;\r\n const source = host.read(cmpListPath).toString(\"utf-8\")\r\n\r\n const LazyModuleArrayStart = 'export const ' + GEN_LAZY_LOAD_MODULES_ARRAY + ' = {';\r\n const LazyMOduleArrayEnd = '};';\r\n // create lazy load component array if it does not exist\r\n if (source.indexOf(LazyModuleArrayStart) < 0) {\r\n LogLn(`[>] Creating LazyLoadModulesMap `);\r\n // add the code of creating map in file\r\n host.overwrite(cmpListPath, source + \"\\r\\n\" + LazyModuleArrayStart + LazyMOduleArrayEnd);\r\n }\r\n\r\n }\r\n}\r\n\r\n// add the lazy load components\r\nfunction addLazyLoadComponentList(options: MagicOptionScheme, module_name: string, loadOnDemand: boolean): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n if (loadOnDemand) {\r\n let lazyLoadedComponents: Array<View> = new Array<View>();\r\n const cmpListPath = env.metadata.paths.componentListPath(\"\");\r\n\r\n const source = host.read(cmpListPath);\r\n if (source) {\r\n let cmpListSource = getSourceFile(host, cmpListPath);\r\n\r\n let cmpListTs = getLazyLoadCompoenentsInfo(cmpListSource, GEN_LAZY_LOAD_MODULES_ARRAY);\r\n let sourceStep1 = host.read(cmpListPath).toString(\"utf-8\");\r\n\r\n env.app.views.forEach(view => {\r\n if( isNullOrUndefined(cmpListTs.components) || !(cmpListTs.components.includes(view.props.component_uniquename))) {\r\n lazyLoadedComponents.push(view); // if component does not exist add it to list\r\n LogLn(`[>] Add ${view.props.component_uniquename} component to LazyLoadModulesMap`, );\r\n }\r\n });\r\n\r\n // add components to map\r\n if (lazyLoadedComponents.length > 0) {\r\n let sourceStep2 = addComponentsToLazyLoad(sourceStep1, cmpListTs, lazyLoadedComponents, module_name);\r\n host.overwrite(cmpListPath, sourceStep2);\r\n }\r\n }\r\n env.prevent_log = orgPreventLog;\r\n }\r\n return host;\r\n }\r\n}\r\n\r\nfunction addImportForLazyModule(options) {\r\n return (tree: Tree, context: SchematicContext) => {\r\n\r\n let genLibPath= env.metadata.paths.rootMagicGenFolder + '/magic/magic.gen.lib.module.ts';\r\n const recorder = tree.beginUpdate(genLibPath);\r\n let genLibSource = getSourceFile(tree, genLibPath);\r\n\r\n const importChange = insertImport(genLibSource, genLibPath, GEN_LAZY_LOAD_MODULES_ARRAY, './component-list.g') as InsertChange;\r\n if (importChange.toAdd) {\r\n recorder.insertLeft(importChange.pos, importChange.toAdd);\r\n }\r\n tree.commitUpdate(recorder);\r\n }\r\n}\r\n\r\n// add the lazy load module to magic.gen.lib\r\nfunction addLazyModuleToMagicGen(options) {\r\n return (tree: Tree, context: SchematicContext) => {\r\n\r\n let origModuleFileName= env.metadata.paths.rootMagicGenFolder + '/magic/magic.gen.lib.module.ts';\r\n if(!tree.exists(origModuleFileName)){\r\n LogLn(` [>Error] File cannot be overwrite, The file is not exist !!! : ${origModuleFileName}`);\r\n }\r\n const text = tree.read(origModuleFileName);\r\n\r\n if (text === null) {\r\n throw new SchematicsException(`File ${origModuleFileName} does not exist.`);\r\n }\r\n let sourceText = text.toString('utf-8');\r\n const lazyModuleStatement = '\\r\\n componentList.lazyLoadModulesMap = '+ GEN_LAZY_LOAD_MODULES_ARRAY+';';\r\n if (sourceText !== \"\" && sourceText.indexOf(lazyModuleStatement)== -1) {\r\n let genLibSource = getSourceFile(tree, origModuleFileName);\r\n let newLazyModuleText: string = sourceText.replace(lazyModuleStatement, '').trim();\r\n const constNode: ts.FunctionLikeDeclarationBase = findNodes(genLibSource, ts.SyntaxKind.Constructor)[0] as ts.FunctionLikeDeclarationBase;\r\n\r\n let lastStatementEnd = (<ts.Block>constNode.body).statements.end;\r\n\r\n const prefix = sourceText.substring(0, lastStatementEnd);\r\n const suffix = sourceText.substring(lastStatementEnd );\r\n tree.overwrite(origModuleFileName, `${prefix} ${lazyModuleStatement} ${suffix}` );\r\n\r\n }\r\n return tree;\r\n }\r\n}\r\n\r\n/*\r\n* Add new component to component-list.g file (Array and Hash).\r\n* If the file not exist new file will create by componentListGenIfNotExist function.\r\n* */\r\nfunction addNewCmpsToCmpListOrGenAll(options: MagicOptionScheme, module_name: string): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n const metadata = env.metadata;\r\n const cmpsToGen = env.app.views;\r\n const cmpListPath = env.metadata.paths.componentListPath(module_name);\r\n const source = host.read(cmpListPath);\r\n if (source) {\r\n let cmpToGenNum = 0;\r\n let sourceStep1 = source.toString(\"utf-8\");\r\n let cmpListSource = getSourceFile(host, cmpListPath);\r\n\r\n let cmpListTs = getComponentsArrayInfo(cmpListSource, GEN_COMPONENTS_ARRAY);\r\n existCmpListSet = new Set(cmpListTs.components);\r\n newCmpListSet = new Set<string>();\r\n\r\n // merge between components in the file and new component to gen\r\n cmpsToGen.forEach(newCmpGen => {\r\n if (!existCmpListSet.has(newCmpGen.props.component_uniquename)) {\r\n newCmpListSet.add(newCmpGen.props.component_uniquename);\r\n }\r\n });\r\n const newCmpListArray: string[] = <string[]>Array.from(newCmpListSet);\r\n if (newCmpListArray && newCmpListArray.length > 0) {\r\n let sourceStep2 = addComponentsToArray(sourceStep1, cmpListTs, newCmpListArray);\r\n\r\n let cmpListHashTs = getComponentsHashInfo(cmpListSource, GEN_COMPONENTS_HASH);\r\n let sourceStep3 = addComponentsToHash(sourceStep2, cmpListHashTs, newCmpListArray);\r\n\r\n LogLn(` Total old components: ${existCmpListSet.size}, added components: ${newCmpListSet.size}. `);\r\n\r\n host.overwrite(cmpListPath, sourceStep3);\r\n }\r\n } else {\r\n // If component-list.g.ts doesn't exist.\r\n toAddImports = false; // We generate the entire file with imports.\r\n return componentListGenIfNotExist(options)(host, context);\r\n }\r\n\r\n return host;\r\n }\r\n}\r\n\r\n/*\r\n* Create new component-list.g file.\r\n* */\r\nfunction componentListGenIfNotExist(options: MagicOptionScheme): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n\r\n console.log(\"creating component-list\");\r\n const metadata = env.metadata;\r\n const cmpList = new Set<string>();\r\n const data: any = {\r\n app: env.app,\r\n cmpList: env.app.views\r\n };\r\n\r\n const componentFile: TemplateConfig = {\r\n template: `./templates/angular/src/app/component-list.g.ts`,\r\n name: 'component-list.g.ts',\r\n destination: metadata.paths.magicGenFolderPath,\r\n type: GeneratedFileTypes.TS,\r\n data: data\r\n };\r\n\r\n return chain([\r\n generate(componentFile, options)\r\n ])(host, context);\r\n }\r\n}\r\n\r\n/*\r\n* Add new imports to component-list.g file.\r\n* */\r\nfunction addCmpsImportsToCmpList(options: MagicOptionScheme, module_name: string): Rule {\r\n return (host: Tree, context: SchematicContext) => {\r\n if (toAddImports) {\r\n const cmpsToGen = env.app.views;\r\n let cmpListSource = getSourceFile(host, env.metadata.paths.componentListPath(module_name));\r\n\r\n const recorder = host.beginUpdate(env.metadata.paths.componentListPath(module_name));\r\n\r\n cmpsToGen.forEach(cmp => {\r\n let name = cmp.props.id;\r\n let uniqueName = cmp.props.component_uniquename;\r\n let cmpPath = cmp.props.component_path;\r\n\r\n if (newCmpListSet.has(uniqueName)) {\r\n const importsChange =\r\n insertImport2(\r\n cmpListSource,\r\n env.metadata.paths.componentListPath(module_name),\r\n name,\r\n uniqueName,\r\n `./${cmpPath}${name}.component`\r\n ) as InsertChange;\r\n\r\n if (importsChange.toAdd) {\r\n recorder.insertLeft(importsChange.pos, importsChange.toAdd);\r\n }\r\n }\r\n });\r\n\r\n host.commitUpdate(recorder);\r\n }\r\n return host;\r\n }\r\n}\r\n\r\n\r\n// //-------------------------------------------------------------------------------------------------\r\n// //\r\n// //-------------------------------------------------------------------------------------------------\r\n// function checkIfTheComponentNeedToBeRemoveFromGeneralMagicModule\r\n// (options: MagicOptionScheme, modulePath:string, moduleName:string, srcModuleName:string) : Rule {\r\n// return (tree: Tree , context : SchematicContext)=>{\r\n// const project = env.project;\r\n//\r\n// if (env.metadata.paths.generateCompForModuleName != \"\") {\r\n// LogLn(` [>] checking component name [${moduleName}]\r\n// from ${srcModuleName}]\r\n// To App Module : [${modulePath}]`);\r\n// const moduleSourceFile = getSourceFile(tree, modulePath);\r\n// if (isImported(moduleSourceFile, moduleName, srcModuleName)) {\r\n//\r\n// }\r\n// }\r\n//\r\n// return tree;\r\n// }\r\n// }\r\n\r\n/**************************\r\n * Helper Functions\r\n ***************************/\r\n\r\ninterface IComponentListParser {\r\n components: string[];\r\n endPos: number;\r\n isEmpty: boolean;\r\n}\r\n\r\nfunction getComponentsHashInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const rootNode = source;\r\n const cmpListVars: ts.Node[] = findNodes(rootNode, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let isEmpty = true;\r\n\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const firstPunctuation: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.FirstPunctuation);\r\n if (!(firstPunctuation && firstPunctuation.length > 0)) {\r\n throw new Error('magicGenCmpsHash variable has no open bracket ( { )');\r\n }\r\n endPos = firstPunctuation[0].end;\r\n const propertyAssignment = findNodes(firstPunctuation[0].parent, ts.SyntaxKind.PropertyAssignment);\r\n if (propertyAssignment && propertyAssignment.length > 0) {\r\n isEmpty = false;\r\n }\r\n }\r\n return {\r\n components: null,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\nfunction getComponentsArrayInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const rootNode = source;\r\n const cmpListVars: ts.Node[] = findNodes(rootNode, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let cmpListArray;\r\n let isEmpty = true;\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const openBracketToken: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.OpenBracketToken);\r\n if (!(openBracketToken && openBracketToken.length > 0)) {\r\n throw new Error('magicGenComponents variable has no open bracket ([)');\r\n }\r\n endPos = openBracketToken[0].end;\r\n const identifiers = findNodes(openBracketToken[0].parent, ts.SyntaxKind.Identifier);\r\n\r\n\r\n // Array with items\r\n if (identifiers && identifiers.length > 0) {\r\n isEmpty = false;\r\n //endPos = identifiers[identifiers.length - 1].end;\r\n cmpListArray = identifiers.map((i: any) => i.escapedText) as string[];\r\n }\r\n // Array with no items\r\n // else{\r\n // endPos = openBracketToken[0].end;\r\n // }\r\n }\r\n return {\r\n components: cmpListArray,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\n\r\nfunction getLazyLoadCompoenentsInfo(source: ts.SourceFile, variable: string): IComponentListParser {\r\n\r\n const cmpListVars: ts.Node[] = findNodes(source, ts.SyntaxKind.VariableDeclaration);\r\n let endPos = -1;\r\n let cmpListArray;\r\n let isEmpty = true;\r\n let magicGenCmpsInfo = cmpListVars.filter(\r\n (node: any) => node.name.escapedText === variable);\r\n\r\n if (magicGenCmpsInfo && magicGenCmpsInfo.length > 0) {\r\n const openBracketToken: ts.Node[] = findNodes(magicGenCmpsInfo[0], ts.SyntaxKind.FirstPunctuation);\r\n if (!(openBracketToken && openBracketToken.length > 0)) {\r\n throw new Error('FirstPunctuation variable has no open bracket ([)');\r\n }\r\n endPos = openBracketToken[0].end;\r\n const identifiers = findNodes(openBracketToken[0].parent, ts.SyntaxKind.PropertyAssignment);\r\n const identifiers1 = findNodes(openBracketToken[0].parent, ts.SyntaxKind.Identifier);\r\n\r\n // Array with items\r\n if (identifiers && identifiers.length > 0) {\r\n isEmpty = false;\r\n cmpListArray = identifiers.map((i: any) => i.name.escapedText ).filter(id => id !== \"moduleName\" && id !== \"modulePath\");\r\n }\r\n }\r\n return {\r\n components: cmpListArray,\r\n endPos,\r\n isEmpty\r\n };\r\n}\r\n\r\nfunction addComponentsToArray(source: string, info: IComponentListParser, cmpsToAdd: string[]): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n let toAdd = `${cmpsToAdd}`;\r\n toAdd = `${toAdd.replace(/,/g, \",\\n\\t\")}`;\r\n\r\n return info.isEmpty ?\r\n`${prefix}\r\n\\t${toAdd} ${suffix}` :\r\n`${prefix}\r\n\\t${toAdd},${suffix}` ;\r\n}\r\n\r\nfunction addComponentsToHash(source: string, info: IComponentListParser, cmpsToAdd: string[]): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n const cmpHashStr = EJS.render(`\r\n <% components.forEach(componentUniqueName => { %>\r\n <%= componentUniqueName %>:<%- componentUniqueName %>,\r\n <%})%>`, {components: cmpsToAdd});\r\n let toAdd = `${cmpHashStr.replace(/\\n/g, '').replace(/,/g, \",\\n\")}`;\r\n // update source\r\n return `${prefix} ${toAdd} ${suffix}`;\r\n /*return info.isEmpty ?\r\n `${prefix} ${delLastComma(cmpHashStr)} ${suffix}` :\r\n `${prefix} ${delLastComma(cmpHashStr)}, ${suffix}` ;*/\r\n}\r\n\r\n// add the lazy loaded components to map\r\nfunction addComponentsToLazyLoad(source: string, info: IComponentListParser, cmpsToAdd: View[], module_name: string): string {\r\n const prefix = source.substring(0, info.endPos);\r\n const suffix = source.substring(info.endPos);\r\n\r\n // get the module path\r\n let currentModulePath = env.metadata.paths.magicGenLibModulePath(module_name);\r\n\r\n const cmpHashStr = EJS.render(`\r\n<%{components.forEach(view =>{-%>\r\n<%=view.props.component_uniquename %> : { moduleName : 'Magic<%=moduleName%>Module'},\r\n<%})}-%>`, {components: cmpsToAdd, moduleName: module_name, modulePath: currentModulePath});\r\n\r\n let toAdd = `${cmpHashStr.replace(/\\n/g, '').replace(/,/g, \",\\n\")}`;\r\n // update source\r\n return `${prefix} ${toAdd} ${suffix}`;\r\n}\r\n\r\nfunction delLastComma(source: string) {\r\n let index = source.lastIndexOf(',');\r\n return source.substring(0, index);\r\n}\r\n\r\n\r\n\r\n"]}