Module: Viewerjs::ViewHelpers

Defined in:
lib/viewerjs/view_helpers.rb

Instance Method Summary collapse

Instance Method Details

#viewerjs_viewer(options = {viewer_alignment: 'right', title: nil}) ⇒ Object

options = { viewer_alignment: ‘right’, #Possible values ‘right’ or ‘left’ title: nil #If nothing or nil is provided then referred document(with extension) is used in viewer’s header title else the given title) zoom_mode: ‘page-width’ #Possible values are ‘auto’, ‘page-actual’, ‘page-width’, ‘page-height’, ‘page-fit’, ‘custom’. Default it ‘auto’ zoom_level: 1.5 #Only applicable if zoom_mode is set to ‘custom’. Default zoom_level is 1.0 any value above will increase the zoom or will decrease if its less }



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
# File 'lib/viewerjs/view_helpers.rb', line 10

def viewerjs_viewer(options = {viewer_alignment: 'right', title: nil})

  options[:viewer_alignment] = (['right', 'left'].include?(options[:viewer_alignment]) ? options[:viewer_alignment] : 'left')
  _viewer = "          <div dir=\"\#{{'right' => 'rtl', 'left' => 'ltr'}[options[:viewer_alignment]]}\">\n            <div id=\"viewer\">\n              <div id=\"titlebar\">\n                <div id=\"documentName\"></div>\n                <div id=\"toolbarRight\">\n                  <button id=\"presentation\" class=\"toolbarButton presentation\" title=\"Presentation\"></button>\n                  <button id=\"fullscreen\" class=\"toolbarButton fullscreen\" title=\"Fullscreen\"></button>\n                  <button id=\"download\" class=\"toolbarButton download\" title=\"Download\"></button>\n                </div>\n              </div>\n              <div id=\"toolbarContainer\">\n                <div id=\"toolbar\">\n                  <div id=\"toolbarLeft\">\n                    <div id=\"navButtons\" class=\"splitToolbarButton\">\n                      <button id=\"previous\" class=\"toolbarButton pageUp\" title=\"Previous Page\"></button>\n                      <div class=\"splitToolbarButtonSeparator\"></div>\n                      <button id=\"next\" class=\"toolbarButton pageDown\" title=\"Next Page\"></button>\n                    </div>\n                    <label id=\"pageNumberLabel\" class=\"toolbarLabel\" for=\"pageNumber\">Page:</label>\n                    <input type=\"number\" id=\"pageNumber\" class=\"toolbarField pageNumber\"/>\n                    <span id=\"numPages\" class=\"toolbarLabel\"></span>\n                  </div>\n                  <div id=\"toolbarMiddleContainer\" class=\"outerCenter\">\n                    <div id=\"toolbarMiddle\" class=\"innerCenter\">\n                      <div id='zoomButtons' class=\"splitToolbarButton\">\n                        <button id=\"zoomOut\" class=\"toolbarButton zoomOut\" title=\"Zoom Out\"></button>\n                        <div class=\"splitToolbarButtonSeparator\"></div>\n                        <button id=\"zoomIn\" class=\"toolbarButton zoomIn\" title=\"Zoom In\"></button>\n                      </div>\n                                        <span id=\"scaleSelectContainer\" class=\"dropdownToolbarButton\">\n                                            <select id=\"scaleSelect\" title=\"Zoom\" oncontextmenu=\"return false;\">\n                                              <option id=\"pageAutoOption\" value=\"auto\" selected>Automatic</option>\n                                              <option id=\"pageActualOption\" value=\"page-actual\">Actual Size</option>\n                                              <option id=\"pageWidthOption\" value=\"page-width\">Full Width</option>\n                                              <option id=\"customScaleOption\" value=\"custom\"></option>\n                                              <option value=\"0.5\">50%</option>\n                                              <option value=\"0.75\">75%</option>\n                                              <option value=\"1\">100%</option>\n                                              <option value=\"1.25\">125%</option>\n                                              <option value=\"1.5\">150%</option>\n                                              <option value=\"2\">200%</option>\n                                            </select>\n                                        </span>\n\n                      <div id=\"sliderContainer\">\n                        <div id=\"slider\"></div>\n                      </div>\n                    </div>\n                  </div>\n                </div>\n              </div>\n              <div id=\"canvasContainer\">\n                <div id=\"canvas\"></div>\n              </div>\n              <div id=\"overlayNavigator\">\n                <div id=\"previousPage\"></div>\n                <div id=\"nextPage\"></div>\n              </div>\n              <div id=\"overlayCloseButton\">\n                &#10006;\n              </div>\n              <div id=\"dialogOverlay\"></div>\n            </div>\n          </div>\n          <script>\n              var _document_title = \"\#{options[:title].blank? ? '' : options[:title]}\";\n              var _document_zmode = \"\#{options[:zoom_mode].blank? ? 'auto' : options[:zoom_mode]}\";\n              var _document_zlevel = \"\#{options[:zoom_level].blank? ? '1.0' : options[:zoom_level]}\";\n              loadDocument(window.location.hash);\n          </script>\n  EOM\n  raw(_viewer)\nend\n"