112586967904e3db86d6be94c2f87a95bda8b7e2.svn-base 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. (function () {
  2. var modeText = ko.observable('FMS'),
  3. isBemsMode = ko.observable(),
  4. navComponent = null;
  5. isBemsMode.subscribe(function (value) {
  6. modeText(value ? 'FMS' : 'BEMS');
  7. });
  8. var bemsFmsMode = BWA.BemsFmsMode = {
  9. text: modeText,
  10. isBemsMode: isBemsMode
  11. };
  12. bemsFmsMode.onContentReadyActionInNav = function (e) {
  13. if (!navComponent) {
  14. navComponent = e.component;
  15. }
  16. if (_.isUndefined(isBemsMode())) {
  17. if (_.isEmpty(navComponent.option('items')) === false) {
  18. this.setBemsMode(true);
  19. }
  20. }
  21. }.bind(bemsFmsMode);
  22. bemsFmsMode.handleToggleChangeMode = function () {
  23. this.setBemsMode(!isBemsMode());
  24. // 2016 02 18
  25. if (isBemsMode()) {
  26. BWA.app.navigate('RealtimeEnergyConsumption');
  27. }
  28. else {
  29. BWA.app.navigate('FacilityTaskReport');
  30. }
  31. }.bind(bemsFmsMode);
  32. bemsFmsMode.setNavId = function (navId) {
  33. if (navId == null) navId = "navEnergy";
  34. var items = navComponent.option('items');
  35. var navItem = _.find(items, function (item) {
  36. return item.id === navId;
  37. });
  38. //this.setBemsMode(navItem.mode === 'bems'); // hcLee 2017 01 02
  39. }.bind(bemsFmsMode);
  40. bemsFmsMode.setBemsMode = function (isBems) {
  41. if (isBems === this.isBemsMode()) return;
  42. var items = navComponent.option('items');
  43. this.isBemsMode(isBems);
  44. _.each(items, function (item) {
  45. switch (item.mode) {
  46. case 'bems':
  47. item.visible = isBems;
  48. break;
  49. case 'fms':
  50. item.visible = !isBems;
  51. break;
  52. }
  53. });
  54. navComponent.repaint();
  55. }.bind(bemsFmsMode);
  56. })();