2019-07-01 16:14:16 +08:00
|
|
|
# frozen_string_literal: true
|
|
|
|
|
2019-09-17 16:50:01 +08:00
|
|
|
module Reports::Docx::PrivateMethods
|
2020-10-09 14:22:38 +08:00
|
|
|
private
|
2019-07-01 16:14:16 +08:00
|
|
|
|
|
|
|
def initial_document_load
|
|
|
|
@docx.page_size do
|
|
|
|
width Constants::REPORT_DOCX_WIDTH
|
|
|
|
height Constants::REPORT_DOCX_HEIGHT
|
|
|
|
end
|
|
|
|
|
|
|
|
@docx.page_margins do
|
|
|
|
left Constants::REPORT_DOCX_MARGIN_LEFT
|
|
|
|
right Constants::REPORT_DOCX_MARGIN_RIGHT
|
|
|
|
top Constants::REPORT_DOCX_MARGIN_TOP
|
|
|
|
bottom Constants::REPORT_DOCX_MARGIN_BOTTOM
|
|
|
|
end
|
|
|
|
|
|
|
|
@docx.page_numbers true, align: :right
|
|
|
|
|
2020-07-08 16:48:29 +08:00
|
|
|
path = Rails.root.join('app', 'assets', 'images', 'logo.png')
|
|
|
|
|
|
|
|
@docx.img path.to_s do
|
|
|
|
height 20
|
|
|
|
width 100
|
|
|
|
align :left
|
|
|
|
end
|
|
|
|
@docx.p do
|
|
|
|
text I18n.t('projects.reports.new.generate_PDF.generated_on', timestamp: I18n.l(Time.zone.now, format: :full))
|
|
|
|
br
|
|
|
|
end
|
|
|
|
|
2019-07-01 16:14:16 +08:00
|
|
|
generate_html_styles
|
|
|
|
end
|
|
|
|
|
|
|
|
def generate_html_styles
|
|
|
|
@docx.style do
|
2020-07-08 17:35:25 +08:00
|
|
|
id 'Heading1'
|
|
|
|
name 'heading 1'
|
|
|
|
font 'Arial'
|
2019-07-01 16:14:16 +08:00
|
|
|
size 36
|
2020-07-08 17:35:25 +08:00
|
|
|
bottom 120
|
2019-07-01 16:14:16 +08:00
|
|
|
bold true
|
|
|
|
end
|
|
|
|
|
|
|
|
@link_style = {
|
|
|
|
color: '37a0d9',
|
|
|
|
bold: true
|
|
|
|
}
|
|
|
|
|
|
|
|
@color = {
|
2019-07-12 19:48:14 +08:00
|
|
|
gray: 'a0a0a0',
|
|
|
|
green: '2dbe61'
|
2019-07-01 16:14:16 +08:00
|
|
|
}
|
|
|
|
end
|
|
|
|
end
|