nikki 0.5.3 → 0.5.4

Sign up to get free protection for your applications and to get access to all the features.
data/doc/js/cucumber.js DELETED
@@ -1,305 +0,0 @@
1
- function cucumberKeyboardShortcuts() {
2
- if (window.top.frames.main) return;
3
- $(document).keypress(function(evt) {
4
- if (evt.altKey || evt.ctrlKey || evt.metaKey || evt.shiftKey) return;
5
- if (typeof evt.target !== "undefined" &&
6
- (evt.target.nodeName == "INPUT" ||
7
- evt.target.nodeName == "TEXTAREA")) return;
8
- switch (evt.charCode) {
9
- case 68: case 100: $('#stepdefinition_list_link').click(); break; // 'd'
10
- case 82: case 114: $('#feature_list_link').click(); break; // 'r'
11
- case 83: case 115: $('#step_list_link').click(); break; // 's'
12
- case 84: case 116: $('#tag_list_link').click(); break; // 't'
13
- }
14
- });
15
- }
16
-
17
- $(cucumberKeyboardShortcuts);
18
-
19
- $(function() {
20
-
21
- //
22
- // Feature Page - Scenarios
23
- //
24
- $('.scenario div.title').click(function(eventObject) {
25
- if (typeof eventObject.currentTarget !== "undefined") {
26
- toggleScenario( $($(eventObject.currentTarget).parent()) );
27
- }
28
- });
29
-
30
- //
31
- // Developer View
32
- // Click + Developer View = toggle the expansion of all tags, location, and comments
33
- //
34
- $('#view').click(function(eventObject) {
35
-
36
- if (typeof eventObject.currentTarget !== "undefined") {
37
- var view = eventObject.currentTarget;
38
-
39
- if (view.innerHTML === '[More Detail]') {
40
- $('.developer').show(500);
41
- view.innerHTML = '[Less Detail]';
42
- } else {
43
- $('.developer').hide(500);
44
- // Already hidden elements with .developer sub-elements were not getting message
45
- $('.developer').each(function() {
46
- $(this).css('display','none');
47
- });
48
- view.innerHTML = '[More Detail]';
49
- }
50
- }
51
- });
52
-
53
- //
54
- // Expand/Collapse All
55
- //
56
- $('#expand').click(function(eventObject) {
57
-
58
- if (typeof eventObject.currentTarget !== "undefined") {
59
- if (eventObject.currentTarget.innerHTML === '[Expand All]') {
60
- eventObject.currentTarget.innerHTML = '[Collapse All]';
61
- $('div.scenario > div.details:hidden').each(function() {
62
- toggleScenario( $($(this).parent()) );
63
- });
64
- } else {
65
- eventObject.currentTarget.innerHTML = '[Expand All]';
66
- $('div.scenario > div.details:visible').each(function() {
67
- toggleScenario( $($(this).parent()) );
68
- });
69
- }
70
- }
71
- });
72
-
73
- //
74
- // Expand/Collapse All
75
- //
76
- $('#stepdefinition,#steptransform').click(function(eventObject) {
77
-
78
- if (typeof eventObject.currentTarget !== "undefined") {
79
- if (eventObject.currentTarget.innerHTML === '[Expand All]') {
80
- eventObject.currentTarget.innerHTML = '[Collapse All]';
81
- $('div.' + eventObject.currentTarget.id + ' > div.details:hidden').each(function() {
82
- $(this).show(200);
83
- });
84
- } else {
85
- eventObject.currentTarget.innerHTML = '[Expand All]';
86
- $('div.' + eventObject.currentTarget.id + ' > div.details:visible').each(function() {
87
- $(this).hide(200);
88
- });
89
- }
90
- }
91
- });
92
-
93
-
94
- //
95
- // Scenario Outlines - Toggle Examples
96
- //
97
- $('.outline table tr').click(function(eventObject) {
98
-
99
- if (typeof eventObject.currentTarget !== "undefined") {
100
- var exampleRow = $(eventObject.currentTarget);
101
-
102
- if (eventObject.currentTarget.className.match(/example\d+-\d+/) == null) {
103
- return false;
104
- }
105
-
106
- var exampleClass = eventObject.currentTarget.className.match(/example\d+-\d+/)[0];
107
- var example = exampleRow.closest('div.details').find('.' + exampleClass);
108
-
109
- var currentExample = null;
110
-
111
- $('.outline table tr').each(function() {
112
- $(this).removeClass('selected');
113
- });
114
-
115
- if ( example[0].style.display == 'none' ) {
116
- currentExample = example[0];
117
- exampleRow.addClass('selected');
118
- } else {
119
- currentExample = exampleRow.closest('div.details').find('.steps')[0];
120
- }
121
-
122
- // hide everything
123
- exampleRow.closest('div.details').find('.steps').each(function() {
124
- $(this).hide();
125
- });
126
-
127
- // show the selected
128
- $(currentExample).show();
129
- }
130
- });
131
-
132
-
133
- });
134
-
135
-
136
- function toggleScenario(scenario) {
137
-
138
- var state = scenario.find(".attributes input[name='collapsed']")[0];
139
-
140
- if (state.value === 'true') {
141
- scenario.find("div.details").each(function() {
142
- $(this).show(500);
143
- });
144
- state.value = "false";
145
- scenario.find('a.toggle').each(function() {
146
- this.innerHTML = ' - ';
147
- });
148
-
149
- } else {
150
- scenario.find("div.details").each(function() {
151
- $(this).hide(500);
152
- });
153
- state.value = "true";
154
- scenario.find('a.toggle').each(function() {
155
- this.innerHTML = ' + ';
156
- });
157
- }
158
- }
159
-
160
-
161
- function updateTagFiltering(tagString) {
162
- var formulaTags = determineTagsUsedInFormula(tagString);
163
- displayExampleCommandLine(formulaTags);
164
- displayQualifyingFeaturesAndScenarios(formulaTags);
165
- fixSectionRowAlternations();
166
- }
167
-
168
- function clearTagFiltering() {
169
- updateTagFiltering("");
170
- }
171
-
172
- function determineTagsUsedInFormula(tagString) {
173
-
174
- tagString = tagString.replace(/^(\s+)|(\s+)$/,'').replace(/\s{2,}/,' ');
175
-
176
- var tagGroup = tagString.match(/(?:~)?@\w+(,(?:~)?@\w+)*/g);
177
-
178
- var returnTags = [];
179
-
180
- if (tagGroup) {
181
- tagGroup.forEach(function(tag, index, array) {
182
- console.log("Tag Group: " + tag);
183
- var validTags = removeInvalidTags(tag)
184
- if (validTags != "") {
185
- returnTags.push(validTags);
186
- }
187
- });
188
- }
189
-
190
- return returnTags;
191
- }
192
-
193
- function removeInvalidTags(tagGroup) {
194
- tagGroup.split(",").forEach(function(tag, index, array) {
195
-
196
- baseTag = tag.match(/^~(.+)/) ? tag.match(/^~(.+)/)[1] : tag;
197
-
198
- //console.log("Validating Tag: " + tag)
199
- if (tag_list.indexOf(baseTag) === -1) {
200
- //console.log("Removing Tag: " + tag);
201
- tagGroup = tagGroup.replace(new RegExp(',?' + tag + ',?'),"")
202
- }
203
- });
204
-
205
- return tagGroup;
206
- }
207
-
208
-
209
- function displayExampleCommandLine(tags) {
210
- $("#command_example")[0].innerHTML = "cucumber ";
211
-
212
- if (tags.length > 0) {
213
- $("#command_example")[0].innerHTML += "--tags " + tags.join(" --tags ");
214
- }
215
- }
216
-
217
- function fixSectionRowAlternations() {
218
- $(".feature:visible,.scenario:visible").each(function(index){
219
- $(this).removeClass("odd even").addClass( ((index + 1) % 2 == 0 ? "even" : "odd") );
220
- });
221
- }
222
-
223
- function displayQualifyingFeaturesAndScenarios(tags) {
224
-
225
- if (tags.length > 0) {
226
-
227
- $(".feature,.scenario").each(function(feature){
228
- $(this).hide();
229
- });
230
-
231
- var tagSelectors = generateCssSelectorFromTags(tags);
232
-
233
- tagSelectors.forEach(function(selector,selectorIndex,selectorArray) {
234
- var tags = selector;
235
-
236
- $(".feature." + tags).each(function(index) {
237
- $(this).show();
238
- });
239
- $(".scenario." + tags).each(function(index) {
240
- $(this).show();
241
- $(this).parent().prev().show();
242
- });
243
-
244
- });
245
-
246
- if ( $(".feature:visible,.scenario:visible").length == 0 ) {
247
- $("#features div.undefined").show();
248
- } else {
249
- $("#features div.undefined").hide();
250
- }
251
-
252
-
253
- } else {
254
- $(".feature:hidden,.scenario:hidden").each(function(feature){
255
- $(this).show();
256
- });
257
- }
258
-
259
- }
260
-
261
- function generateCssSelectorFromTags(tagGroups) {
262
-
263
- var tagSelectors = [ "" ];
264
-
265
- tagGroups.forEach(function(tagGroup,index,array) {
266
- var newTagSelectors = [];
267
-
268
- tagSelectors.forEach(function(selector,selectorIndex,selectorArray) {
269
- tagGroup.split(",").forEach(function(tag,tagIndex,tagArray) {
270
-
271
- if ( tag.match(/^~@.+$/) ) {
272
- tag = tag.match(/^~(@.+)$/)[1]
273
- //console.log("selector: " + (selector + " :not(" + tag + ")").trim());
274
- newTagSelectors.push((selector + ":not(." + tag.replace(/@/g,"\\@") +")").trim());
275
- } else {
276
- //console.log("selector: " + (selector + " " + tag).trim());
277
- newTagSelectors.push((selector + "." + tag.replace(/@/g,"\\@")).trim());
278
- }
279
- });
280
-
281
- });
282
-
283
- tagSelectors = newTagSelectors;
284
-
285
- });
286
-
287
-
288
- return tagSelectors;
289
- }
290
-
291
-
292
- function createStepDefinitionLinks() {
293
- // $('.step_instances_list').
294
- // before("<span class='showSteps'>[<a href='#' class='toggleSteps'>View steps</a>]</span>");
295
- $('.toggleSteps').toggle(function() {
296
- $(this).parent().next().slideUp(100);
297
- $(this).text("View " + $(this).attr('alt'));
298
- },
299
- function() {
300
- $(this).parent().next().slideDown(100);
301
- $(this).text("Hide " + $(this).attr('alt'));
302
- });
303
- }
304
-
305
- $(createStepDefinitionLinks);
data/doc/js/full_list.js DELETED
@@ -1,178 +0,0 @@
1
- var inSearch = null;
2
- var searchIndex = 0;
3
- var searchCache = [];
4
- var searchString = '';
5
- var regexSearchString = '';
6
- var caseSensitiveMatch = false;
7
- var ignoreKeyCodeMin = 8;
8
- var ignoreKeyCodeMax = 46;
9
- var commandKey = 91;
10
-
11
- RegExp.escape = function(text) {
12
- return text.replace(/[-[\]{}()*+?.,\\^$|#\s]/g, "\\$&");
13
- }
14
-
15
- function fullListSearch() {
16
- // generate cache
17
- searchCache = [];
18
- $('#full_list li').each(function() {
19
- var link = $(this).find('.object_link a');
20
- if (link.length === 0) return;
21
- var fullName = link.attr('title').split(' ')[0];
22
- searchCache.push({name:link.text(), fullName:fullName, node:$(this), link:link});
23
- });
24
-
25
- $('#search input').keyup(function(event) {
26
- if ((event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax)
27
- || event.keyCode == commandKey)
28
- return;
29
- searchString = this.value;
30
- caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
31
- regexSearchString = RegExp.escape(searchString);
32
- if (caseSensitiveMatch) {
33
- regexSearchString += "|" +
34
- $.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
35
- join('.+?');
36
- }
37
- if (searchString === "") {
38
- clearTimeout(inSearch);
39
- inSearch = null;
40
- $('ul .search_uncollapsed').removeClass('search_uncollapsed');
41
- $('#full_list, #content').removeClass('insearch');
42
- $('#full_list li').removeClass('found').each(function() {
43
-
44
- var link = $(this).find('.object_link a');
45
- if (link.length > 0) link.text(link.text());
46
- });
47
- if (clicked) {
48
- clicked.parents('ul').each(function() {
49
- $(this).removeClass('collapsed').prev().removeClass('collapsed');
50
- });
51
- }
52
- highlight();
53
- }
54
- else {
55
- if (inSearch) clearTimeout(inSearch);
56
- searchIndex = 0;
57
- lastRowClass = '';
58
- $('#full_list, #content').addClass('insearch');
59
- $('#noresults').text('');
60
- searchItem();
61
- }
62
- });
63
-
64
- $('#search input').focus();
65
- $('#full_list').after("<div id='noresults'></div>");
66
- }
67
-
68
- var lastRowClass = '';
69
- function searchItem() {
70
- for (var i = 0; i < searchCache.length / 50; i++) {
71
- var item = searchCache[searchIndex];
72
- var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
73
- var matchString = regexSearchString;
74
- var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
75
- if (searchName.match(matchRegexp) == null) {
76
- item.node.removeClass('found');
77
- }
78
- else {
79
- item.node.css('padding-left', '10px').addClass('found');
80
- item.node.parents().addClass('search_uncollapsed');
81
- item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
82
- lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
83
- item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
84
- }
85
-
86
- if (searchCache.length === searchIndex + 1) {
87
- searchDone();
88
- return;
89
- }
90
- else {
91
- searchIndex++;
92
- }
93
- }
94
- inSearch = setTimeout('searchItem()', 0);
95
- }
96
-
97
- function searchDone() {
98
- highlight(true);
99
- if ($('#full_list li:visible').size() === 0) {
100
- $('#noresults').text('No results were found.').hide().fadeIn();
101
- }
102
- else {
103
- $('#noresults').text('');
104
- }
105
- $('#content').removeClass('insearch');
106
- clearTimeout(inSearch);
107
- inSearch = null;
108
- }
109
-
110
- clicked = null;
111
- function linkList() {
112
- $('#full_list li, #full_list li a:last').click(function(evt) {
113
- if ($(this).hasClass('toggle')) return true;
114
- if (this.tagName.toLowerCase() == "li") {
115
- if ($(this).find('.object_link a').length === 0) {
116
- $(this).children('a.toggle').click();
117
- return false;
118
- }
119
- var toggle = $(this).children('a.toggle');
120
- if (toggle.size() > 0 && evt.pageX < toggle.offset().left) {
121
- toggle.click();
122
- return false;
123
- }
124
- }
125
- if (clicked) clicked.removeClass('clicked');
126
- var win = window.top.frames.main ? window.top.frames.main : window.parent;
127
- if (this.tagName.toLowerCase() == "a") {
128
- clicked = $(this).parents('li').addClass('clicked');
129
- win.location = this.href;
130
- }
131
- else {
132
- clicked = $(this).addClass('clicked');
133
- win.location = $(this).find('a:last').attr('href');
134
- }
135
- return false;
136
- });
137
- }
138
-
139
- function collapse() {
140
- if (!$('#full_list').hasClass('class')) return;
141
- $('#full_list.class a.toggle').click(function() {
142
- $(this).parent().toggleClass('collapsed').next().toggleClass('collapsed');
143
- highlight();
144
- return false;
145
- });
146
- $('#full_list.class ul').each(function() {
147
- $(this).addClass('collapsed').prev().addClass('collapsed');
148
- });
149
- $('#full_list.class').children().removeClass('collapsed');
150
- highlight();
151
- }
152
-
153
- function highlight(no_padding) {
154
- var n = 1;
155
- $('#full_list li:visible').each(function() {
156
- var next = n == 1 ? 2 : 1;
157
- $(this).removeClass("r" + next).addClass("r" + n);
158
- if (!no_padding && $('#full_list').hasClass('class')) {
159
- $(this).css('padding-left', (10 + $(this).parents('ul').size() * 15) + 'px');
160
- }
161
- n = next;
162
- });
163
- }
164
-
165
- function escapeShortcut() {
166
- $(document).keydown(function(evt) {
167
- if (evt.which == 27) {
168
- $('#search_frame', window.top.document).slideUp(100);
169
- $('#search a', window.top.document).removeClass('active inactive');
170
- $(window.top).focus();
171
- }
172
- });
173
- }
174
-
175
- $(escapeShortcut);
176
- $(fullListSearch);
177
- $(linkList);
178
- $(collapse);