Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(91)

Side by Side Diff: lib/components/tabs.dart

Issue 14295009: Fix widget.dart to work with the latest web_ui library. Specifically, query selectors need to use "… (Closed) Base URL: https://github.com/kevmoo/widget.dart.git@master
Patch Set: ptal Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « lib/components/swap.html ('k') | lib/components/tabs.html » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 import 'dart:html'; 1 import 'dart:html';
2 import 'package:web_ui/web_ui.dart'; 2 import 'package:web_ui/web_ui.dart';
3 import 'package:bot/bot.dart'; 3 import 'package:bot/bot.dart';
4 import 'package:widget/effects.dart'; 4 import 'package:widget/effects.dart';
5 import 'package:widget/widget.dart'; 5 import 'package:widget/widget.dart';
6 6
7 // TODO:TEST: no active tabs -> first is active 7 // TODO:TEST: no active tabs -> first is active
8 // TODO:TEST: 2+ active tabs -> all but first is active 8 // TODO:TEST: 2+ active tabs -> all but first is active
9 // TODO:TEST: no tabs -> no crash 9 // TODO:TEST: no tabs -> no crash
10 10
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
85 String target = clickedElement.dataset['target']; 85 String target = clickedElement.dataset['target'];
86 if(target == null) { 86 if(target == null) {
87 final href = clickedElement.attributes['href']; 87 final href = clickedElement.attributes['href'];
88 if(href != null && href.startsWith('#')) { 88 if(href != null && href.startsWith('#')) {
89 target = href.substring(1); 89 target = href.substring(1);
90 } 90 }
91 } 91 }
92 return target; 92 return target;
93 } 93 }
94 94
95 List<Element> _getAllTabs() => this.queryAll('x-tabs > .nav-tabs > li'); 95 List<Element> _getAllTabs() => this.queryAll('[is=x-tabs] > .nav-tabs > li');
96 96
97 void _ensureAtMostOneTabActive() { 97 void _ensureAtMostOneTabActive() {
98 final tabs = _getAllTabs(); 98 final tabs = _getAllTabs();
99 Element activeTab = null; 99 Element activeTab = null;
100 tabs.forEach((Element tab) { 100 tabs.forEach((Element tab) {
101 if(tab.classes.contains('active')) { 101 if(tab.classes.contains('active')) {
102 if(activeTab == null) { 102 if(activeTab == null) {
103 activeTab = tab; 103 activeTab = tab;
104 } else { 104 } else {
105 tab.classes.remove('active'); 105 tab.classes.remove('active');
106 } 106 }
107 } 107 }
108 }); 108 });
109 109
110 if(activeTab == null && !tabs.isEmpty) { 110 if(activeTab == null && !tabs.isEmpty) {
111 activeTab = tabs[0]; 111 activeTab = tabs[0];
112 activeTab.classes.add('active'); 112 activeTab.classes.add('active');
113 } 113 }
114 } 114 }
115 115
116 SwapComponent _getSwap() { 116 SwapComponent _getSwap() {
117 final Element element = this.query('x-tabs > x-swap'); 117 final Element element = this.query('[is=x-tabs] > [is=x-swap]');
118 if(element != null) { 118 if(element != null) {
119 if(element is SwapComponent) { 119 if(element is SwapComponent) {
120 return element; 120 return element;
121 } else if(element.xtag is SwapComponent) { 121 } else if(element.xtag is SwapComponent) {
122 return element.xtag; 122 return element.xtag;
123 } 123 }
124 } 124 }
125 return null; 125 return null;
126 } 126 }
127 127
128 void _updateContent(String target) { 128 void _updateContent(String target) {
129 final swap = _getSwap(); 129 final swap = _getSwap();
130 130
131 if(swap != null) { 131 if(swap != null) {
132 final items = swap.items; 132 final items = swap.items;
133 133
134 final targetItem = $(items).firstWhere((e) => e.id == target, orElse: () = > null); 134 final targetItem = $(items).firstWhere((e) => e.id == target, orElse: () = > null);
135 if(targetItem != null) { 135 if(targetItem != null) {
136 swap.showItem(targetItem); 136 swap.showItem(targetItem);
137 } 137 }
138 } 138 }
139 } 139 }
140 } 140 }
OLDNEW
« no previous file with comments | « lib/components/swap.html ('k') | lib/components/tabs.html » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698