high_availability_routes.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266
  1. /**
  2. * Licensed to the Apache Software Foundation (ASF) under one
  3. * or more contributor license agreements. See the NOTICE file
  4. * distributed with this work for additional information
  5. * regarding copyright ownership. The ASF licenses this file
  6. * to you under the Apache License, Version 2.0 (the
  7. * "License"); you may not use this file except in compliance
  8. * with the License. You may obtain a copy of the License at
  9. *
  10. * http://www.apache.org/licenses/LICENSE-2.0
  11. *
  12. * Unless required by applicable law or agreed to in writing, software
  13. * distributed under the License is distributed on an "AS IS" BASIS,
  14. * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  15. * See the License for the specific language governing permissions and
  16. * limitations under the License.
  17. */
  18. module.exports = Em.Route.extend({
  19. route: '/highAvailability/enable',
  20. enter: function (router) {
  21. Em.run.next(function () {
  22. var highAvailabilityWizardController = router.get('highAvailabilityWizardController');
  23. App.router.get('updateController').set('isWorking', false);
  24. App.ModalPopup.show({
  25. classNames: ['full-width-modal'],
  26. header: Em.I18n.t('admin.highAvailability.wizard.header'),
  27. bodyClass: App.HighAvailabilityWizardView.extend({
  28. controller: highAvailabilityWizardController
  29. }),
  30. primary: Em.I18n.t('form.cancel'),
  31. showFooter: false,
  32. secondary: null,
  33. hideCloseButton: function () {
  34. this.set('showCloseButton', App.router.get('highAvailabilityWizardController.currentStep') < 5);
  35. }.observes('App.router.highAvailabilityWizardController.currentStep'),
  36. onClose: function () {
  37. this.hide();
  38. App.router.get('updateController').set('isWorking', true);
  39. App.router.transitionTo('main.admin.adminHighAvailability')
  40. },
  41. didInsertElement: function () {
  42. this.fitHeight();
  43. }
  44. });
  45. App.clusterStatus.updateFromServer();
  46. var currentClusterStatus = App.clusterStatus.get('value');
  47. if (currentClusterStatus) {
  48. switch (currentClusterStatus.clusterState) {
  49. case 'HIGH_AVAILABILITY_DEPLOY' :
  50. App.db.data = currentClusterStatus.localdb;
  51. highAvailabilityWizardController.setCurrentStep(currentClusterStatus.localdb.HighAvailabilityWizard.currentStep);
  52. break;
  53. default:
  54. highAvailabilityWizardController.setCurrentStep('1');
  55. break;
  56. }
  57. }
  58. router.transitionTo('step' + highAvailabilityWizardController.get('currentStep'));
  59. });
  60. },
  61. step1: Em.Route.extend({
  62. route: '/step1',
  63. connectOutlets: function (router) {
  64. var controller = router.get('highAvailabilityWizardController');
  65. controller.setCurrentStep('1');
  66. controller.dataLoading().done(function () {
  67. controller.loadAllPriorSteps();
  68. controller.connectOutlet('highAvailabilityWizardStep1', controller.get('content'));
  69. })
  70. },
  71. next: function (router) {
  72. var controller = router.get('highAvailabilityWizardController');
  73. controller.saveNameServiceId(router.get('highAvailabilityWizardStep1Controller.content.nameServiceId'));
  74. router.transitionTo('step2');
  75. }
  76. }),
  77. step2: Em.Route.extend({
  78. route: '/step2',
  79. connectOutlets: function (router) {
  80. var controller = router.get('highAvailabilityWizardController');
  81. controller.setCurrentStep('2');
  82. controller.dataLoading().done(function () {
  83. controller.loadAllPriorSteps();
  84. controller.connectOutlet('highAvailabilityWizardStep2', controller.get('content'));
  85. })
  86. },
  87. next: function (router) {
  88. var controller = router.get('highAvailabilityWizardController');
  89. var highAvailabilityWizardStep2Controller = router.get('highAvailabilityWizardStep2Controller');
  90. controller.saveMasterComponentHosts(highAvailabilityWizardStep2Controller);
  91. router.transitionTo('step3');
  92. },
  93. back: function (router) {
  94. router.transitionTo('step1');
  95. }
  96. }),
  97. step3: Em.Route.extend({
  98. route: '/step3',
  99. connectOutlets: function (router) {
  100. var controller = router.get('highAvailabilityWizardController');
  101. controller.setCurrentStep('3');
  102. controller.dataLoading().done(function () {
  103. controller.loadAllPriorSteps();
  104. controller.connectOutlet('highAvailabilityWizardStep3', controller.get('content'));
  105. })
  106. },
  107. next: function (router) {
  108. router.transitionTo('step4');
  109. },
  110. back: function (router) {
  111. router.transitionTo('step2');
  112. }
  113. }),
  114. step4: Em.Route.extend({
  115. route: '/step4',
  116. connectOutlets: function (router) {
  117. var controller = router.get('highAvailabilityWizardController');
  118. controller.setCurrentStep('4');
  119. controller.setLowerStepsDisable(4);
  120. controller.dataLoading().done(function () {
  121. controller.loadAllPriorSteps();
  122. controller.connectOutlet('highAvailabilityWizardStep4', controller.get('content'));
  123. })
  124. },
  125. unroutePath: function () {
  126. return false;
  127. },
  128. next: function (router) {
  129. router.transitionTo('step5');
  130. }
  131. }),
  132. step5: Em.Route.extend({
  133. route: '/step5',
  134. connectOutlets: function (router) {
  135. var controller = router.get('highAvailabilityWizardController');
  136. controller.setCurrentStep('5');
  137. controller.setLowerStepsDisable(5);
  138. controller.dataLoading().done(function () {
  139. controller.loadAllPriorSteps();
  140. controller.connectOutlet('highAvailabilityWizardStep5', controller.get('content'));
  141. })
  142. },
  143. unroutePath: function () {
  144. return false;
  145. },
  146. back: function (router) {
  147. router.transitionTo('step4');
  148. },
  149. next: function (router) {
  150. router.transitionTo('step6');
  151. }
  152. }),
  153. step6: Em.Route.extend({
  154. route: '/step6',
  155. connectOutlets: function (router) {
  156. var controller = router.get('highAvailabilityWizardController');
  157. controller.setCurrentStep('6');
  158. controller.setLowerStepsDisable(6);
  159. controller.dataLoading().done(function () {
  160. controller.loadAllPriorSteps();
  161. controller.connectOutlet('highAvailabilityWizardStep6', controller.get('content'));
  162. })
  163. },
  164. unroutePath: function () {
  165. return false;
  166. },
  167. back: function (router) {
  168. router.transitionTo('step5');
  169. },
  170. next: function (router) {
  171. router.transitionTo('step7');
  172. }
  173. }),
  174. step7: Em.Route.extend({
  175. route: '/step7',
  176. connectOutlets: function (router) {
  177. var controller = router.get('highAvailabilityWizardController');
  178. controller.setCurrentStep('7');
  179. controller.setLowerStepsDisable(7);
  180. controller.dataLoading().done(function () {
  181. controller.loadAllPriorSteps();
  182. controller.connectOutlet('highAvailabilityWizardStep7', controller.get('content'));
  183. })
  184. },
  185. unroutePath: function () {
  186. return false;
  187. },
  188. back: function (router) {
  189. router.transitionTo('step6');
  190. },
  191. next: function (router) {
  192. router.transitionTo('step8');
  193. }
  194. }),
  195. step8: Em.Route.extend({
  196. route: '/step8',
  197. connectOutlets: function (router) {
  198. var controller = router.get('highAvailabilityWizardController');
  199. controller.setCurrentStep('8');
  200. controller.setLowerStepsDisable(8);
  201. controller.dataLoading().done(function () {
  202. controller.loadAllPriorSteps();
  203. controller.connectOutlet('highAvailabilityWizardStep8', controller.get('content'));
  204. })
  205. },
  206. unroutePath: function () {
  207. return false;
  208. },
  209. back: function (router) {
  210. router.transitionTo('step7');
  211. },
  212. next: function (router) {
  213. router.transitionTo('step9');
  214. }
  215. }),
  216. step9: Em.Route.extend({
  217. route: '/step9',
  218. connectOutlets: function (router) {
  219. var controller = router.get('highAvailabilityWizardController');
  220. controller.setCurrentStep('9');
  221. controller.setLowerStepsDisable(9);
  222. controller.dataLoading().done(function () {
  223. controller.loadAllPriorSteps();
  224. controller.connectOutlet('highAvailabilityWizardStep9', controller.get('content'));
  225. })
  226. },
  227. unroutePath: function () {
  228. return false;
  229. },
  230. back: function (router) {
  231. router.transitionTo('step8');
  232. },
  233. next: function (router) {
  234. }
  235. }),
  236. gotoStep1: Em.Router.transitionTo('step1'),
  237. gotoStep2: Em.Router.transitionTo('step2'),
  238. gotoStep3: Em.Router.transitionTo('step3'),
  239. gotoStep4: Em.Router.transitionTo('step4'),
  240. gotoStep5: Em.Router.transitionTo('step5'),
  241. gotoStep6: Em.Router.transitionTo('step6'),
  242. gotoStep7: Em.Router.transitionTo('step7'),
  243. gotoStep8: Em.Router.transitionTo('step8'),
  244. gotoStep9: Em.Router.transitionTo('step9')
  245. });