OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 /** | 4 /** |
5 * @interface | 5 * @interface |
6 */ | 6 */ |
7 UI.View = function() {}; | 7 UI.View = function() {}; |
8 | 8 |
9 UI.View.prototype = { | 9 UI.View.prototype = { |
10 /** | 10 /** |
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
669 } | 669 } |
670 | 670 |
671 /** | 671 /** |
672 * @param {!UI.View} view | 672 * @param {!UI.View} view |
673 * @param {number=} index | 673 * @param {number=} index |
674 */ | 674 */ |
675 _appendTab(view, index) { | 675 _appendTab(view, index) { |
676 this._tabbedPane.appendTab( | 676 this._tabbedPane.appendTab( |
677 view.viewId(), view.title(), new UI.ViewManager._ContainerWidget(view), undefined, false, | 677 view.viewId(), view.title(), new UI.ViewManager._ContainerWidget(view), undefined, false, |
678 view.isCloseable() || view.isTransient(), index); | 678 view.isCloseable() || view.isTransient(), index); |
679 if (view.isCloseable()) { | |
dgozman
2017/05/25 17:12:49
Let's move this persisting block to appendView ins
einbinder
2017/05/25 23:48:54
Done.
| |
680 var tabs = this._closeableTabSetting.get(); | |
681 var tabId = view.viewId(); | |
682 if (!tabs[tabId]) { | |
683 tabs[tabId] = true; | |
684 this._closeableTabSetting.set(tabs); | |
685 } | |
686 } | |
687 this._persistTabOrder(); | |
679 } | 688 } |
680 | 689 |
681 /** | 690 /** |
682 * @override | 691 * @override |
683 * @param {!UI.View} view | 692 * @param {!UI.View} view |
684 * @param {?UI.View=} insertBefore | 693 * @param {?UI.View=} insertBefore |
685 */ | 694 */ |
686 appendView(view, insertBefore) { | 695 appendView(view, insertBefore) { |
687 if (this._tabbedPane.hasTab(view.viewId())) | 696 if (this._tabbedPane.hasTab(view.viewId())) |
688 return; | 697 return; |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
741 this._tabbedPane.closeTab(view.viewId()); | 750 this._tabbedPane.closeTab(view.viewId()); |
742 } | 751 } |
743 | 752 |
744 /** | 753 /** |
745 * @param {!Common.Event} event | 754 * @param {!Common.Event} event |
746 */ | 755 */ |
747 _tabSelected(event) { | 756 _tabSelected(event) { |
748 var tabId = /** @type {string} */ (event.data.tabId); | 757 var tabId = /** @type {string} */ (event.data.tabId); |
749 if (this._lastSelectedTabSetting && event.data['isUserGesture']) | 758 if (this._lastSelectedTabSetting && event.data['isUserGesture']) |
750 this._lastSelectedTabSetting.set(tabId); | 759 this._lastSelectedTabSetting.set(tabId); |
751 var view = this._views.get(tabId); | |
752 if (!view) | |
753 return; | |
754 | |
755 if (view.isCloseable()) { | |
einbinder
2017/05/23 00:12:25
Tabs were persisted when they were selected, but i
| |
756 var tabs = this._closeableTabSetting.get(); | |
757 if (!tabs[tabId]) { | |
758 tabs[tabId] = true; | |
759 this._closeableTabSetting.set(tabs); | |
760 } | |
761 } | |
762 } | 760 } |
763 | 761 |
764 /** | 762 /** |
765 * @param {!Common.Event} event | 763 * @param {!Common.Event} event |
766 */ | 764 */ |
767 _tabClosed(event) { | 765 _tabClosed(event) { |
768 var id = /** @type {string} */ (event.data['tabId']); | 766 var id = /** @type {string} */ (event.data['tabId']); |
769 var tabs = this._closeableTabSetting.get(); | 767 var tabs = this._closeableTabSetting.get(); |
770 if (tabs[id]) { | 768 if (tabs[id]) { |
771 delete tabs[id]; | 769 delete tabs[id]; |
772 this._closeableTabSetting.set(tabs); | 770 this._closeableTabSetting.set(tabs); |
773 } | 771 } |
774 } | 772 } |
775 | 773 |
776 /** | 774 _persistTabOrder() { |
777 * @param {!Common.Event} event | |
778 */ | |
779 _persistTabOrder(event) { | |
780 var tabIds = this._tabbedPane.tabIds(); | 775 var tabIds = this._tabbedPane.tabIds(); |
781 var tabOrders = {}; | 776 var tabOrders = {}; |
782 for (var i = 0; i < tabIds.length; i++) | 777 for (var i = 0; i < tabIds.length; i++) |
783 tabOrders[tabIds[i]] = (i + 1) * UI.ViewManager._TabbedLocation.orderStep; | 778 tabOrders[tabIds[i]] = (i + 1) * UI.ViewManager._TabbedLocation.orderStep; |
784 this._tabOrderSetting.set(tabOrders); | 779 this._tabOrderSetting.set(tabOrders); |
785 } | 780 } |
786 }; | 781 }; |
787 | 782 |
788 UI.ViewManager._TabbedLocation.orderStep = 10; // Keep in sync with descriptors . | 783 UI.ViewManager._TabbedLocation.orderStep = 10; // Keep in sync with descriptors . |
789 | 784 |
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
864 appendApplicableItems(locationName) { | 859 appendApplicableItems(locationName) { |
865 for (var view of this._manager._viewsForLocation(locationName)) | 860 for (var view of this._manager._viewsForLocation(locationName)) |
866 this.appendView(view); | 861 this.appendView(view); |
867 } | 862 } |
868 }; | 863 }; |
869 | 864 |
870 /** | 865 /** |
871 * @type {!UI.ViewManager} | 866 * @type {!UI.ViewManager} |
872 */ | 867 */ |
873 UI.viewManager; | 868 UI.viewManager; |
OLD | NEW |