rich_text_renderer 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (138) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +3 -0
  3. data/lib/rich_text_renderer/version.rb +1 -1
  4. metadata +6 -167
  5. data/.gitignore +0 -7
  6. data/.rspec +0 -1
  7. data/.rubocop.yml +0 -27
  8. data/.rubocop_todo.yml +0 -35
  9. data/.travis.yml +0 -13
  10. data/.yardopts +0 -4
  11. data/Gemfile +0 -3
  12. data/Gemfile.lock +0 -110
  13. data/Guardfile +0 -24
  14. data/Rakefile +0 -33
  15. data/coverage/.last_run.json +0 -5
  16. data/coverage/.resultset.json +0 -1372
  17. data/coverage/.resultset.json.lock +0 -0
  18. data/coverage/assets/0.10.2/application.css +0 -799
  19. data/coverage/assets/0.10.2/application.js +0 -1707
  20. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  21. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  22. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  23. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  24. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  25. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  26. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  27. data/coverage/assets/0.10.2/loading.gif +0 -0
  28. data/coverage/assets/0.10.2/magnify.png +0 -0
  29. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  30. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  31. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  32. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  33. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  34. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  35. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  36. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  37. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  38. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  40. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  41. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  42. data/coverage/index.html +0 -9146
  43. data/doc/RichTextRenderer/BaseBlockRenderer.html +0 -242
  44. data/doc/RichTextRenderer/BaseInlineRenderer.html +0 -242
  45. data/doc/RichTextRenderer/BaseNodeRenderer.html +0 -300
  46. data/doc/RichTextRenderer/BlockQuoteRenderer.html +0 -169
  47. data/doc/RichTextRenderer/BoldRenderer.html +0 -169
  48. data/doc/RichTextRenderer/CodeRenderer.html +0 -169
  49. data/doc/RichTextRenderer/DocumentRenderer.html +0 -242
  50. data/doc/RichTextRenderer/EntryBlockRenderer.html +0 -239
  51. data/doc/RichTextRenderer/HeadingFiveRenderer.html +0 -169
  52. data/doc/RichTextRenderer/HeadingFourRenderer.html +0 -169
  53. data/doc/RichTextRenderer/HeadingOneRenderer.html +0 -169
  54. data/doc/RichTextRenderer/HeadingSixRenderer.html +0 -169
  55. data/doc/RichTextRenderer/HeadingThreeRenderer.html +0 -169
  56. data/doc/RichTextRenderer/HeadingTwoRenderer.html +0 -169
  57. data/doc/RichTextRenderer/HrRenderer.html +0 -238
  58. data/doc/RichTextRenderer/HyperlinkRenderer.html +0 -246
  59. data/doc/RichTextRenderer/ItalicRenderer.html +0 -169
  60. data/doc/RichTextRenderer/ListItemRenderer.html +0 -169
  61. data/doc/RichTextRenderer/NullRenderer.html +0 -238
  62. data/doc/RichTextRenderer/OrderedListRenderer.html +0 -169
  63. data/doc/RichTextRenderer/ParagraphRenderer.html +0 -169
  64. data/doc/RichTextRenderer/Renderer.html +0 -349
  65. data/doc/RichTextRenderer/TextRenderer.html +0 -254
  66. data/doc/RichTextRenderer/UnderlineRenderer.html +0 -169
  67. data/doc/RichTextRenderer/UnorderedListRenderer.html +0 -169
  68. data/doc/RichTextRenderer.html +0 -155
  69. data/doc/StructuredTextRenderer/BaseBlockRenderer.html +0 -242
  70. data/doc/StructuredTextRenderer/BaseInlineRenderer.html +0 -242
  71. data/doc/StructuredTextRenderer/BaseNodeRenderer.html +0 -300
  72. data/doc/StructuredTextRenderer/BoldRenderer.html +0 -169
  73. data/doc/StructuredTextRenderer/CodeRenderer.html +0 -169
  74. data/doc/StructuredTextRenderer/DocumentRenderer.html +0 -242
  75. data/doc/StructuredTextRenderer/EntryBlockRenderer.html +0 -239
  76. data/doc/StructuredTextRenderer/HeadingFiveRenderer.html +0 -169
  77. data/doc/StructuredTextRenderer/HeadingFourRenderer.html +0 -169
  78. data/doc/StructuredTextRenderer/HeadingOneRenderer.html +0 -169
  79. data/doc/StructuredTextRenderer/HeadingSixRenderer.html +0 -169
  80. data/doc/StructuredTextRenderer/HeadingThreeRenderer.html +0 -169
  81. data/doc/StructuredTextRenderer/HeadingTwoRenderer.html +0 -169
  82. data/doc/StructuredTextRenderer/HrRenderer.html +0 -238
  83. data/doc/StructuredTextRenderer/HyperlinkRenderer.html +0 -246
  84. data/doc/StructuredTextRenderer/ItalicRenderer.html +0 -169
  85. data/doc/StructuredTextRenderer/ListItemRenderer.html +0 -169
  86. data/doc/StructuredTextRenderer/NullRenderer.html +0 -238
  87. data/doc/StructuredTextRenderer/OrderedListRenderer.html +0 -169
  88. data/doc/StructuredTextRenderer/ParagraphRenderer.html +0 -169
  89. data/doc/StructuredTextRenderer/QuoteRenderer.html +0 -169
  90. data/doc/StructuredTextRenderer/Renderer.html +0 -349
  91. data/doc/StructuredTextRenderer/TextRenderer.html +0 -254
  92. data/doc/StructuredTextRenderer/UnderlineRenderer.html +0 -169
  93. data/doc/StructuredTextRenderer/UnorderedListRenderer.html +0 -169
  94. data/doc/StructuredTextRenderer.html +0 -155
  95. data/doc/_index.html +0 -387
  96. data/doc/class_list.html +0 -51
  97. data/doc/css/common.css +0 -1
  98. data/doc/css/full_list.css +0 -58
  99. data/doc/css/style.css +0 -496
  100. data/doc/file.CHANGELOG.html +0 -91
  101. data/doc/file.LICENSE.html +0 -70
  102. data/doc/file.README.html +0 -170
  103. data/doc/file_list.html +0 -66
  104. data/doc/frames.html +0 -17
  105. data/doc/index.html +0 -170
  106. data/doc/js/app.js +0 -292
  107. data/doc/js/full_list.js +0 -216
  108. data/doc/js/jquery.js +0 -4
  109. data/doc/method_list.html +0 -147
  110. data/doc/top-level-namespace.html +0 -110
  111. data/rich_text_renderer.gemspec +0 -30
  112. data/spec/lib/rich_text_renderer/block_renderers/asset_block_renderer_spec.rb +0 -101
  113. data/spec/lib/rich_text_renderer/block_renderers/asset_hyperlink_renderer_spec.rb +0 -32
  114. data/spec/lib/rich_text_renderer/block_renderers/base_block_renderer_spec.rb +0 -26
  115. data/spec/lib/rich_text_renderer/block_renderers/blockquote_renderer_spec.rb +0 -25
  116. data/spec/lib/rich_text_renderer/block_renderers/entry_block_renderer_spec.rb +0 -15
  117. data/spec/lib/rich_text_renderer/block_renderers/heading_five_renderer_spec.rb +0 -24
  118. data/spec/lib/rich_text_renderer/block_renderers/heading_four_renderer_spec.rb +0 -24
  119. data/spec/lib/rich_text_renderer/block_renderers/heading_one_renderer_spec.rb +0 -24
  120. data/spec/lib/rich_text_renderer/block_renderers/heading_six_renderer_spec.rb +0 -24
  121. data/spec/lib/rich_text_renderer/block_renderers/heading_three_renderer_spec.rb +0 -24
  122. data/spec/lib/rich_text_renderer/block_renderers/heading_two_renderer_spec.rb +0 -24
  123. data/spec/lib/rich_text_renderer/block_renderers/hr_renderer_spec.rb +0 -13
  124. data/spec/lib/rich_text_renderer/block_renderers/hyperlink_renderer_spec.rb +0 -24
  125. data/spec/lib/rich_text_renderer/block_renderers/list_item_renderer_spec.rb +0 -24
  126. data/spec/lib/rich_text_renderer/block_renderers/ordered_list_renderer_spec.rb +0 -56
  127. data/spec/lib/rich_text_renderer/block_renderers/paragraph_renderer_spec.rb +0 -30
  128. data/spec/lib/rich_text_renderer/block_renderers/unordered_list_renderer_spec.rb +0 -56
  129. data/spec/lib/rich_text_renderer/document_renderers/document_renderer_spec.rb +0 -42
  130. data/spec/lib/rich_text_renderer/null_renderer_spec.rb +0 -19
  131. data/spec/lib/rich_text_renderer/renderer_spec.rb +0 -308
  132. data/spec/lib/rich_text_renderer/text_renderers/base_inline_renderer_spec.rb +0 -11
  133. data/spec/lib/rich_text_renderer/text_renderers/bold_renderer_spec.rb +0 -11
  134. data/spec/lib/rich_text_renderer/text_renderers/code_renderer_spec.rb +0 -11
  135. data/spec/lib/rich_text_renderer/text_renderers/italic_renderer_spec.rb +0 -11
  136. data/spec/lib/rich_text_renderer/text_renderers/text_renderer_spec.rb +0 -65
  137. data/spec/lib/rich_text_renderer/text_renderers/underline_renderer_spec.rb +0 -11
  138. data/spec/spec_helper.rb +0 -105
