| @@ 8871-8911 (lines=41) @@ | ||
| 8868 | } |
|
| 8869 | return this; |
|
| 8870 | }, |
|
| 8871 | bindStates: function () { |
|
| 8872 | var self = this; |
|
| 8873 | function activateMenuItemsByValue(menu, value) { |
|
| 8874 | if (menu instanceof Menu) { |
|
| 8875 | menu.items().each(function (ctrl) { |
|
| 8876 | if (!ctrl.hasMenus()) { |
|
| 8877 | ctrl.active(ctrl.value() === value); |
|
| 8878 | } |
|
| 8879 | }); |
|
| 8880 | } |
|
| 8881 | } |
|
| 8882 | function getSelectedItem(menuValues, value) { |
|
| 8883 | var selectedItem; |
|
| 8884 | if (!menuValues) { |
|
| 8885 | return; |
|
| 8886 | } |
|
| 8887 | for (var i = 0; i < menuValues.length; i++) { |
|
| 8888 | if (menuValues[i].value === value) { |
|
| 8889 | return menuValues[i]; |
|
| 8890 | } |
|
| 8891 | if (menuValues[i].menu) { |
|
| 8892 | selectedItem = getSelectedItem(menuValues[i].menu, value); |
|
| 8893 | if (selectedItem) { |
|
| 8894 | return selectedItem; |
|
| 8895 | } |
|
| 8896 | } |
|
| 8897 | } |
|
| 8898 | } |
|
| 8899 | self.on('show', function (e) { |
|
| 8900 | activateMenuItemsByValue(e.control, self.value()); |
|
| 8901 | }); |
|
| 8902 | self.state.on('change:value', function (e) { |
|
| 8903 | var selectedItem = getSelectedItem(self.state.get('menu'), e.value); |
|
| 8904 | if (selectedItem) { |
|
| 8905 | self.text(selectedItem.text); |
|
| 8906 | } else { |
|
| 8907 | self.text(self.settings.text); |
|
| 8908 | } |
|
| 8909 | }); |
|
| 8910 | return self._super(); |
|
| 8911 | } |
|
| 8912 | }); |
|
| 8913 | ||
| 8914 | var toggleTextStyle = function (ctrl, state) { |
|
| @@ 8679-8719 (lines=41) @@ | ||
| 8676 | } |
|
| 8677 | return this; |
|
| 8678 | }, |
|
| 8679 | bindStates: function () { |
|
| 8680 | var self = this; |
|
| 8681 | function activateMenuItemsByValue(menu, value) { |
|
| 8682 | if (menu instanceof Menu) { |
|
| 8683 | menu.items().each(function (ctrl) { |
|
| 8684 | if (!ctrl.hasMenus()) { |
|
| 8685 | ctrl.active(ctrl.value() === value); |
|
| 8686 | } |
|
| 8687 | }); |
|
| 8688 | } |
|
| 8689 | } |
|
| 8690 | function getSelectedItem(menuValues, value) { |
|
| 8691 | var selectedItem; |
|
| 8692 | if (!menuValues) { |
|
| 8693 | return; |
|
| 8694 | } |
|
| 8695 | for (var i = 0; i < menuValues.length; i++) { |
|
| 8696 | if (menuValues[i].value === value) { |
|
| 8697 | return menuValues[i]; |
|
| 8698 | } |
|
| 8699 | if (menuValues[i].menu) { |
|
| 8700 | selectedItem = getSelectedItem(menuValues[i].menu, value); |
|
| 8701 | if (selectedItem) { |
|
| 8702 | return selectedItem; |
|
| 8703 | } |
|
| 8704 | } |
|
| 8705 | } |
|
| 8706 | } |
|
| 8707 | self.on('show', function (e) { |
|
| 8708 | activateMenuItemsByValue(e.control, self.value()); |
|
| 8709 | }); |
|
| 8710 | self.state.on('change:value', function (e) { |
|
| 8711 | var selectedItem = getSelectedItem(self.state.get('menu'), e.value); |
|
| 8712 | if (selectedItem) { |
|
| 8713 | self.text(selectedItem.text); |
|
| 8714 | } else { |
|
| 8715 | self.text(self.settings.text); |
|
| 8716 | } |
|
| 8717 | }); |
|
| 8718 | return self._super(); |
|
| 8719 | } |
|
| 8720 | }); |
|
| 8721 | ||
| 8722 | var toggleTextStyle = function (ctrl, state) { |
|