@farris/jit-engine 1.4.26 → 1.4.28

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 (192) hide show
  1. package/README.md +13 -1
  2. package/lib/domstructure/ui/data/collection/hierarchy/tree_grid.js +30 -2
  3. package/lib/domstructure/ui/data/collection/hierarchy/tree_grid.js.map +1 -1
  4. package/lib/mobileapp/vue/code-generator/devkit-manager/app-indexvue-manager.js +6 -2
  5. package/lib/mobileapp/vue/code-generator/devkit-manager/app-indexvue-manager.js.map +1 -1
  6. package/lib/mobileapp/vue/code-generator/devkit-manager/index.js +6 -2
  7. package/lib/mobileapp/vue/code-generator/devkit-manager/index.js.map +1 -1
  8. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/index.js +6 -2
  9. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/index.js.map +1 -1
  10. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-expression.js.map +1 -1
  11. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-filter-generator.js +8 -8
  12. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-index-resource-generator.js +2 -2
  13. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-model-provider-generator.js +9 -9
  14. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-model-proxy-generator.js +34 -34
  15. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-router-generator.js +17 -17
  16. package/lib/mobileapp/vue/code-generator/file-generator/app-generator/vue-app-validation-rule.js.map +1 -1
  17. package/lib/mobileapp/vue/code-generator/file-generator/index.js +6 -2
  18. package/lib/mobileapp/vue/code-generator/file-generator/index.js.map +1 -1
  19. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-bindingdata-generator.js +11 -11
  20. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-component-generator.js +58 -24
  21. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-component-generator.js.map +1 -1
  22. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-handler-generator.js +25 -25
  23. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-provider-generator.js +51 -51
  24. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-statemachine-generator.js +19 -19
  25. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-uistate-generator.js +3 -3
  26. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-uistate-generator.js.map +1 -1
  27. package/lib/mobileapp/vue/code-generator/file-generator/page-generator/page-viewmodel-generator.js +31 -31
  28. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/babel-config-js-generator.js +6 -6
  29. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/gitignore-generator.js +23 -23
  30. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/main-ts-generator.js +11 -11
  31. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/package-json-generator.js +47 -47
  32. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/package-json-generator.js.map +1 -1
  33. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/readme-md-generator.js +20 -20
  34. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/shims-tsx-d-ts-generator.js +15 -15
  35. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/shimx-vue-d-ts-generator.js +31 -31
  36. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/tsconfig-json-generator.js +38 -38
  37. package/lib/mobileapp/vue/code-generator/file-generator/project-generator/vue-config-js-generator.js +20 -20
  38. package/lib/mobileapp/vue/code-generator/file-generator-filter.js +3 -3
  39. package/lib/mobileapp/vue/code-generator/file-generator-filter.js.map +1 -1
  40. package/lib/mobileapp/vue/code-generator/file-generator-path-manager.js +6 -2
  41. package/lib/mobileapp/vue/code-generator/file-generator-path-manager.js.map +1 -1
  42. package/lib/mobileapp/vue/code-generator/index.js +6 -2
  43. package/lib/mobileapp/vue/code-generator/index.js.map +1 -1
  44. package/lib/mobileapp/vue/code-generator/workspace-manager/workspace-file-manager.js +6 -2
  45. package/lib/mobileapp/vue/code-generator/workspace-manager/workspace-file-manager.js.map +1 -1
  46. package/lib/mobileapp/vue/domstructure/devkit/befproxy/index.js +6 -2
  47. package/lib/mobileapp/vue/domstructure/devkit/befproxy/index.js.map +1 -1
  48. package/lib/mobileapp/vue/domstructure/devkit/befproxy/vue-bef-proxy-content.js +11 -11
  49. package/lib/mobileapp/vue/domstructure/devkit/befproxy/vue-bef-proxy-operation-parameter.js +18 -18
  50. package/lib/mobileapp/vue/domstructure/devkit/befproxy/vue-bef-proxy-operation.js +13 -13
  51. package/lib/mobileapp/vue/domstructure/devkit/befproxy/vue-bef-proxy-service.js +9 -9
  52. package/lib/mobileapp/vue/domstructure/devkit/befproxy/vue-bef-proxy.js +2 -2
  53. package/lib/mobileapp/vue/domstructure/devkit/component/index.js +6 -2
  54. package/lib/mobileapp/vue/domstructure/devkit/component/index.js.map +1 -1
  55. package/lib/mobileapp/vue/domstructure/devkit/form/index.js +6 -2
  56. package/lib/mobileapp/vue/domstructure/devkit/form/index.js.map +1 -1
  57. package/lib/mobileapp/vue/domstructure/devkit/form/vue-control.js.map +1 -1
  58. package/lib/mobileapp/vue/domstructure/devkit/index.js +6 -2
  59. package/lib/mobileapp/vue/domstructure/devkit/index.js.map +1 -1
  60. package/lib/mobileapp/vue/domstructure/devkit/statemachine/index.js +6 -2
  61. package/lib/mobileapp/vue/domstructure/devkit/statemachine/index.js.map +1 -1
  62. package/lib/mobileapp/vue/domstructure/devkit/states/index.js +6 -2
  63. package/lib/mobileapp/vue/domstructure/devkit/states/index.js.map +1 -1
  64. package/lib/mobileapp/vue/domstructure/devkit/viewmodel/index.js +6 -2
  65. package/lib/mobileapp/vue/domstructure/devkit/viewmodel/index.js.map +1 -1
  66. package/lib/mobileapp/vue/domstructure/index.js +6 -2
  67. package/lib/mobileapp/vue/domstructure/index.js.map +1 -1
  68. package/lib/mobileapp/vue/domstructure/internal-entity/contexts/index.js +6 -2
  69. package/lib/mobileapp/vue/domstructure/internal-entity/contexts/index.js.map +1 -1
  70. package/lib/mobileapp/vue/domstructure/internal-entity/page-flow/index.js +6 -2
  71. package/lib/mobileapp/vue/domstructure/internal-entity/page-flow/index.js.map +1 -1
  72. package/lib/mobileapp/vue/domstructure/internal-entity/page-flow/vue-page-flow-entity.js +2 -2
  73. package/lib/mobileapp/vue/domstructure/internal-entity/page-flow/vue-page-flow-page.js +2 -2
  74. package/lib/mobileapp/vue/domstructure/internal-entity/page-flow/vue-page-flow-project.js +2 -2
  75. package/lib/mobileapp/vue/domstructure/ui/basic/action-bar/index.js +6 -2
  76. package/lib/mobileapp/vue/domstructure/ui/basic/action-bar/index.js.map +1 -1
  77. package/lib/mobileapp/vue/domstructure/ui/basic/button/button.js.map +1 -1
  78. package/lib/mobileapp/vue/domstructure/ui/basic/button/index.js +6 -2
  79. package/lib/mobileapp/vue/domstructure/ui/basic/button/index.js.map +1 -1
  80. package/lib/mobileapp/vue/domstructure/ui/basic/icon/icon.js.map +1 -1
  81. package/lib/mobileapp/vue/domstructure/ui/basic/icon/index.js +6 -2
  82. package/lib/mobileapp/vue/domstructure/ui/basic/icon/index.js.map +1 -1
  83. package/lib/mobileapp/vue/domstructure/ui/basic/image/index.js +6 -2
  84. package/lib/mobileapp/vue/domstructure/ui/basic/image/index.js.map +1 -1
  85. package/lib/mobileapp/vue/domstructure/ui/basic/index.js +6 -2
  86. package/lib/mobileapp/vue/domstructure/ui/basic/index.js.map +1 -1
  87. package/lib/mobileapp/vue/domstructure/ui/basic/nav-bar/index.js +6 -2
  88. package/lib/mobileapp/vue/domstructure/ui/basic/nav-bar/index.js.map +1 -1
  89. package/lib/mobileapp/vue/domstructure/ui/basic/search/index.js +6 -2
  90. package/lib/mobileapp/vue/domstructure/ui/basic/search/index.js.map +1 -1
  91. package/lib/mobileapp/vue/domstructure/ui/basic/sidebar/index.js +6 -2
  92. package/lib/mobileapp/vue/domstructure/ui/basic/sidebar/index.js.map +1 -1
  93. package/lib/mobileapp/vue/domstructure/ui/basic/tab/index.js +6 -2
  94. package/lib/mobileapp/vue/domstructure/ui/basic/tab/index.js.map +1 -1
  95. package/lib/mobileapp/vue/domstructure/ui/basic/toolbar/index.js +6 -2
  96. package/lib/mobileapp/vue/domstructure/ui/basic/toolbar/index.js.map +1 -1
  97. package/lib/mobileapp/vue/domstructure/ui/basic/toolbar/vue-toolbar-area.js +1 -1
  98. package/lib/mobileapp/vue/domstructure/ui/basic/toolbar/vue-toolbar-area.js.map +1 -1
  99. package/lib/mobileapp/vue/domstructure/ui/business/approval/index.js +6 -2
  100. package/lib/mobileapp/vue/domstructure/ui/business/approval/index.js.map +1 -1
  101. package/lib/mobileapp/vue/domstructure/ui/business/attachment/attachment-file.js +1 -1
  102. package/lib/mobileapp/vue/domstructure/ui/business/attachment/attachment-file.js.map +1 -1
  103. package/lib/mobileapp/vue/domstructure/ui/business/attachment/attachment.js +1 -1
  104. package/lib/mobileapp/vue/domstructure/ui/business/attachment/attachment.js.map +1 -1
  105. package/lib/mobileapp/vue/domstructure/ui/business/attachment/index.js +6 -2
  106. package/lib/mobileapp/vue/domstructure/ui/business/attachment/index.js.map +1 -1
  107. package/lib/mobileapp/vue/domstructure/ui/business/filter/filter.js +1 -1
  108. package/lib/mobileapp/vue/domstructure/ui/business/filter/filter.js.map +1 -1
  109. package/lib/mobileapp/vue/domstructure/ui/business/filter/index.js +6 -2
  110. package/lib/mobileapp/vue/domstructure/ui/business/filter/index.js.map +1 -1
  111. package/lib/mobileapp/vue/domstructure/ui/business/index.js +6 -2
  112. package/lib/mobileapp/vue/domstructure/ui/business/index.js.map +1 -1
  113. package/lib/mobileapp/vue/domstructure/ui/container/card.js +1 -1
  114. package/lib/mobileapp/vue/domstructure/ui/container/card.js.map +1 -1
  115. package/lib/mobileapp/vue/domstructure/ui/container/index.js +6 -2
  116. package/lib/mobileapp/vue/domstructure/ui/container/index.js.map +1 -1
  117. package/lib/mobileapp/vue/domstructure/ui/container/vue-content-container.js.map +1 -1
  118. package/lib/mobileapp/vue/domstructure/ui/container/vue-float-container.js.map +1 -1
  119. package/lib/mobileapp/vue/domstructure/ui/display/banner/index.js +6 -2
  120. package/lib/mobileapp/vue/domstructure/ui/display/banner/index.js.map +1 -1
  121. package/lib/mobileapp/vue/domstructure/ui/display/calendar/index.js +6 -2
  122. package/lib/mobileapp/vue/domstructure/ui/display/calendar/index.js.map +1 -1
  123. package/lib/mobileapp/vue/domstructure/ui/display/html-template/index.js +6 -2
  124. package/lib/mobileapp/vue/domstructure/ui/display/html-template/index.js.map +1 -1
  125. package/lib/mobileapp/vue/domstructure/ui/display/index.js +6 -2
  126. package/lib/mobileapp/vue/domstructure/ui/display/index.js.map +1 -1
  127. package/lib/mobileapp/vue/domstructure/ui/display/list-view/index.js +6 -2
  128. package/lib/mobileapp/vue/domstructure/ui/display/list-view/index.js.map +1 -1
  129. package/lib/mobileapp/vue/domstructure/ui/display/staff-info/index.js +6 -2
  130. package/lib/mobileapp/vue/domstructure/ui/display/staff-info/index.js.map +1 -1
  131. package/lib/mobileapp/vue/domstructure/ui/display/static-text/index.js +6 -2
  132. package/lib/mobileapp/vue/domstructure/ui/display/static-text/index.js.map +1 -1
  133. package/lib/mobileapp/vue/domstructure/ui/index.js +6 -2
  134. package/lib/mobileapp/vue/domstructure/ui/index.js.map +1 -1
  135. package/lib/mobileapp/vue/domstructure/ui/input/common.js +2 -1
  136. package/lib/mobileapp/vue/domstructure/ui/input/common.js.map +1 -1
  137. package/lib/mobileapp/vue/domstructure/ui/input/index.js +7 -2
  138. package/lib/mobileapp/vue/domstructure/ui/input/index.js.map +1 -1
  139. package/lib/mobileapp/vue/domstructure/ui/input/lookup-external.js +11 -0
  140. package/lib/mobileapp/vue/domstructure/ui/input/lookup-external.js.map +1 -0
  141. package/lib/mobileapp/vue/jit-engine-executor/index.js +6 -2
  142. package/lib/mobileapp/vue/jit-engine-executor/index.js.map +1 -1
  143. package/lib/mobileapp/vue/pug-generator/index.js +6 -2
  144. package/lib/mobileapp/vue/pug-generator/index.js.map +1 -1
  145. package/lib/mobileapp/vue/pug-generator/pug-generator-manager.js +3 -3
  146. package/lib/mobileapp/vue/pug-generator/pug-generator-manager.js.map +1 -1
  147. package/lib/mobileapp/vue/pug-template/config/devkit-template-config.js +3 -3
  148. package/lib/mobileapp/vue/pug-template/config/devkit-template-config.js.map +1 -1
  149. package/lib/mobileapp/vue/pug-template/config/ui-template-config.js +11 -5
  150. package/lib/mobileapp/vue/pug-template/config/ui-template-config.js.map +1 -1
  151. package/lib/mobileapp/vue/static/.editorconfig +9 -9
  152. package/lib/mobileapp/vue/static/.prettierrc +6 -6
  153. package/lib/mobileapp/vue/static/README.md +18 -18
  154. package/lib/mobileapp/vue/static/babel.config.js +13 -13
  155. package/lib/mobileapp/vue/static/src/main.ts +9 -9
  156. package/lib/mobileapp/vue/static/src/shims-vue.d.ts +32 -32
  157. package/lib/mobileapp/vue/static/tsconfig.json +20 -20
  158. package/lib/mobileapp/vue/task/vue-engine-task.js +5 -5
  159. package/lib/mobileapp/vue/task/vue-engine-task.js.map +1 -1
  160. package/lib/mobileapp/vue/utility/devkit/vue-repository-creator.js +1 -1
  161. package/lib/mobileapp/vue/utility/devkit/vue-repository-creator.js.map +1 -1
  162. package/lib/mobileapp/vue/utility/devkit/vue-viewmodels-creator.js +9 -5
  163. package/lib/mobileapp/vue/utility/devkit/vue-viewmodels-creator.js.map +1 -1
  164. package/lib/mobileapp/vue/utility/i18n/index.js +6 -2
  165. package/lib/mobileapp/vue/utility/i18n/index.js.map +1 -1
  166. package/lib/mobileapp/vue/utility/index.js +6 -2
  167. package/lib/mobileapp/vue/utility/index.js.map +1 -1
  168. package/lib/mobileapp/vue/utility/parameter-collector/page-component-collector/index.js +6 -2
  169. package/lib/mobileapp/vue/utility/parameter-collector/page-component-collector/index.js.map +1 -1
  170. package/lib/mobileapp/vue/utility/parameter-collector/page-component-collector/page-component-control-collector-parameter.js +3 -3
  171. package/lib/mobileapp/vue/utility/parameter-collector/page-component-collector/page-component-control-collector-parameter.js.map +1 -1
  172. package/lib/mobileapp/vue/utility/parameter-collector/page-component-collector/page-component-ref-parameter.js +2 -2
  173. package/lib/mobileapp/vue/utility/template-generator/page-component-control-generator.js +2 -2
  174. package/lib/mobileapp/vue/utility/template-generator/page-component-ref-generator.js +1 -1
  175. package/lib/mobileapp/vue/utility/template-generator/page-statemachine-generator.js +21 -21
  176. package/lib/mobileapp/vue/utility/type-convert.js +2 -1
  177. package/lib/mobileapp/vue/utility/type-convert.js.map +1 -1
  178. package/lib/mobileapp/vue/utility/vue-content-type-creator.js +1 -0
  179. package/lib/mobileapp/vue/utility/vue-content-type-creator.js.map +1 -1
  180. package/lib/mobileapp/vue/utility/vue-control-dom-type-mapping.js +4 -4
  181. package/lib/mobileapp/vue/utility/vue-control-dom-type-mapping.js.map +1 -1
  182. package/lib/mobileapp/vue/utility/vue-object-creator.js +6 -2
  183. package/lib/mobileapp/vue/utility/vue-object-creator.js.map +1 -1
  184. package/lib/template/ui/mobilevue/area-picker.pug +2 -0
  185. package/lib/template/ui/mobilevue/card.pug +1 -1
  186. package/lib/template/ui/mobilevue/field-set.pug +3 -1
  187. package/lib/template/ui/mobilevue/lookup-external.pug +76 -0
  188. package/lib/utility/devkit/component-parameter-collector/farris-treegrid-parameter-collector.js +41 -0
  189. package/lib/utility/devkit/component-parameter-collector/farris-treegrid-parameter-collector.js.map +1 -1
  190. package/lib/utility/farris-datagrid/command-column-template-generator.js +15 -0
  191. package/lib/utility/farris-datagrid/command-column-template-generator.js.map +1 -1
  192. package/package.json +1 -1
