/* * (c) Copyright Ascensio System SIA 2010-2015 * * This program is a free software product. You can redistribute it and/or * modify it under the terms of the GNU Affero General Public License (AGPL) * version 3 as published by the Free Software Foundation. In accordance with * Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect * that Ascensio System SIA expressly excludes the warranty of non-infringement * of any third-party rights. * * This program is distributed WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For * details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html * * You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia, * EU, LV-1021. * * The interactive user interfaces in modified source and object code versions * of the Program must display Appropriate Legal Notices, as required under * Section 5 of the GNU AGPL version 3. * * Pursuant to Section 7(b) of the License you must retain the original Product * logo when distributing the program. Pursuant to Section 7(e) we decline to * grant you any rights under trademark law for use of our trademarks. * * All the Product's GUI elements, including illustrations and icon sets, as * well as technical writing content are licensed under the terms of the * Creative Commons Attribution-ShareAlike 4.0 International. See the License * terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode * */ define(["text!spreadsheeteditor/main/app/template/PrintSettings.template", "common/main/lib/view/AdvancedSettingsWindow", "common/main/lib/component/MetricSpinner", "common/main/lib/component/CheckBox", "common/main/lib/component/RadioBox", "common/main/lib/component/ListView"], function (contentTemplate) { SSE.Views.PrintSettings = Common.Views.AdvancedSettingsWindow.extend(_.extend({ options: { alias: "PrintSettings", contentWidth: 280, height: 482 }, initialize: function (options) { _.extend(this.options, { title: this.textTitle, template: ['
', '", '
', '
' + _.template(contentTemplate)({ scope: this }) + "
", "
", '
', '"].join("") }, options); Common.Views.AdvancedSettingsWindow.prototype.initialize.call(this, this.options); this.spinners = []; }, render: function () { Common.Views.AdvancedSettingsWindow.prototype.render.call(this); this.radioCurrent = new Common.UI.RadioBox({ el: $("#printadv-dlg-radio-current"), labelText: this.textCurrentSheet, name: "asc-radio-printrange", checked: true }); this.radioCurrent.on("change", _.bind(this.onRadioRangeChange, this)); this.radioAll = new Common.UI.RadioBox({ el: $("#printadv-dlg-radio-all"), labelText: this.textAllSheets, name: "asc-radio-printrange" }); this.radioAll.on("change", _.bind(this.onRadioRangeChange, this)); this.radioSelection = new Common.UI.RadioBox({ el: $("#printadv-dlg-radio-selection"), labelText: this.textSelection, name: "asc-radio-printrange" }); this.radioSelection.on("change", _.bind(this.onRadioRangeChange, this)); this.cmbPaperSize = new Common.UI.ComboBox({ el: $("#printadv-dlg-combo-pages"), style: "width: 260px;", menuStyle: "max-height: 280px; min-width: 260px;", editable: false, cls: "input-group-nr", data: [{ value: "215.9|279.4", displayValue: "US Letter (21,59cm x 27,94cm)" }, { value: "215.9|355.6", displayValue: "US Legal (21,59cm x 35,56cm)" }, { value: "210|297", displayValue: "A4 (21cm x 29,7cm)" }, { value: "148.1|209.9", displayValue: "A5 (14,81cm x 20,99cm)" }, { value: "176|250.1", displayValue: "B5 (17,6cm x 25,01cm)" }, { value: "104.8|241.3", displayValue: "Envelope #10 (10,48cm x 24,13cm)" }, { value: "110.1|220.1", displayValue: "Envelope DL (11,01cm x 22,01cm)" }, { value: "279.4|431.7", displayValue: "Tabloid (27,94cm x 43,17cm)" }, { value: "297|420.1", displayValue: "A3 (29,7cm x 42,01cm)" }, { value: "304.8|457.1", displayValue: "Tabloid Oversize (30,48cm x 45,71cm)" }, { value: "196.8|273", displayValue: "ROC 16K (19,68cm x 27,3cm)" }, { value: "119.9|234.9", displayValue: "Envelope Choukei 3 (11,99cm x 23,49cm)" }, { value: "330.2|482.5", displayValue: "Super B/A3 (33,02cm x 48,25cm)" }] }); this.cmbPaperOrientation = new Common.UI.ComboBox({ el: $("#printadv-dlg-combo-orient"), style: "width: 115px;", menuStyle: "min-width: 115px;", editable: false, cls: "input-group-nr", data: [{ value: c_oAscPageOrientation.PagePortrait, displayValue: this.strPortrait }, { value: c_oAscPageOrientation.PageLandscape, displayValue: this.strLandscape }] }); this.chPrintGrid = new Common.UI.CheckBox({ el: $("#printadv-dlg-chb-grid"), labelText: this.textPrintGrid }); this.chPrintRows = new Common.UI.CheckBox({ el: $("#printadv-dlg-chb-rows"), labelText: this.textPrintHeadings }); this.spnMarginTop = new Common.UI.MetricSpinner({ el: $("#printadv-dlg-spin-margin-top"), step: 0.1, width: 115, defaultUnit: "cm", value: "0 cm", maxValue: 48.25, minValue: 0 }); this.spinners.push(this.spnMarginTop); this.spnMarginBottom = new Common.UI.MetricSpinner({ el: $("#printadv-dlg-spin-margin-bottom"), step: 0.1, width: 115, defaultUnit: "cm", value: "0 cm", maxValue: 48.25, minValue: 0 }); this.spinners.push(this.spnMarginBottom); this.spnMarginLeft = new Common.UI.MetricSpinner({ el: $("#printadv-dlg-spin-margin-left"), step: 0.1, width: 115, defaultUnit: "cm", value: "0.19 cm", maxValue: 48.25, minValue: 0 }); this.spinners.push(this.spnMarginLeft); this.spnMarginRight = new Common.UI.MetricSpinner({ el: $("#printadv-dlg-spin-margin-right"), step: 0.1, width: 115, defaultUnit: "cm", value: "0.19 cm", maxValue: 48.25, minValue: 0 }); this.spinners.push(this.spnMarginRight); this.btnHide = new Common.UI.Button({ el: $("#printadv-dlg-btn-hide") }); this.btnHide.on("click", _.bind(this.handlerShowDetails, this)); this.panelDetails = $("#printadv-dlg-content-to-hide"); this.updateMetricUnit(); this.options.afterrender && this.options.afterrender.call(this); }, setRange: function (value) { (value == c_oAscPrintType.ActiveSheets) ? this.radioCurrent.setValue(true) : ((value == c_oAscPrintType.EntireWorkbook) ? this.radioAll.setValue(true) : this.radioSelection.setValue(true)); }, setLayout: function (value) {}, getRange: function () { return (this.radioCurrent.getValue() ? c_oAscPrintType.ActiveSheets : (this.radioAll.getValue() ? c_oAscPrintType.EntireWorkbook : c_oAscPrintType.Selection)); }, getLayout: function () {}, onRadioRangeChange: function (radio, newvalue) { if (newvalue) { this.fireEvent("changerange", this); } }, updateMetricUnit: function () { if (this.spinners) { for (var i = 0; i < this.spinners.length; i++) { var spinner = this.spinners[i]; spinner.setDefaultUnit(Common.Utils.Metric.metricName[Common.Utils.Metric.getCurrentMetric()]); spinner.setStep(Common.Utils.Metric.getCurrentMetric() == Common.Utils.Metric.c_MetricUnits.cm ? 0.1 : 1); } } }, handlerShowDetails: function (btn) { if (!this.extended) { this.extended = true; this.panelDetails.css({ "display": "none" }); this.setHeight(286); btn.setCaption(this.textShowDetails); } else { this.extended = false; this.panelDetails.css({ "display": "block" }); this.setHeight(482); btn.setCaption(this.textHideDetails); } }, textTitle: "Print Settings", strLeft: "Left", strRight: "Right", strTop: "Top", strBottom: "Bottom", strPortrait: "Portrait", strLandscape: "Landscape", textPrintGrid: "Print Gridlines", textPrintHeadings: "Print Rows and Columns Headings", textPageSize: "Page Size", textPageOrientation: "Page Orientation", strMargins: "Margins", strPrint: "Print", btnPrint: "Save & Print", textPrintRange: "Print Range", textLayout: "Layout", textCurrentSheet: "Current Sheet", textAllSheets: "All Sheets", textSelection: "Selection", textActualSize: "Actual Size", textFit: "Fit to width", textShowDetails: "Show Details", cancelButtonText: "Cancel", textHideDetails: "Hide Details" }, SSE.Views.PrintSettings || {})); });