high_availability_routes.js 8.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264
  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');
  69. })
  70. },
  71. next: function (router) {
  72. router.transitionTo('step2');
  73. }
  74. }),
  75. step2: Em.Route.extend({
  76. route: '/step2',
  77. connectOutlets: function (router) {
  78. var controller = router.get('highAvailabilityWizardController');
  79. controller.setCurrentStep('2');
  80. controller.dataLoading().done(function () {
  81. controller.loadAllPriorSteps();
  82. controller.connectOutlet('highAvailabilityWizardStep2', controller.get('content'));
  83. })
  84. },
  85. next: function (router) {
  86. var controller = router.get('highAvailabilityWizardController');
  87. var highAvailabilityWizardStep2Controller = router.get('highAvailabilityWizardStep2Controller');
  88. controller.saveMasterComponentHosts(highAvailabilityWizardStep2Controller);
  89. router.transitionTo('step3');
  90. },
  91. back: function (router) {
  92. router.transitionTo('step1');
  93. }
  94. }),
  95. step3: Em.Route.extend({
  96. route: '/step3',
  97. connectOutlets: function (router) {
  98. var controller = router.get('highAvailabilityWizardController');
  99. controller.setCurrentStep('3');
  100. controller.dataLoading().done(function () {
  101. controller.loadAllPriorSteps();
  102. controller.connectOutlet('highAvailabilityWizardStep3', controller.get('content'));
  103. })
  104. },
  105. next: function (router) {
  106. router.transitionTo('step4');
  107. },
  108. back: function (router) {
  109. router.transitionTo('step2');
  110. }
  111. }),
  112. step4: Em.Route.extend({
  113. route: '/step4',
  114. connectOutlets: function (router) {
  115. var controller = router.get('highAvailabilityWizardController');
  116. controller.setCurrentStep('4');
  117. controller.setLowerStepsDisable(4);
  118. controller.dataLoading().done(function () {
  119. controller.loadAllPriorSteps();
  120. controller.connectOutlet('highAvailabilityWizardStep4', controller.get('content'));
  121. })
  122. },
  123. unroutePath: function () {
  124. return false;
  125. },
  126. next: function (router) {
  127. router.transitionTo('step5');
  128. }
  129. }),
  130. step5: Em.Route.extend({
  131. route: '/step5',
  132. connectOutlets: function (router) {
  133. var controller = router.get('highAvailabilityWizardController');
  134. controller.setCurrentStep('5');
  135. controller.setLowerStepsDisable(5);
  136. controller.dataLoading().done(function () {
  137. controller.loadAllPriorSteps();
  138. controller.connectOutlet('highAvailabilityWizardStep5', controller.get('content'));
  139. })
  140. },
  141. unroutePath: function () {
  142. return false;
  143. },
  144. back: function (router) {
  145. router.transitionTo('step4');
  146. },
  147. next: function (router) {
  148. router.transitionTo('step6');
  149. }
  150. }),
  151. step6: Em.Route.extend({
  152. route: '/step6',
  153. connectOutlets: function (router) {
  154. var controller = router.get('highAvailabilityWizardController');
  155. controller.setCurrentStep('6');
  156. controller.setLowerStepsDisable(6);
  157. controller.dataLoading().done(function () {
  158. controller.loadAllPriorSteps();
  159. controller.connectOutlet('highAvailabilityWizardStep6', controller.get('content'));
  160. })
  161. },
  162. unroutePath: function () {
  163. return false;
  164. },
  165. back: function (router) {
  166. router.transitionTo('step5');
  167. },
  168. next: function (router) {
  169. router.transitionTo('step7');
  170. }
  171. }),
  172. step7: Em.Route.extend({
  173. route: '/step7',
  174. connectOutlets: function (router) {
  175. var controller = router.get('highAvailabilityWizardController');
  176. controller.setCurrentStep('7');
  177. controller.setLowerStepsDisable(7);
  178. controller.dataLoading().done(function () {
  179. controller.loadAllPriorSteps();
  180. controller.connectOutlet('highAvailabilityWizardStep7', controller.get('content'));
  181. })
  182. },
  183. unroutePath: function () {
  184. return false;
  185. },
  186. back: function (router) {
  187. router.transitionTo('step6');
  188. },
  189. next: function (router) {
  190. router.transitionTo('step8');
  191. }
  192. }),
  193. step8: Em.Route.extend({
  194. route: '/step8',
  195. connectOutlets: function (router) {
  196. var controller = router.get('highAvailabilityWizardController');
  197. controller.setCurrentStep('8');
  198. controller.setLowerStepsDisable(8);
  199. controller.dataLoading().done(function () {
  200. controller.loadAllPriorSteps();
  201. controller.connectOutlet('highAvailabilityWizardStep8', controller.get('content'));
  202. })
  203. },
  204. unroutePath: function () {
  205. return false;
  206. },
  207. back: function (router) {
  208. router.transitionTo('step7');
  209. },
  210. next: function (router) {
  211. router.transitionTo('step9');
  212. }
  213. }),
  214. step9: Em.Route.extend({
  215. route: '/step9',
  216. connectOutlets: function (router) {
  217. var controller = router.get('highAvailabilityWizardController');
  218. controller.setCurrentStep('9');
  219. controller.setLowerStepsDisable(9);
  220. controller.dataLoading().done(function () {
  221. controller.loadAllPriorSteps();
  222. controller.connectOutlet('highAvailabilityWizardStep9', controller.get('content'));
  223. })
  224. },
  225. unroutePath: function () {
  226. return false;
  227. },
  228. back: function (router) {
  229. router.transitionTo('step8');
  230. },
  231. next: function (router) {
  232. }
  233. }),
  234. gotoStep1: Em.Router.transitionTo('step1'),
  235. gotoStep2: Em.Router.transitionTo('step2'),
  236. gotoStep3: Em.Router.transitionTo('step3'),
  237. gotoStep4: Em.Router.transitionTo('step4'),
  238. gotoStep5: Em.Router.transitionTo('step5'),
  239. gotoStep6: Em.Router.transitionTo('step6'),
  240. gotoStep7: Em.Router.transitionTo('step7'),
  241. gotoStep8: Em.Router.transitionTo('step8'),
  242. gotoStep9: Em.Router.transitionTo('step9')
  243. });