@@ -11,6 +11,7 @@ class PageComponentGenerator extends abstract_file_generator_1.AbstractFileGener
11
11
  const componentId = parameter.componentId;
12
12
  const providerName = page_provider_manager_1.PageProviderManager.generateProviderName(componentId);
13
13
  const componentConfig = parameter.componentConfig;
14
+ const useNewRouteStrategy = this.isNewRouteStrategy(componentConfig);
14
15
  const generateString = `
15
16
  <template>
16
17
  ${parameter.templateHtml}
@@ -32,7 +33,9 @@ import {
32
33
  updatedByVueAdapter,
33
34
  beforeUnmountByVueAdapter,
34
35
  scrollActivated,
35
- scrollDeactivated
36
+ scrollDeactivated,
37
+ handlePageLevelRouteEnter,
38
+ handlePageLevelRouteLeave,
36
39
  } from '@farris/mobile-vue-adapter';
37
40
  import {${providerName}} from "./${componentId.toLowerCase()}.provider";
38
41
 
@@ -58,7 +61,7 @@ export default
58
61
  : ''}
59
62
  ...mapCommandMethods([${this.generateCommands(parameter.commands)}]),
60
63
  ${this.getGobackCommand(componentConfig)
61
- ? 'goBack() { this.url === document.URL && this.$viewModel.' +
64
+ ? `goBack() { ${useNewRouteStrategy ? '' : 'this.url === document.URL && '}this.$viewModel.` +
62
65
  this.getGobackCommand(componentConfig) +
63
66
  '();},'
64
67
  : ''}
@@ -86,16 +89,13 @@ export default
86
89
  : ''}
87
90
  ${this.getOnBeforeInitCommand(componentConfig)}
88
91
  beforeCreateByVueAdapter && beforeCreateByVueAdapter(this);
89
- // 初始加载数据
90
- //this.pageLoad();
91
- //this.$viewModel.load();
92
92
  },
93
93
  created(){
94
94
  ${this.getOnInitCommand(componentConfig) ? 'this.pageLoad();' : ''}
95
95
  createdByVueAdapter && createdByVueAdapter(this);
96
96
  },
97
97
  mounted() {
98
- ${componentConfig.keepAlive ? '' : this.getGobackCommandCode(componentConfig)}
98
+ ${componentConfig.keepAlive ? '' : this.getGobackCommandCode(componentConfig, useNewRouteStrategy)}
99
99
  ${componentConfig.keepAlive ? '' : this.getGobackCommandForWF(componentConfig)}
100
100
  this.$nextTick(function () {
101
101
  this.$bindComponentExtenders(this.$refs);
@@ -106,13 +106,13 @@ export default
106
106
  this.$bindComponentExtenders(this.$refs);
107
107
  updatedByVueAdapter && updatedByVueAdapter(this);
108
108
  },
109
- ${this.generateActivated(componentConfig)}
109
+ ${this.generateActivated(componentConfig, useNewRouteStrategy)}
110
110
  beforeUnmount() {
111
111
  ${this.getOnLoadDataCommand(componentConfig)
112
112
  ? 'this.$app.context.eventBus.unsubscribe("' + componentId + '"),'
113
113
  : ''}
114
- ${componentConfig.goBack && !componentConfig.keepAlive
115
- ? 'window.removeEventListener("popstate", this.goBack, false); //false阻止默认事件'
114
+ ${!componentConfig.keepAlive
115
+ ? this.getPageLevelRouteLeaveCode(componentConfig, useNewRouteStrategy)
116
116
  : ''}
117
117
  this.$unbindComponentExtenders(this.$refs);
118
118
  beforeUnmountByVueAdapter && beforeUnmountByVueAdapter(this);
@@ -126,6 +126,28 @@ ${componentConfig.customClass ? componentConfig.customClass : ''}
126
126
  this.createFile(context.basePath, context.fileName, generateString);
127
127
  return response;
128
128
  }
129
+ isNewRouteStrategy(componentConfig) {
130
+ var _a, _b, _c;
131
+ const newRouteStrategy = ['standard'];
132
+ const componentConfigTemplate = componentConfig.template;
133
+ let firstContentComponent;
134
+ if (Array.isArray(componentConfigTemplate)) {
135
+ firstContentComponent = componentConfigTemplate[0];
136
+ }
137
+ else {
138
+ firstContentComponent = componentConfigTemplate;
139
+ }
140
+ if (!firstContentComponent) {
141
+ return false;
142
+ }
143
+ const parentInstance = (_a = firstContentComponent.getContext()) === null || _a === void 0 ? void 0 : _a.getParentInstance();
144
+ const componentContext = parentInstance && parentInstance.componentContext;
145
+ if (!componentContext) {
146
+ return false;
147
+ }
148
+ const routeStrategy = (_c = (_b = componentContext.getModuleContext()) === null || _b === void 0 ? void 0 : _b.getOptions()) === null || _c === void 0 ? void 0 : _c.routeStrategy;
149
+ return newRouteStrategy.includes(routeStrategy);
150
+ }
129
151
  getOnInitCommand(componentConfig) {
130
152
  if (componentConfig.onInit) {
131
153
  return componentConfig.onInit;
@@ -166,7 +188,6 @@ ${componentConfig.customClass ? componentConfig.customClass : ''}
166
188
  generateInitPage(componentConfig, from) {
167
189
  const providerName = page_provider_manager_1.PageProviderManager.generateProviderName(componentConfig.id);
168
190
  return `
169
- // 创建ViewModel
170
191
  const viewModelOptions = {
171
192
  id: '${componentConfig.id}',
172
193
  ${from === 'activated' ? 'keepAlive: true,' : ''}
@@ -174,19 +195,17 @@ ${componentConfig.customClass ? componentConfig.customClass : ''}
174
195
  };
175
196
  this.$initPage(viewModelOptions);`;
176
197
  }
177
- generateActivated(componentConfig) {
198
+ generateActivated(componentConfig, useNewRouteStrategy) {
178
199
  if (componentConfig.keepAlive) {
179
200
  return `activated() {
180
201
  ${this.generateInitPage(componentConfig, 'activated')}
181
- ${this.getGobackCommandCode(componentConfig)}
202
+ ${this.getGobackCommandCode(componentConfig, useNewRouteStrategy)}
182
203
  ${this.getGobackCommandForWF(componentConfig)}
183
204
  ${this.getOnActivedCommand(componentConfig)}
184
205
  scrollActivated && scrollActivated(this);
185
206
  },
186
207
  deactivated() {
187
- ${componentConfig.goBack
188
- ? 'window.removeEventListener("popstate", this.goBack, false); //false阻止默认事件'
189
- : ''}
208
+ ${this.getPageLevelRouteLeaveCode(componentConfig, useNewRouteStrategy)}
190
209
  scrollDeactivated && scrollDeactivated(this);
191
210
  },`;
192
211
  }
@@ -205,16 +224,31 @@ ${componentConfig.customClass ? componentConfig.customClass : ''}
205
224
  }
206
225
  return '';
207
226
  }
208
- getGobackCommandCode(componentConfig) {
209
- if (componentConfig.goBack) {
210
- return `
211
- if (window.history && window.history.pushState) {
212
- this.url = document.URL
213
- history.pushState(null, null, document.URL);
214
- window.addEventListener("popstate", this.goBack, false); //false阻止默认事件
215
- }`;
227
+ getGobackCommandCode(componentConfig, useNewRouteStrategy) {
228
+ const isPageComponent = !!componentConfig.goBack || componentConfig.componentType === 'Page';
229
+ if (useNewRouteStrategy) {
230
+ return isPageComponent ? `handlePageLevelRouteEnter(this, this.goBack);` : '';
231
+ }
232
+ else {
233
+ if (componentConfig.goBack) {
234
+ return `\n` +
235
+ `\t\tif (window.history && window.history.pushState) {\n` +
236
+ `\t\t this.url = document.URL;\n` +
237
+ `\t\t history.pushState(null, null, document.URL);\n` +
238
+ `\t\t window.addEventListener("popstate", this.goBack, false);\n` +
239
+ `\t\t}`;
240
+ }
241
+ return '';
242
+ }
243
+ }
244
+ getPageLevelRouteLeaveCode(componentConfig, useNewRouteStrategy) {
245
+ const isPageComponent = !!componentConfig.goBack || componentConfig.componentType === 'Page';
246
+ if (useNewRouteStrategy) {
247
+ return isPageComponent ? `handlePageLevelRouteLeave(this, this.goBack);` : '';
248
+ }
249
+ else {
250
+ return componentConfig.goBack ? `window.removeEventListener("popstate", this.goBack, false);` : ``;
216
251
  }
217
- return '';
218
252
  }
219
253
  }
220
254
  exports.PageComponentGenerator = PageComponentGenerator;
@@ -1 +1 @@
1
- {"version":3,"file":"page-component-generator.js","sourceRoot":"","sources":["../../../../../../src/mobileapp/vue/code-generator/file-generator/page-generator/page-component-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-component-generator.js","sourceRoot":"","sources":["../../../../../../src/mobileapp/vue/code-generator/file-generator/page-generator/page-component-generator.ts"],"names":[],"mappings":"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"}
@@ -11,72 +11,72 @@ class PageHandlerGenerator extends abstract_file_generator_1.AbstractFileGenerat
11
11
  const externalParameter = context.externalParameter;
12
12
  const variable = externalParameter.value;
13
13
  let generateString = "";
14
- generateString += `
15
- import { CommandHandler, CommandHandlerMeta, CommandContext } from '@farris/mobile-devkit';
16
- import { StateMachineService } from '@farris/mobile-command-services';
14
+ generateString += `
15
+ import { CommandHandler, CommandHandlerMeta, CommandContext } from '@farris/mobile-devkit';
16
+ import { StateMachineService } from '@farris/mobile-command-services';
17
17
  import { CreateDataService } from '@farris/mobile-command-services';`;
18
18
  generateString += this.getEol();
19
19
  if (toolhepler_1.ToolHelper.isArray(variable.services, false)) {
20
20
  variable.services.forEach((service) => {
21
21
  if (service.isCommon == "1" || service.isCommon == 1) {
22
- generateString += `
22
+ generateString += `
23
23
  import { ${service.name} as ${service.alias} } from '${service.path}';`;
24
24
  }
25
25
  else {
26
- generateString += `
26
+ generateString += `
27
27
  import { ${service.name} as ${service.alias} } from '../../../services/${service.fileName.toLowerCase()}';`;
28
28
  }
29
29
  });
30
30
  }
31
31
  generateString += this.getEol();
32
- generateString += `
33
- @CommandHandlerMeta({
34
- commandName: '${variable.code}'
35
- })
32
+ generateString += `
33
+ @CommandHandlerMeta({
34
+ commandName: '${variable.code}'
35
+ })
36
36
  export class ${page_command_handler_manager_1.PageCommandHandlerManager.generateCommandHandlerName(variable.code)} extends CommandHandler {`;
37
- generateString += `
37
+ generateString += `
38
38
  constructor(`;
39
39
  if (toolhepler_1.ToolHelper.isArray(variable.services, false)) {
40
40
  variable.services.forEach((service, index) => {
41
- generateString += `
41
+ generateString += `
42
42
  public _${service.alias}: ${service.alias}`;
43
43
  if (index < (variable.services.length - 1)) {
44
44
  generateString += `,`;
45
45
  }
46
46
  });
47
47
  }
48
- generateString += `
49
- ) {
50
- super();
48
+ generateString += `
49
+ ) {
50
+ super();
51
51
  }`;
52
52
  generateString += this.getEol();
53
- generateString += `
53
+ generateString += `
54
54
  schedule() {`;
55
55
  if (toolhepler_1.ToolHelper.isArray(variable.handlers, false)) {
56
56
  variable.handlers.forEach((task, index) => {
57
57
  if (task.type == "executeNode") {
58
- generateString += `
58
+ generateString += `
59
59
  this.addTask('${task.code}', (context: CommandContext) => {`;
60
60
  if (toolhepler_1.ToolHelper.isArray(task.params, false)) {
61
- generateString += `
61
+ generateString += `
62
62
  const args = [`;
63
63
  task.params.forEach((param, index) => {
64
- generateString += `
64
+ generateString += `
65
65
  ${(param.value && param.value.toLowerCase() != "null") ? "'" + param.value + "'" : "''"}`;
66
66
  if (index < (task.params.length - 1)) {
67
67
  generateString += `, `;
68
68
  }
69
69
  });
70
- generateString += `
70
+ generateString += `
71
71
  ];`;
72
72
  }
73
73
  else {
74
- generateString += `
74
+ generateString += `
75
75
  const args = [];`;
76
76
  }
77
- generateString += `
77
+ generateString += `
78
78
  return this.invoke(this._${task.serviceName}, '${task.method}', args, context);`;
79
- generateString += `
79
+ generateString += `
80
80
  });`;
81
81
  generateString += this.getEol();
82
82
  }
@@ -84,13 +84,13 @@ export class ${page_command_handler_manager_1.PageCommandHandlerManager.generate
84
84
  }
85
85
  if (toolhepler_1.ToolHelper.isArray(variable.links, false)) {
86
86
  variable.links.forEach((link, index) => {
87
- generateString += `
87
+ generateString += `
88
88
  this.addLink('${link.from}', '${link.to}', \`${link.condition}\`);`;
89
89
  });
90
90
  }
91
- generateString += `
91
+ generateString += `
92
92
  }`;
93
- generateString += `
93
+ generateString += `
94
94
  }`;
95
95
  this.createFile(context.basePath, context.fileName, generateString);
96
96
  return response;
@@ -20,97 +20,97 @@ class PageProviderGenerator extends abstract_file_generator_1.AbstractFileGenera
20
20
  const lowerCaseComponentId = componentId.toLowerCase();
21
21
  const serviceRefs = vueViewModel.serviceRefs.filter(item => item.isCommon ? false : true);
22
22
  let generateString = "";
23
- generateString += `
24
- import {
25
- StaticProvider, Injector, Repository,
26
- ViewModel, BindingData, UIState, StateMachine, Form, ViewModelContext, COMMAND_HANDLERS_TOKEN
27
- } from '@farris/mobile-devkit';
28
- import { BEF_VIEWMODEL_PROVIDERS } from '@farris/mobile-bef';
29
- import {
30
- LoadDataService,
31
- RemoveDataService,
32
- RouterService,
33
- CreateDataService,
34
- COMMAND_SERVICES_VIEWMODEL_PROVIDERS,
35
- CommandService,SaveDataService,
36
- CancelDataService,
37
- ApproveService,
38
- StateMachineService,
39
- AttachmentService,
40
- EditDataService,
41
- UpdateDataService,
42
- CcWorkService,
43
- ValidatorServices,
44
- BusinessAttachmentService,
45
- CheckDataService,
46
- DiscussionGroupService,
47
- DialogService,
48
- LoadingService,
49
- NotifyService,
50
- ToastService,
51
- JsBridgeService,
52
- VoVariableService,
53
- UIDataService
54
- } from '@farris/mobile-command-services';
55
- import { ModelRepository } from '../../models/model.repository'
56
- ${serviceRefs.map(item => 'import { ' + item.name + ' as ' + item.alias + ' } from "../../services/' + item.fileName.toLowerCase() + '";').join('')}
23
+ generateString += `
24
+ import {
25
+ StaticProvider, Injector, Repository,
26
+ ViewModel, BindingData, UIState, StateMachine, Form, ViewModelContext, COMMAND_HANDLERS_TOKEN
27
+ } from '@farris/mobile-devkit';
28
+ import { BEF_VIEWMODEL_PROVIDERS } from '@farris/mobile-bef';
29
+ import {
30
+ LoadDataService,
31
+ RemoveDataService,
32
+ RouterService,
33
+ CreateDataService,
34
+ COMMAND_SERVICES_VIEWMODEL_PROVIDERS,
35
+ CommandService,SaveDataService,
36
+ CancelDataService,
37
+ ApproveService,
38
+ StateMachineService,
39
+ AttachmentService,
40
+ EditDataService,
41
+ UpdateDataService,
42
+ CcWorkService,
43
+ ValidatorServices,
44
+ BusinessAttachmentService,
45
+ CheckDataService,
46
+ DiscussionGroupService,
47
+ DialogService,
48
+ LoadingService,
49
+ NotifyService,
50
+ ToastService,
51
+ JsBridgeService,
52
+ VoVariableService,
53
+ UIDataService
54
+ } from '@farris/mobile-command-services';
55
+ import { ModelRepository } from '../../models/model.repository'
56
+ ${serviceRefs.map(item => 'import { ' + item.name + ' as ' + item.alias + ' } from "../../services/' + item.fileName.toLowerCase() + '";').join('')}
57
57
  `;
58
58
  if (vueViewModel.form) {
59
- generateString += `
59
+ generateString += `
60
60
  import { ${page_form_manager_1.PageFormManager.generatePageFormName(componentId)} } from "./${lowerCaseComponentId}.form";`;
61
61
  }
62
62
  if (vueViewModel.states) {
63
- generateString += `
63
+ generateString += `
64
64
  import { ${page_uistate_manager_1.PageUIStateManager.generateUIStateName(componentId)} } from "./${lowerCaseComponentId}.uistate";`;
65
65
  }
66
66
  if (vueViewModel.stateMachine) {
67
- generateString += `
67
+ generateString += `
68
68
  import { ${page_statemachine_manager_1.PageStateMachineManager.generateStateMachineName(componentId)} } from "./${lowerCaseComponentId}.statemachine";`;
69
69
  }
70
- generateString += `
70
+ generateString += `
71
71
  import { ${page_viewmodel_manager_1.PageViewModelManager.generateViewModelName(componentId)} } from "./${lowerCaseComponentId}.viewmodel";`;
72
72
  if (utility_1.ToolHelper.isArray(vueViewModel.commands, false)) {
73
73
  vueViewModel.commands.forEach((item) => {
74
- generateString += `
74
+ generateString += `
75
75
  import { ${page_command_handler_manager_1.PageCommandHandlerManager.generateCommandHandlerName(item.code)} } from "./handlers/${item.code.toLowerCase()}.handler";`;
76
76
  });
