rich_text_renderer 0.2.0 → 0.3.0

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 (148) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +14 -1
  3. data/README.md +1 -1
  4. data/lib/rich_text_renderer/block_renderers/blockquote_renderer.rb +1 -1
  5. data/lib/rich_text_renderer/block_renderers/entry_block_renderer.rb +1 -1
  6. data/lib/rich_text_renderer/block_renderers/table_cell_renderer.rb +12 -0
  7. data/lib/rich_text_renderer/block_renderers/table_header_cell_renderer.rb +12 -0
  8. data/lib/rich_text_renderer/block_renderers/table_renderer.rb +10 -0
  9. data/lib/rich_text_renderer/block_renderers/table_row_renderer.rb +12 -0
  10. data/lib/rich_text_renderer/block_renderers.rb +5 -0
  11. data/lib/rich_text_renderer/renderer.rb +5 -1
  12. data/lib/rich_text_renderer/text_renderers/text_renderer.rb +2 -0
  13. data/lib/rich_text_renderer/version.rb +1 -1
  14. metadata +8 -166
  15. data/.gitignore +0 -7
  16. data/.rspec +0 -1
  17. data/.rubocop.yml +0 -27
  18. data/.rubocop_todo.yml +0 -35
  19. data/.travis.yml +0 -13
  20. data/.yardopts +0 -4
  21. data/Gemfile +0 -3
  22. data/Gemfile.lock +0 -110
  23. data/Guardfile +0 -24
  24. data/Rakefile +0 -33
  25. data/coverage/.last_run.json +0 -5
  26. data/coverage/.resultset.json +0 -1372
  27. data/coverage/.resultset.json.lock +0 -0
  28. data/coverage/assets/0.10.2/application.css +0 -799
  29. data/coverage/assets/0.10.2/application.js +0 -1707
  30. data/coverage/assets/0.10.2/colorbox/border.png +0 -0
  31. data/coverage/assets/0.10.2/colorbox/controls.png +0 -0
  32. data/coverage/assets/0.10.2/colorbox/loading.gif +0 -0
  33. data/coverage/assets/0.10.2/colorbox/loading_background.png +0 -0
  34. data/coverage/assets/0.10.2/favicon_green.png +0 -0
  35. data/coverage/assets/0.10.2/favicon_red.png +0 -0
  36. data/coverage/assets/0.10.2/favicon_yellow.png +0 -0
  37. data/coverage/assets/0.10.2/loading.gif +0 -0
  38. data/coverage/assets/0.10.2/magnify.png +0 -0
  39. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  40. data/coverage/assets/0.10.2/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  41. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  42. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  43. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  44. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  45. data/coverage/assets/0.10.2/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  46. data/coverage/assets/0.10.2/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  47. data/coverage/assets/0.10.2/smoothness/images/ui-icons_222222_256x240.png +0 -0
  48. data/coverage/assets/0.10.2/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  49. data/coverage/assets/0.10.2/smoothness/images/ui-icons_454545_256x240.png +0 -0
  50. data/coverage/assets/0.10.2/smoothness/images/ui-icons_888888_256x240.png +0 -0
  51. data/coverage/assets/0.10.2/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  52. data/coverage/index.html +0 -9146
  53. data/doc/RichTextRenderer/BaseBlockRenderer.html +0 -242
  54. data/doc/RichTextRenderer/BaseInlineRenderer.html +0 -242
  55. data/doc/RichTextRenderer/BaseNodeRenderer.html +0 -300
  56. data/doc/RichTextRenderer/BlockQuoteRenderer.html +0 -169
  57. data/doc/RichTextRenderer/BoldRenderer.html +0 -169
  58. data/doc/RichTextRenderer/CodeRenderer.html +0 -169
  59. data/doc/RichTextRenderer/DocumentRenderer.html +0 -242
  60. data/doc/RichTextRenderer/EntryBlockRenderer.html +0 -239
  61. data/doc/RichTextRenderer/HeadingFiveRenderer.html +0 -169
  62. data/doc/RichTextRenderer/HeadingFourRenderer.html +0 -169
  63. data/doc/RichTextRenderer/HeadingOneRenderer.html +0 -169
  64. data/doc/RichTextRenderer/HeadingSixRenderer.html +0 -169
  65. data/doc/RichTextRenderer/HeadingThreeRenderer.html +0 -169
  66. data/doc/RichTextRenderer/HeadingTwoRenderer.html +0 -169
  67. data/doc/RichTextRenderer/HrRenderer.html +0 -238
  68. data/doc/RichTextRenderer/HyperlinkRenderer.html +0 -246
  69. data/doc/RichTextRenderer/ItalicRenderer.html +0 -169
  70. data/doc/RichTextRenderer/ListItemRenderer.html +0 -169
  71. data/doc/RichTextRenderer/NullRenderer.html +0 -238
  72. data/doc/RichTextRenderer/OrderedListRenderer.html +0 -169
  73. data/doc/RichTextRenderer/ParagraphRenderer.html +0 -169
  74. data/doc/RichTextRenderer/Renderer.html +0 -349
  75. data/doc/RichTextRenderer/TextRenderer.html +0 -254
  76. data/doc/RichTextRenderer/UnderlineRenderer.html +0 -169
  77. data/doc/RichTextRenderer/UnorderedListRenderer.html +0 -169
  78. data/doc/RichTextRenderer.html +0 -155
  79. data/doc/StructuredTextRenderer/BaseBlockRenderer.html +0 -242
  80. data/doc/StructuredTextRenderer/BaseInlineRenderer.html +0 -242
  81. data/doc/StructuredTextRenderer/BaseNodeRenderer.html +0 -300
  82. data/doc/StructuredTextRenderer/BoldRenderer.html +0 -169
  83. data/doc/StructuredTextRenderer/CodeRenderer.html +0 -169
  84. data/doc/StructuredTextRenderer/DocumentRenderer.html +0 -242
  85. data/doc/StructuredTextRenderer/EntryBlockRenderer.html +0 -239
  86. data/doc/StructuredTextRenderer/HeadingFiveRenderer.html +0 -169
  87. data/doc/StructuredTextRenderer/HeadingFourRenderer.html +0 -169
  88. data/doc/StructuredTextRenderer/HeadingOneRenderer.html +0 -169
  89. data/doc/StructuredTextRenderer/HeadingSixRenderer.html +0 -169
  90. data/doc/StructuredTextRenderer/HeadingThreeRenderer.html +0 -169
  91. data/doc/StructuredTextRenderer/HeadingTwoRenderer.html +0 -169
  92. data/doc/StructuredTextRenderer/HrRenderer.html +0 -238
  93. data/doc/StructuredTextRenderer/HyperlinkRenderer.html +0 -246
  94. data/doc/StructuredTextRenderer/ItalicRenderer.html +0 -169
  95. data/doc/StructuredTextRenderer/ListItemRenderer.html +0 -169
  96. data/doc/StructuredTextRenderer/NullRenderer.html +0 -238
  97. data/doc/StructuredTextRenderer/OrderedListRenderer.html +0 -169
  98. data/doc/StructuredTextRenderer/ParagraphRenderer.html +0 -169
  99. data/doc/StructuredTextRenderer/QuoteRenderer.html +0 -169
  100. data/doc/StructuredTextRenderer/Renderer.html +0 -349
  101. data/doc/StructuredTextRenderer/TextRenderer.html +0 -254
  102. data/doc/StructuredTextRenderer/UnderlineRenderer.html +0 -169
  103. data/doc/StructuredTextRenderer/UnorderedListRenderer.html +0 -169
  104. data/doc/StructuredTextRenderer.html +0 -155
  105. data/doc/_index.html +0 -387
  106. data/doc/class_list.html +0 -51
  107. data/doc/css/common.css +0 -1
  108. data/doc/css/full_list.css +0 -58
  109. data/doc/css/style.css +0 -496
  110. data/doc/file.CHANGELOG.html +0 -91
  111. data/doc/file.LICENSE.html +0 -70
  112. data/doc/file.README.html +0 -170
  113. data/doc/file_list.html +0 -66
  114. data/doc/frames.html +0 -17
  115. data/doc/index.html +0 -170
  116. data/doc/js/app.js +0 -292
  117. data/doc/js/full_list.js +0 -216
  118. data/doc/js/jquery.js +0 -4
  119. data/doc/method_list.html +0 -147
  120. data/doc/top-level-namespace.html +0 -110
  121. data/rich_text_renderer.gemspec +0 -30
  122. data/spec/lib/rich_text_renderer/block_renderers/asset_block_renderer_spec.rb +0 -101
  123. data/spec/lib/rich_text_renderer/block_renderers/asset_hyperlink_renderer_spec.rb +0 -32
  124. data/spec/lib/rich_text_renderer/block_renderers/base_block_renderer_spec.rb +0 -26
  125. data/spec/lib/rich_text_renderer/block_renderers/blockquote_renderer_spec.rb +0 -25
  126. data/spec/lib/rich_text_renderer/block_renderers/entry_block_renderer_spec.rb +0 -15
  127. data/spec/lib/rich_text_renderer/block_renderers/heading_five_renderer_spec.rb +0 -24
  128. data/spec/lib/rich_text_renderer/block_renderers/heading_four_renderer_spec.rb +0 -24
  129. data/spec/lib/rich_text_renderer/block_renderers/heading_one_renderer_spec.rb +0 -24
  130. data/spec/lib/rich_text_renderer/block_renderers/heading_six_renderer_spec.rb +0 -24
  131. data/spec/lib/rich_text_renderer/block_renderers/heading_three_renderer_spec.rb +0 -24
  132. data/spec/lib/rich_text_renderer/block_renderers/heading_two_renderer_spec.rb +0 -24
  133. data/spec/lib/rich_text_renderer/block_renderers/hr_renderer_spec.rb +0 -13
  134. data/spec/lib/rich_text_renderer/block_renderers/hyperlink_renderer_spec.rb +0 -24
  135. data/spec/lib/rich_text_renderer/block_renderers/list_item_renderer_spec.rb +0 -24
  136. data/spec/lib/rich_text_renderer/block_renderers/ordered_list_renderer_spec.rb +0 -56
  137. data/spec/lib/rich_text_renderer/block_renderers/paragraph_renderer_spec.rb +0 -30
  138. data/spec/lib/rich_text_renderer/block_renderers/unordered_list_renderer_spec.rb +0 -56
  139. data/spec/lib/rich_text_renderer/document_renderers/document_renderer_spec.rb +0 -42
  140. data/spec/lib/rich_text_renderer/null_renderer_spec.rb +0 -19
  141. data/spec/lib/rich_text_renderer/renderer_spec.rb +0 -308
  142. data/spec/lib/rich_text_renderer/text_renderers/base_inline_renderer_spec.rb +0 -11
  143. data/spec/lib/rich_text_renderer/text_renderers/bold_renderer_spec.rb +0 -11
  144. data/spec/lib/rich_text_renderer/text_renderers/code_renderer_spec.rb +0 -11
  145. data/spec/lib/rich_text_renderer/text_renderers/italic_renderer_spec.rb +0 -11
  146. data/spec/lib/rich_text_renderer/text_renderers/text_renderer_spec.rb +0 -53
  147. data/spec/lib/rich_text_renderer/text_renderers/underline_renderer_spec.rb +0 -11
  148. 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
- })();