data/doc/js/app.js DELETED
@@ -1,292 +0,0 @@
1
- (function() {
2
-
3
- var localStorage = {}, sessionStorage = {};
4
- try { localStorage = window.localStorage; } catch (e) { }
5
- try { sessionStorage = window.sessionStorage; } catch (e) { }
6
-
7
- function createSourceLinks() {
8
- $('.method_details_list .source_code').
9
- before("<span class='showSource'>[<a href='#' class='toggleSource'>View source</a>]</span>");
10
- $('.toggleSource').toggle(function() {
11
- $(this).parent().nextAll('.source_code').slideDown(100);
12
- $(this).text("Hide source");
13
- },
14
- function() {
15
- $(this).parent().nextAll('.source_code').slideUp(100);
16
- $(this).text("View source");
17
- });
18
- }
19
-
20
- function createDefineLinks() {
21
- var tHeight = 0;
22
- $('.defines').after(" <a href='#' class='toggleDefines'>more...</a>");
23
- $('.toggleDefines').toggle(function() {
24
- tHeight = $(this).parent().prev().height();
25
- $(this).prev().css('display', 'inline');
26
- $(this).parent().prev().height($(this).parent().height());
27
- $(this).text("(less)");
28
- },
29
- function() {
30
- $(this).prev().hide();
31
- $(this).parent().prev().height(tHeight);
32
- $(this).text("more...");
33
- });
34
- }
35
-
36
- function createFullTreeLinks() {
37
- var tHeight = 0;
38
- $('.inheritanceTree').toggle(function() {
39
- tHeight = $(this).parent().prev().height();
40
- $(this).parent().toggleClass('showAll');
41
- $(this).text("(hide)");
42
- $(this).parent().prev().height($(this).parent().height());
43
- },
44
- function() {
45
- $(this).parent().toggleClass('showAll');
46
- $(this).parent().prev().height(tHeight);
47
- $(this).text("show all");
48
- });
49
- }
50
-
51
- function searchFrameButtons() {
52
- $('.full_list_link').click(function() {
53
- toggleSearchFrame(this, $(this).attr('href'));
54
- return false;
55
- });
56
- window.addEventListener('message', function(e) {
57
- if (e.data === 'navEscape') {
58
- $('#nav').slideUp(100);
59
- $('#search a').removeClass('active inactive');
60
- $(window).focus();
61
- }
62
- });
63
-
64
- $(window).resize(function() {
65
- if ($('#search:visible').length === 0) {
66
- $('#nav').removeAttr('style');
67
- $('#search a').removeClass('active inactive');
68
- $(window).focus();
69
- }
70
- });
71
- }
72
-
73
- function toggleSearchFrame(id, link) {
74
- var frame = $('#nav');
75
- $('#search a').removeClass('active').addClass('inactive');
76
- if (frame.attr('src') === link && frame.css('display') !== "none") {
77
- frame.slideUp(100);
78
- $('#search a').removeClass('active inactive');
79
- }
80
- else {
81
- $(id).addClass('active').removeClass('inactive');
82
- if (frame.attr('src') !== link) frame.attr('src', link);
83
- frame.slideDown(100);
84
- }
85
- }
86
-
87
- function linkSummaries() {
88
- $('.summary_signature').click(function() {
89
- document.location = $(this).find('a').attr('href');
90
- });
91
- }
92
-
93
- function summaryToggle() {
94
- $('.summary_toggle').click(function(e) {
95
- e.preventDefault();
96
- localStorage.summaryCollapsed = $(this).text();
97
- $('.summary_toggle').each(function() {
98
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
99
- var next = $(this).parent().parent().nextAll('ul.summary').first();
100
- if (next.hasClass('compact')) {
101
- next.toggle();
102
- next.nextAll('ul.summary').first().toggle();
103
- }
104
- else if (next.hasClass('summary')) {
105
- var list = $('<ul class="summary compact" />');
106
- list.html(next.html());
107
- list.find('.summary_desc, .note').remove();
108
- list.find('a').each(function() {
109
- $(this).html($(this).find('strong').html());
110
- $(this).parent().html($(this)[0].outerHTML);
111
- });
112
- next.before(list);
113
- next.toggle();
114
- }
115
- });
116
- return false;
117
- });
118
- if (localStorage.summaryCollapsed == "collapse") {
119
- $('.summary_toggle').first().click();
120
- } else { localStorage.summaryCollapsed = "expand"; }
121
- }
122
-
123
- function constantSummaryToggle() {
124
- $('.constants_summary_toggle').click(function(e) {
125
- e.preventDefault();
126
- localStorage.summaryCollapsed = $(this).text();
127
- $('.constants_summary_toggle').each(function() {
128
- $(this).text($(this).text() == "collapse" ? "expand" : "collapse");
129
- var next = $(this).parent().parent().nextAll('dl.constants').first();
130
- if (next.hasClass('compact')) {
131
- next.toggle();
132
- next.nextAll('dl.constants').first().toggle();
133
- }
134
- else if (next.hasClass('constants')) {
135
- var list = $('<dl class="constants compact" />');
136
- list.html(next.html());
137
- list.find('dt').each(function() {
138
- $(this).addClass('summary_signature');
139
- $(this).text( $(this).text().split('=')[0]);
140
- if ($(this).has(".deprecated").length) {
141
- $(this).addClass('deprecated');
142
- };
143
- });
144
- // Add the value of the constant as "Tooltip" to the summary object
145
- list.find('pre.code').each(function() {
146
- console.log($(this).parent());
147
- var dt_element = $(this).parent().prev();
148
- var tooltip = $(this).text();
149
- if (dt_element.hasClass("deprecated")) {
150
- tooltip = 'Deprecated. ' + tooltip;
151
- };
152
- dt_element.attr('title', tooltip);
153
- });
154
- list.find('.docstring, .tags, dd').remove();
155
- next.before(list);
156
- next.toggle();
157
- }
158
- });
159
- return false;
160
- });
161
- if (localStorage.summaryCollapsed == "collapse") {
162
- $('.constants_summary_toggle').first().click();
163
- } else { localStorage.summaryCollapsed = "expand"; }
164
- }
165
-
166
- function generateTOC() {
167
- if ($('#filecontents').length === 0) return;
168
- var _toc = $('<ol class="top"></ol>');
169
- var show = false;
170
- var toc = _toc;
171
- var counter = 0;
172
- var tags = ['h2', 'h3', 'h4', 'h5', 'h6'];
173
- var i;
174
- if ($('#filecontents h1').length > 1) tags.unshift('h1');
175
- for (i = 0; i < tags.length; i++) { tags[i] = '#filecontents ' + tags[i]; }
176
- var lastTag = parseInt(tags[0][1], 10);
177
- $(tags.join(', ')).each(function() {
178
- if ($(this).parents('.method_details .docstring').length != 0) return;
179
- if (this.id == "filecontents") return;
180
- show = true;
181
- var thisTag = parseInt(this.tagName[1], 10);
182
- if (this.id.length === 0) {
183
- var proposedId = $(this).attr('toc-id');
184
- if (typeof(proposedId) != "undefined") this.id = proposedId;
185
- else {
186
- var proposedId = $(this).text().replace(/[^a-z0-9-]/ig, '_');
187
- if ($('#' + proposedId).length > 0) { proposedId += counter; counter++; }
188
- this.id = proposedId;
189
- }
190
- }
191
- if (thisTag > lastTag) {
192
- for (i = 0; i < thisTag - lastTag; i++) {
193
- var tmp = $('<ol/>'); toc.append(tmp); toc = tmp;
194
- }
195
- }
196
- if (thisTag < lastTag) {
197
- for (i = 0; i < lastTag - thisTag; i++) toc = toc.parent();
198
- }
199
- var title = $(this).attr('toc-title');
200
- if (typeof(title) == "undefined") title = $(this).text();
201
- toc.append('<li><a href="#' + this.id + '">' + title + '</a></li>');
202
- lastTag = thisTag;
203
- });
204
- if (!show) return;
205
- html = '<div id="toc"><p class="title hide_toc"><a href="#"><strong>Table of Contents</strong></a></p></div>';
206
- $('#content').prepend(html);
207
- $('#toc').append(_toc);
208
- $('#toc .hide_toc').toggle(function() {
209
- $('#toc .top').slideUp('fast');
210
- $('#toc').toggleClass('hidden');
211
- $('#toc .title small').toggle();
212
- }, function() {
213
- $('#toc .top').slideDown('fast');
214
- $('#toc').toggleClass('hidden');
215
- $('#toc .title small').toggle();
216
- });
217
- }
218
-
219
- function navResizeFn(e) {
220
- if (e.which !== 1) {
221
- navResizeFnStop();
222
- return;
223
- }
224
-
225
- sessionStorage.navWidth = e.pageX.toString();
226
- $('.nav_wrap').css('width', e.pageX);
227
- $('.nav_wrap').css('-ms-flex', 'inherit');
228
- }
229
-
230
- function navResizeFnStop() {
231
- $(window).unbind('mousemove', navResizeFn);
232
- window.removeEventListener('message', navMessageFn, false);
233
- }
234
-
235
- function navMessageFn(e) {
236
- if (e.data.action === 'mousemove') navResizeFn(e.data.event);
237
- if (e.data.action === 'mouseup') navResizeFnStop();
238
- }
239
-
240
- function navResizer() {
241
- $('#resizer').mousedown(function(e) {
242
- e.preventDefault();
243
- $(window).mousemove(navResizeFn);
244
- window.addEventListener('message', navMessageFn, false);
245
- });
246
- $(window).mouseup(navResizeFnStop);
247
-
248
- if (sessionStorage.navWidth) {
249
- navResizeFn({which: 1, pageX: parseInt(sessionStorage.navWidth, 10)});
250
- }
251
- }
252
-
253
- function navExpander() {
254
- var done = false, timer = setTimeout(postMessage, 500);
255
- function postMessage() {
256
- if (done) return;
257
- clearTimeout(timer);
258
- var opts = { action: 'expand', path: pathId };
259
- document.getElementById('nav').contentWindow.postMessage(opts, '*');
260
- done = true;
261
- }
262
-
263
- window.addEventListener('message', function(event) {
264
- if (event.data === 'navReady') postMessage();
265
- return false;
266
- }, false);
267
- }
268
-
269
- function mainFocus() {
270
- var hash = window.location.hash;
271
- if (hash !== '' && $(hash)[0]) {
272
- $(hash)[0].scrollIntoView();
273
- }
274
-
275
- setTimeout(function() { $('#main').focus(); }, 10);
276
- }
277
-
278
- $(document).ready(function() {
279
- navResizer();
280
- navExpander();
281
- createSourceLinks();
282
- createDefineLinks();
283
- createFullTreeLinks();
284
- searchFrameButtons();
285
- linkSummaries();
286
- summaryToggle();
287
- constantSummaryToggle();
288
- generateTOC();
289
- mainFocus();
290
- });
291
-
292
- })();
data/doc/js/full_list.js DELETED
@@ -1,216 +0,0 @@
1
- (function() {
2
-
3
- var $clicked = $(null);
4
- var searchTimeout = null;
5
- var searchCache = [];
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 escapeShortcut() {
16
- $(document).keydown(function(evt) {
17
- if (evt.which == 27) {
18
- window.parent.postMessage('navEscape', '*');
19
- }
20
- });
21
- }
22
-
23
- function navResizer() {
24
- $(window).mousemove(function(e) {
25
- window.parent.postMessage({
26
- action: 'mousemove', event: {pageX: e.pageX, which: e.which}
27
- }, '*');
28
- }).mouseup(function(e) {
29
- window.parent.postMessage({action: 'mouseup'}, '*');
30
- });
31
- window.parent.postMessage("navReady", "*");
32
- }
33
-
34
- function clearSearchTimeout() {
35
- clearTimeout(searchTimeout);
36
- searchTimeout = null;
37
- }
38
-
39
- function enableLinks() {
40
- // load the target page in the parent window
41
- $('#full_list li').on('click', function(evt) {
42
- $('#full_list li').removeClass('clicked');
43
- $clicked = $(this);
44
- $clicked.addClass('clicked');
45
- evt.stopPropagation();
46
-
47
- if (evt.target.tagName === 'A') return true;
48
-
49
- var elem = $clicked.find('> .item .object_link a')[0];
50
- var e = evt.originalEvent;
51
- var newEvent = new MouseEvent(evt.originalEvent.type);
52
- newEvent.initMouseEvent(e.type, e.canBubble, e.cancelable, e.view, e.detail, e.screenX, e.screenY, e.clientX, e.clientY, e.ctrlKey, e.altKey, e.shiftKey, e.metaKey, e.button, e.relatedTarget);
53
- elem.dispatchEvent(newEvent);
54
- evt.preventDefault();
55
- return false;
56
- });
57
- }
58
-
59
- function enableToggles() {
60
- // show/hide nested classes on toggle click
61
- $('#full_list a.toggle').on('click', function(evt) {
62
- evt.stopPropagation();
63
- evt.preventDefault();
64
- $(this).parent().parent().toggleClass('collapsed');
65
- highlight();
66
- });
67
- }
68
-
69
- function populateSearchCache() {
70
- $('#full_list li .item').each(function() {
71
- var $node = $(this);
72
- var $link = $node.find('.object_link a');
73
- if ($link.length > 0) {
74
- searchCache.push({
75
- node: $node,
76
- link: $link,
77
- name: $link.text(),
78
- fullName: $link.attr('title').split(' ')[0]
79
- });
80
- }
81
- });
82
- }
83
-
84
- function enableSearch() {
85
- $('#search input').keyup(function(event) {
86
- if (ignoredKeyPress(event)) return;
87
- if (this.value === "") {
88
- clearSearch();
89
- } else {
90
- performSearch(this.value);
91
- }
92
- });
93
-
94
- $('#full_list').after("<div id='noresults' style='display:none'></div>");
95
- }
96
-
97
- function ignoredKeyPress(event) {
98
- if (
99
- (event.keyCode > ignoreKeyCodeMin && event.keyCode < ignoreKeyCodeMax) ||
100
- (event.keyCode == commandKey)
101
- ) {
102
- return true;
103
- } else {
104
- return false;
105
- }
106
- }
107
-
108
- function clearSearch() {
109
- clearSearchTimeout();
110
- $('#full_list .found').removeClass('found').each(function() {
111
- var $link = $(this).find('.object_link a');
112
- $link.text($link.text());
113
- });
114
- $('#full_list, #content').removeClass('insearch');
115
- $clicked.parents().removeClass('collapsed');
116
- highlight();
117
- }
118
-
119
- function performSearch(searchString) {
120
- clearSearchTimeout();
121
- $('#full_list, #content').addClass('insearch');
122
- $('#noresults').text('').hide();
123
- partialSearch(searchString, 0);
124
- }
125
-
126
- function partialSearch(searchString, offset) {
127
- var lastRowClass = '';
128
- var i = null;
129
- for (i = offset; i < Math.min(offset + 50, searchCache.length); i++) {
130
- var item = searchCache[i];
131
- var searchName = (searchString.indexOf('::') != -1 ? item.fullName : item.name);
132
- var matchString = buildMatchString(searchString);
133
- var matchRegexp = new RegExp(matchString, caseSensitiveMatch ? "" : "i");
134
- if (searchName.match(matchRegexp) == null) {
135
- item.node.removeClass('found');
136
- item.link.text(item.link.text());
137
- }
138
- else {
139
- item.node.addClass('found');
140
- item.node.removeClass(lastRowClass).addClass(lastRowClass == 'r1' ? 'r2' : 'r1');
141
- lastRowClass = item.node.hasClass('r1') ? 'r1' : 'r2';
142
- item.link.html(item.name.replace(matchRegexp, "<strong>$&</strong>"));
143
- }
144
- }
145
- if(i == searchCache.length) {
146
- searchDone();
147
- } else {
148
- searchTimeout = setTimeout(function() {
149
- partialSearch(searchString, i);
150
- }, 0);
151
- }
152
- }
153
-
154
- function searchDone() {
155
- searchTimeout = null;
156
- highlight();
157
- if ($('#full_list li:visible').size() === 0) {
158
- $('#noresults').text('No results were found.').hide().fadeIn();
159
- } else {
160
- $('#noresults').text('').hide();
161
- }
162
- $('#content').removeClass('insearch');
163
- }
164
-
165
- function buildMatchString(searchString, event) {
166
- caseSensitiveMatch = searchString.match(/[A-Z]/) != null;
167
- var regexSearchString = RegExp.escape(searchString);
168
- if (caseSensitiveMatch) {
169
- regexSearchString += "|" +
170
- $.map(searchString.split(''), function(e) { return RegExp.escape(e); }).
171
- join('.+?');
172
- }
173
- return regexSearchString;
174
- }
175
-
176
- function highlight() {
177
- $('#full_list li:visible').each(function(n) {
178
- $(this).removeClass('even odd').addClass(n % 2 == 0 ? 'odd' : 'even');
179
- });
180
- }
181
-
182
- /**
183
- * Expands the tree to the target element and its immediate
184
- * children.
185
- */
186
- function expandTo(path) {
187
- var $target = $(document.getElementById('object_' + path));
188
- $target.addClass('clicked');
189
- $target.removeClass('collapsed');
190
- $target.parentsUntil('#full_list', 'li').removeClass('collapsed');
191
- if($target[0]) {
192
- window.scrollTo(window.scrollX, $target.offset().top - 250);
193
- highlight();
194
- }
195
- }
196
-
197
- function windowEvents(event) {
198
- var msg = event.data;
199
- if (msg.action === "expand") {
200
- expandTo(msg.path);
201
- }
202
- return false;
203
- }
204
-
205
- window.addEventListener("message", windowEvents, false);
206
-
207
- $(document).ready(function() {
208
- escapeShortcut();
209
- navResizer();
210
- enableLinks();
211
- enableToggles();
212
- populateSearchCache();
213
- enableSearch();
214
- });
215
-
216
- })();