77
77
  }
78
- generateString += `
78
+ generateString += `
79
79
  import {${page_binding_data_manager_1.PageBindingDataManager.generateBindingName(componentId)}} from "./${lowerCaseComponentId}.bindingdata";`;
80
- generateString += `
81
-
80
+ generateString += `
81
+
82
82
  export const ${providerName}: StaticProvider[] = [`;
83
- generateString += `
83
+ generateString += `
84
84
  { provide: Repository, useExisting: ModelRepository, deps: []},`;
85
- generateString += `
85
+ generateString += `
86
86
  { provide: BindingData, useClass: ${page_binding_data_manager_1.PageBindingDataManager.generateBindingName(componentId)}, deps: []},`;
87
87
  if (vueViewModel.states) {
88
- generateString += `
88
+ generateString += `
89
89
  { provide: UIState, useClass: ${page_uistate_manager_1.PageUIStateManager.generateUIStateName(componentId)}, deps: []},`;
90
90
  }
91
91
  if (vueViewModel.stateMachine) {
92
- generateString += `
92
+ generateString += `
93
93
  { provide: StateMachine, useClass: ${page_statemachine_manager_1.PageStateMachineManager.generateStateMachineName(componentId)}, deps: []},`;
94
94
  }
95
95
  if (vueViewModel.form) {
96
- generateString += `
96
+ generateString += `
97
97
  { provide: Form, useClass: ${page_form_manager_1.PageFormManager.generatePageFormName(componentId)}, deps: [ViewModelContext ] },`;
98
98
  }
99
- generateString += `
99
+ generateString += `
100
100
  { provide: ViewModel, useClass: ${page_viewmodel_manager_1.PageViewModelManager.generateViewModelName(componentId)}, deps: [Injector] },`;
101
101
  if (utility_1.ToolHelper.isArray(vueViewModel.commands, false)) {
102
102
  vueViewModel.commands.forEach((itemCommand) => {
103
- generateString += `
103
+ generateString += `
104
104
  { provide: COMMAND_HANDLERS_TOKEN, useClass: ${page_command_handler_manager_1.PageCommandHandlerManager.generateCommandHandlerName(itemCommand.code)}, deps: [${this.generateHandlerService(itemCommand, serviceRefs)}], multi: true},`;
105
105
  });
106
106
  }
107
107
  if (utility_1.ToolHelper.isArray(serviceRefs, false)) {
108
108
  serviceRefs.forEach((service) => {
109
- generateString += `
109
+ generateString += `
110
110
  { provide: ${service.alias}, useClass: ${service.alias}, deps: [ViewModelContext]},`;
111
111
  });
112
112
  }
113
- generateString += `
113
+ generateString += `
114
114
  ].concat(COMMAND_SERVICES_VIEWMODEL_PROVIDERS).concat(BEF_VIEWMODEL_PROVIDERS);`;
115
115
  this.createFile(context.basePath, context.fileName, generateString);
116
116
  return response;
@@ -12,58 +12,58 @@ class PageStateMachineGenerator extends abstract_file_generator_1.AbstractFileGe
12
12
  const variable = externalParameter.value;
13
13
  let generateString = "";
14
14
  const eol = this.getEol();
15
- generateString += `
16
- import { StateMachine, State, StatePropMeta, RenderState, RenderStatePropMeta, Action, ActionMethodMeta } from '@farris/mobile-devkit';
15
+ generateString += `
16
+ import { StateMachine, State, StatePropMeta, RenderState, RenderStatePropMeta, Action, ActionMethodMeta } from '@farris/mobile-devkit';
17
17
  `;
18
- generateString += `
19
- export class ${page_statemachine_manager_1.PageStateMachineManager.generateStateMachineName(variable.componentId)} extends StateMachine {
18
+ generateString += `
19
+ export class ${page_statemachine_manager_1.PageStateMachineManager.generateStateMachineName(variable.componentId)} extends StateMachine {
20
20
  `;
21
21
  if (toolhepler_1.ToolHelper.isArray(variable.ngStates, false)) {
22
22
  variable.ngStates.forEach((ngState) => {
23
23
  if (ngState.initialState) {
24
- generateString += `
25
- @StatePropMeta({
26
- initialState: true
24
+ generateString += `
25
+ @StatePropMeta({
26
+ initialState: true
27
27
  })`;
28
28
  }
29
29
  else {
30
- generateString += `
30
+ generateString += `
31
31
  @StatePropMeta()`;
32
32
  }
33
- generateString += `
33
+ generateString += `
34
34
  ${ngState.name}: State;`;
35
35
  generateString += eol;
36
36
  });
37
37
  }
38
38
  if (toolhepler_1.ToolHelper.isArray(variable.ngRenderStates, false)) {
39
39
  variable.ngRenderStates.forEach((ngRenderState) => {
40
- generateString += `
41
- @RenderStatePropMeta({
42
- render: ${ngRenderState.render}
43
- })
40
+ generateString += `
41
+ @RenderStatePropMeta({
42
+ render: ${ngRenderState.render}
43
+ })
44
44
  ${ngRenderState.name}: RenderState;`;
45
45
  generateString += this.getEol();
46
46
  });
47
47
  }
48
48
  if (toolhepler_1.ToolHelper.isArray(variable.ngActions, false)) {
49
49
  variable.ngActions.forEach((ngAction) => {
50
- generateString += `
50
+ generateString += `
51
51
  @ActionMethodMeta({`;
52
52
  if (ngAction.precondition) {
53
- generateString += `
53
+ generateString += `
54
54
  precondition: ${ngAction.precondition},`;
55
55
  }
56
56
  if (ngAction.transitTo) {
57
- generateString += `
57
+ generateString += `
58
58
  transitTo: '${ngAction.transitTo}'`;
59
59
  }
60
- generateString += `
61
- })
60
+ generateString += `
61
+ })
62
62
  ${ngAction.name}: Action;`;
63
63
  generateString += this.getEol();
64
64
  });
65
65
  }
66
- generateString += `
66
+ generateString += `
67
67
  }`;
68
68
  this.createFile(context.basePath, context.fileName, generateString);
69
69
  return response;
@@ -73,11 +73,11 @@ export class ${page_uistate_manager_1.PageUIStateManager.generateUIStateName(vue
73
73
  `;
74
74
  if (s.originalValue) {
75
75
  Object.keys(s.originalValue).forEach((property) => {
76
- let value = lodash_1.cloneDeep(s.originalValue[property]);
76
+ let value = (0, lodash_1.cloneDeep)(s.originalValue[property]);
77
77
  let type = 'constant';
78
78
  if (s.originalValue[property] instanceof vue_state_1.VueState) {
79
- type = lodash_1.cloneDeep(s.originalValue[property].type);
80
- value = lodash_1.cloneDeep(s.originalValue[property].value);
79
+ type = (0, lodash_1.cloneDeep)(s.originalValue[property].type);
80
+ value = (0, lodash_1.cloneDeep)(s.originalValue[property].value);
81
81
  }
82
82
  if (!type) {
83
83
  if (typeof value === 'boolean') {
@@ -1 +1 @@
1
- {"version":3,"file":"page-uistate-generator.js","sourceRoot":"","sources":["../../../../../../src/mobileapp/vue/code-generator/file-generator/page-generator/page-uistate-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"page-uistate-generator.js","sourceRoot":"","sources":["../../../../../../src/mobileapp/vue/code-generator/file-generator/page-generator/page-uistate-generator.ts"],"names":[],"mappings":"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"}