2019-04-05 11:28:51 +00:00
/ *
*
* ( c ) Copyright Ascensio System SIA 2010 - 2019
*
* 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 20 A - 12 Ernesta Birznieka - Upisha
* street , Riga , Latvia , EU , LV - 1050.
*
* 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
*
* /
/ * *
* WatermarkSettingsDialog . js . js
*
* Created by Julia Radzhabova on 04.04 . 2019
* Copyright ( c ) 2019 Ascensio System SIA . All rights reserved .
*
* /
define ( [ 'text!documenteditor/main/app/template/WatermarkSettings.template' ,
'common/main/lib/util/utils' ,
'common/main/lib/component/RadioBox' ,
'common/main/lib/component/InputField' ,
'common/main/lib/view/AdvancedSettingsWindow'
] , function ( template ) { 'use strict' ;
2019-05-08 11:38:39 +00:00
DE . Views . WatermarkText = new ( function ( ) {
var langs ;
var _get = function ( ) {
if ( langs )
return langs ;
langs = [ ] ;
try {
var langJson = Common . Utils . getConfigJson ( 'resources/watermark/wm-text.json' ) ;
for ( var lang in langJson ) {
var val = Common . util . LanguageInfo . getLocalLanguageCode ( lang ) ;
if ( val ) {
langs . push ( { code : val , name : Common . util . LanguageInfo . getLocalLanguageName ( val ) [ 1 ] , shortname : Common . util . LanguageInfo . getLocalLanguageName ( val ) [ 0 ] , text : langJson [ lang ] } ) ;
}
}
langs . sort ( function ( a , b ) {
if ( a . shortname < b . shortname ) return - 1 ;
if ( a . shortname > b . shortname ) return 1 ;
return 0 ;
} ) ;
}
catch ( e ) {
}
return langs ;
} ;
return {
get : _get
} ;
} ) ( ) ;
2019-04-05 11:28:51 +00:00
DE . Views . WatermarkSettingsDialog = Common . Views . AdvancedSettingsWindow . extend ( _ . extend ( {
options : {
contentWidth : 400 ,
height : 442
} ,
initialize : function ( options ) {
var me = this ;
_ . extend ( this . options , {
title : this . textTitle ,
template : _ . template (
[
'<div class="box" style="height:' + ( me . options . height - 85 ) + 'px;">' ,
'<div class="content-panel" style="padding: 10px 5px;"><div class="inner-content">' ,
'<div class="settings-panel active">' ,
template ,
'</div></div>' ,
'</div>' ,
'</div>' ,
'<div class="footer center">' ,
'<button class="btn normal dlg-btn primary" result="ok" style="margin-right: 10px;">' + me . okButtonText + '</button>' ,
'<button class="btn normal dlg-btn" result="cancel">' + me . cancelButtonText + '</button>' ,
'</div>'
] . join ( '' )
) ( {
scope : this
} )
} , options ) ;
this . handler = options . handler ;
this . props = options . props ;
this . fontStore = options . fontStore ;
this . api = options . api ;
2019-05-06 11:41:58 +00:00
this . textControls = [ ] ;
this . imageControls = [ ] ;
2019-06-17 14:05:27 +00:00
this . fontName = 'Arial' ;
2019-04-05 11:28:51 +00:00
Common . Views . AdvancedSettingsWindow . prototype . initialize . call ( this , this . options ) ;
} ,
render : function ( ) {
Common . Views . AdvancedSettingsWindow . prototype . render . call ( this ) ;
var me = this ;
this . radioNone = new Common . UI . RadioBox ( {
el : $ ( '#watermark-radio-none' ) ,
name : 'asc-radio-watermark-type' ,
labelText : this . textNone ,
2019-05-06 11:41:58 +00:00
checked : false
2019-04-05 11:28:51 +00:00
} ) ;
2019-04-05 12:03:01 +00:00
this . radioNone . on ( 'change' , _ . bind ( function ( field , newValue , eOpts ) {
if ( newValue ) {
// disable text and image
2019-06-17 14:05:27 +00:00
this . props . put _Type ( Asc . c _oAscWatermarkType . None ) ;
this . disableControls ( Asc . c _oAscWatermarkType . None ) ;
2019-04-05 12:03:01 +00:00
}
} , this ) ) ;
2019-04-05 11:28:51 +00:00
this . radioImage = new Common . UI . RadioBox ( {
el : $ ( '#watermark-radio-image' ) ,
name : 'asc-radio-watermark-type' ,
labelText : this . textImageW ,
2019-05-06 11:41:58 +00:00
checked : false
2019-04-05 11:28:51 +00:00
} ) ;
2019-04-05 12:03:01 +00:00
this . radioImage . on ( 'change' , _ . bind ( function ( field , newValue , eOpts ) {
if ( newValue ) {
// disable text
2019-06-17 14:05:27 +00:00
this . props . put _Type ( Asc . c _oAscWatermarkType . Image ) ;
this . disableControls ( Asc . c _oAscWatermarkType . Image ) ;
2019-04-05 12:03:01 +00:00
}
} , this ) ) ;
2019-04-05 11:28:51 +00:00
this . radioText = new Common . UI . RadioBox ( {
el : $ ( '#watermark-radio-text' ) ,
name : 'asc-radio-watermark-type' ,
labelText : this . textTextW ,
checked : true
} ) ;
2019-04-05 12:03:01 +00:00
this . radioText . on ( 'change' , _ . bind ( function ( field , newValue , eOpts ) {
if ( newValue ) {
// disable image
2019-06-17 14:05:27 +00:00
this . props . put _Type ( Asc . c _oAscWatermarkType . Text ) ;
this . disableControls ( Asc . c _oAscWatermarkType . Text ) ;
2019-04-05 12:03:01 +00:00
}
} , this ) ) ;
2019-04-05 11:28:51 +00:00
// Image watermark
this . btnFromFile = new Common . UI . Button ( {
el : $ ( '#watermark-from-file' )
} ) ;
this . btnFromFile . on ( 'click' , _ . bind ( function ( btn ) {
2019-06-17 14:05:27 +00:00
this . props . showFileDialog ( ) ;
2019-04-05 11:28:51 +00:00
} , this ) ) ;
2019-05-06 11:41:58 +00:00
this . imageControls . push ( this . btnFromFile ) ;
2019-04-05 11:28:51 +00:00
this . btnFromUrl = new Common . UI . Button ( {
el : $ ( '#watermark-from-url' )
} ) ;
2019-06-17 14:05:27 +00:00
this . btnFromUrl . on ( 'click' , _ . bind ( this . insertFromUrl , this ) ) ;
2019-05-06 11:41:58 +00:00
this . imageControls . push ( this . btnFromUrl ) ;
2019-04-05 11:28:51 +00:00
this . _arrScale = [
{ displayValue : this . textAuto , value : - 1 } ,
{ displayValue : '500%' , value : 500 } ,
{ displayValue : '200%' , value : 200 } ,
{ displayValue : '150%' , value : 150 } ,
{ displayValue : '100%' , value : 100 } ,
{ displayValue : '50%' , value : 50 }
] ;
this . cmbScale = new Common . UI . ComboBox ( {
el : $ ( '#watermark-combo-scale' ) ,
cls : 'input-group-nr' ,
menuStyle : 'min-width: 90px;' ,
data : this . _arrScale
} ) . on ( 'selected' , _ . bind ( function ( combo , record ) {
} , this ) ) ;
this . cmbScale . setValue ( this . _arrScale [ 0 ] . value ) ;
2019-05-06 11:41:58 +00:00
this . imageControls . push ( this . cmbScale ) ;
2019-04-05 11:28:51 +00:00
// Text watermark
2019-05-08 11:38:39 +00:00
this . cmbLang = new Common . UI . ComboBox ( {
el : $ ( '#watermark-combo-lang' ) ,
cls : 'input-group-nr' ,
editable : false ,
menuStyle : 'min-width: 100%;max-height: 210px;' ,
scrollAlwaysVisible : true ,
data : [ ]
} ) . on ( 'selected' , _ . bind ( function ( combo , record ) {
this . loadWMText ( record ) ;
} , this ) ) ;
this . textControls . push ( this . cmbLang ) ;
2019-04-05 11:28:51 +00:00
this . cmbText = new Common . UI . ComboBox ( {
el : $ ( '#watermark-combo-text' ) ,
cls : 'input-group-nr' ,
2019-05-08 11:38:39 +00:00
menuStyle : 'min-width: 100%;max-height: 210px;' ,
scrollAlwaysVisible : true ,
displayField : 'value' ,
data : [ { value : "ASAP" } , { value : "CONFIDENTIAL" } , { value : "COPY" } , { value : "DO NOT COPY" } , { value : "DRAFT" } , { value : "ORIGINAL" } , { value : "PERSONAL" } , { value : "SAMPLE" } , { value : "TOP SECRET" } , { value : "URGENT" } ]
2019-04-05 11:28:51 +00:00
} ) . on ( 'selected' , _ . bind ( function ( combo , record ) {
} , this ) ) ;
2019-05-08 11:38:39 +00:00
this . cmbText . setValue ( this . cmbText . options . data [ 0 ] . value ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . cmbText ) ;
2019-04-05 11:28:51 +00:00
this . cmbFonts = new Common . UI . ComboBoxFonts ( {
el : $ ( '#watermark-fonts' ) ,
cls : 'input-group-nr' ,
style : 'width: 142px;' ,
menuCls : 'scrollable-menu' ,
menuStyle : 'min-width: 100%;max-height: 270px;' ,
store : new Common . Collections . Fonts ( ) ,
recent : 0 ,
hint : this . tipFontName
2019-06-17 14:05:27 +00:00
} ) . on ( 'selected' , _ . bind ( function ( combo , record ) {
this . fontName = record . name ;
} , this ) ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . cmbFonts ) ;
2019-04-05 11:28:51 +00:00
var data = [
{ value : - 1 , displayValue : this . textAuto } ,
{ value : 8 , displayValue : "8" } ,
{ value : 9 , displayValue : "9" } ,
{ value : 10 , displayValue : "10" } ,
{ value : 11 , displayValue : "11" } ,
{ value : 12 , displayValue : "12" } ,
{ value : 14 , displayValue : "14" } ,
{ value : 16 , displayValue : "16" } ,
{ value : 18 , displayValue : "18" } ,
{ value : 20 , displayValue : "20" } ,
{ value : 22 , displayValue : "22" } ,
{ value : 24 , displayValue : "24" } ,
{ value : 26 , displayValue : "26" } ,
{ value : 28 , displayValue : "28" } ,
{ value : 36 , displayValue : "36" } ,
{ value : 48 , displayValue : "48" } ,
{ value : 72 , displayValue : "72" }
] ;
this . cmbFontSize = new Common . UI . ComboBox ( {
el : $ ( '#watermark-font-size' ) ,
cls : 'input-group-nr' ,
style : 'width: 55px;' ,
menuCls : 'scrollable-menu' ,
menuStyle : 'min-width: 55px;max-height: 270px;' ,
hint : this . tipFontSize ,
data : data
} ) ;
// this.cmbFontSize.on('selected', _.bind(this.onFontSizeSelect, this));
this . cmbFontSize . setValue ( - 1 ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . cmbFontSize ) ;
2019-04-05 11:28:51 +00:00
this . btnBold = new Common . UI . Button ( {
cls : 'btn-toolbar' ,
iconCls : 'btn-bold' ,
enableToggle : true ,
hint : this . textBold
} ) ;
this . btnBold . render ( $ ( '#watermark-bold' ) ) ;
// this.btnBold.on('click', _.bind(this.onBoldClick, this));
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . btnBold ) ;
2019-04-05 11:28:51 +00:00
this . btnItalic = new Common . UI . Button ( {
cls : 'btn-toolbar' ,
iconCls : 'btn-italic' ,
enableToggle : true ,
hint : this . textItalic
} ) ;
this . btnItalic . render ( $ ( '#watermark-italic' ) ) ;
// this.btnItalic.on('click', _.bind(this.onItalicClick, this));
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . btnItalic ) ;
2019-04-05 11:28:51 +00:00
this . btnUnderline = new Common . UI . Button ( {
cls : 'btn-toolbar' ,
iconCls : 'btn-underline' ,
enableToggle : true ,
hint : this . textUnderline
} ) ;
this . btnUnderline . render ( $ ( '#watermark-underline' ) ) ;
// this.btnUnderline.on('click', _.bind(this.onUnderlineClick, this));
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . btnUnderline ) ;
2019-04-05 11:28:51 +00:00
this . btnStrikeout = new Common . UI . Button ( {
cls : 'btn-toolbar' ,
iconCls : 'btn-strikeout' ,
enableToggle : true ,
hint : this . textStrikeout
} ) ;
this . btnStrikeout . render ( $ ( '#watermark-strikeout' ) ) ;
// this.btnStrikeout.on('click',_.bind(this.onStrikeoutClick, this));
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . btnStrikeout ) ;
2019-04-05 11:28:51 +00:00
var initNewColor = function ( btn , picker _el ) {
if ( btn && btn . cmpEl ) {
btn . currentColor = '#000000' ;
var colorVal = $ ( '<div class="btn-color-value-line"></div>' ) ;
$ ( 'button:first-child' , btn . cmpEl ) . append ( colorVal ) ;
colorVal . css ( 'background-color' , btn . currentColor ) ;
var picker = new Common . UI . ThemeColorPalette ( {
el : $ ( picker _el )
} ) ;
picker . currentColor = btn . currentColor ;
}
btn . menu . cmpEl . on ( 'click' , picker _el + '-new' , _ . bind ( function ( ) {
picker . addNewColor ( ( typeof ( btn . color ) == 'object' ) ? btn . color . color : btn . color ) ;
} , me ) ) ;
picker . on ( 'select' , _ . bind ( me . onColorSelect , me ) ) ;
return picker ;
} ;
this . btnTextColor = new Common . UI . Button ( {
cls : 'btn-toolbar' ,
iconCls : 'btn-fontcolor' ,
hint : this . textColor ,
menu : new Common . UI . Menu ( {
items : [
{
id : 'watermark-auto-color' ,
caption : this . textAuto ,
template : _ . template ( '<a tabindex="-1" type="menuitem"><span class="menu-item-icon" style="background-image: none; width: 12px; height: 12px; margin: 1px 7px 0 -7px; background-color: #000;"></span><%= caption %></a>' )
} ,
{ caption : '--' } ,
{ template : _ . template ( '<div id="watermark-menu-textcolor" style="width: 169px; height: 220px; margin: 10px;"></div>' ) } ,
{ template : _ . template ( '<a id="watermark-menu-textcolor-new" style="padding-left:12px;">' + this . textNewColor + '</a>' ) }
]
} )
} ) ;
this . btnTextColor . render ( $ ( '#watermark-textcolor' ) ) ;
// this.btnTextColor.on('click', _.bind(this.onTextColor, this));
this . mnuTextColorPicker = initNewColor ( this . btnTextColor , "#watermark-menu-textcolor" ) ;
$ ( '#watermark-auto-color' ) . on ( 'click' , _ . bind ( this . onAutoColor , this ) ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . btnTextColor ) ;
2019-04-05 11:28:51 +00:00
2019-06-17 14:05:27 +00:00
this . chTransparency = new Common . UI . CheckBox ( {
el : $ ( '#watermark-chb-transparency' ) ,
labelText : this . textTransparency
2019-04-05 11:28:51 +00:00
} ) ;
2019-06-17 14:05:27 +00:00
this . textControls . push ( this . chTransparency ) ;
2019-04-05 11:28:51 +00:00
this . radioDiag = new Common . UI . RadioBox ( {
el : $ ( '#watermark-radio-diag' ) ,
name : 'asc-radio-watermark-layout' ,
labelText : this . textDiagonal ,
checked : true
} ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . radioDiag ) ;
2019-04-05 11:28:51 +00:00
this . radioHor = new Common . UI . RadioBox ( {
el : $ ( '#watermark-radio-hor' ) ,
name : 'asc-radio-watermark-layout' ,
labelText : this . textHor
} ) ;
2019-05-06 11:41:58 +00:00
this . textControls . push ( this . radioHor ) ;
2019-04-05 11:28:51 +00:00
this . afterRender ( ) ;
} ,
onColorSelect : function ( picker , color ) {
var clr _item = this . btnTextColor . menu . $el . find ( '#watermark-auto-color > a' ) ;
clr _item . hasClass ( 'selected' ) && clr _item . removeClass ( 'selected' ) ;
this . isAutoColor = false ;
var clr = ( typeof ( color ) == 'object' ) ? color . color : color ;
this . btnTextColor . currentColor = color ;
$ ( '.btn-color-value-line' , this . btnTextColor . cmpEl ) . css ( 'background-color' , '#' + clr ) ;
picker . currentColor = color ;
// this.HFObject.setTextColor(Common.Utils.ThemeColor.getRgbColor(color));
} ,
updateThemeColors : function ( ) {
this . mnuTextColorPicker . updateColors ( Common . Utils . ThemeColor . getEffectColors ( ) , Common . Utils . ThemeColor . getStandartColors ( ) ) ;
} ,
addNewColor : function ( picker , btn ) {
picker . addNewColor ( ( typeof ( btn . color ) == 'object' ) ? btn . color . color : btn . color ) ;
} ,
onAutoColor : function ( e ) {
var clr _item = this . btnTextColor . menu . $el . find ( '#watermark-auto-color > a' ) ;
! clr _item . hasClass ( 'selected' ) && clr _item . addClass ( 'selected' ) ;
this . isAutoColor = true ;
var color = "000" ;
this . btnTextColor . currentColor = color ;
$ ( '.btn-color-value-line' , this . btnTextColor . cmpEl ) . css ( 'background-color' , '#' + color ) ;
this . mnuTextColorPicker . currentColor = color ;
} ,
afterRender : function ( ) {
this . cmbFonts . fillFonts ( this . fontStore ) ;
2019-06-17 14:05:27 +00:00
this . cmbFonts . selectRecord ( this . fontStore . findWhere ( { name : this . fontName } ) ) ;
2019-04-05 11:28:51 +00:00
this . updateThemeColors ( ) ;
this . _setDefaults ( this . props ) ;
} ,
show : function ( ) {
Common . Views . AdvancedSettingsWindow . prototype . show . apply ( this , arguments ) ;
} ,
2019-05-08 11:38:39 +00:00
loadLanguages : function ( ) {
this . languages = DE . Views . WatermarkText . get ( ) ;
var data = [ ] ;
this . languages && this . languages . forEach ( function ( item ) {
data . push ( { displayValue : item . name , value : item . shortname , wmtext : item . text } ) ;
} ) ;
this . cmbLang . setData ( data ) ;
if ( data . length ) {
this . cmbLang . setValue ( 'en' , data [ 0 ] . value ) ;
this . loadWMText ( this . cmbLang . getSelectedRecord ( ) ) ;
} else
this . cmbLang . setDisabled ( true ) ;
} ,
loadWMText : function ( record ) {
if ( ! record ) return ;
var data = [ ] ;
record . wmtext . forEach ( function ( item ) {
data . push ( { value : item } ) ;
} ) ;
this . cmbText . setData ( data ) ;
this . cmbText . setValue ( data [ 0 ] . value ) ;
} ,
2019-06-17 14:05:27 +00:00
insertFromUrl : function ( ) {
var me = this ;
( new Common . Views . ImageFromUrlDialog ( {
handler : function ( result , value ) {
if ( result == 'ok' ) {
var checkUrl = value . replace ( / /g , '' ) ;
if ( ! _ . isEmpty ( checkUrl ) ) {
me . props . put _ImageUrl ( checkUrl ) ;
}
}
}
} ) ) . show ( ) ;
} ,
2019-04-05 11:28:51 +00:00
_setDefaults : function ( props ) {
2019-05-08 11:38:39 +00:00
this . loadLanguages ( ) ;
2019-04-05 11:28:51 +00:00
if ( props ) {
2019-06-17 14:05:27 +00:00
props . put _DivId ( 'watermark-texture-img' ) ;
props . put _Api ( this . api ) ;
var val = props . get _Type ( ) ;
if ( val == Asc . c _oAscWatermarkType . None ) {
this . radioNone . setValue ( true ) ;
} else if ( val == Asc . c _oAscWatermarkType . Image ) {
this . radioImage . setValue ( true ) ;
val = props . get _Scale ( ) || - 1 ;
this . cmbScale . setValue ( ( val < 0 ) ? - 1 : val * 100 , ( val * 100 ) + ' %' ) ;
2019-04-05 11:28:51 +00:00
} else {
2019-06-17 14:05:27 +00:00
this . radioText . setValue ( true ) ;
val = props . get _Text ( ) ;
val && this . cmbText . setValue ( val ) ;
! props . get _IsDiagonal ( ) && this . radioHor . setValue ( true ) ;
this . chTransparency . setValue ( props . get _Opacity ( ) < 255 ) ;
2019-04-05 11:28:51 +00:00
2019-06-17 14:05:27 +00:00
val = props . get _TextPr ( ) ;
if ( val ) {
var font = val . get _FontFamily ( ) . get _Name ( ) ;
if ( font ) {
var rec = this . cmbFonts . store . findWhere ( { name : font } ) ;
this . fontName = ( rec ) ? rec . get ( 'name' ) : font ;
this . cmbFonts . setValue ( this . fontName ) ;
}
this . cmbFontSize . setValue ( val . get _FontSize ( ) ) ;
this . btnBold . toggle ( val . get _Bold ( ) ) ;
this . btnItalic . toggle ( val . get _Italic ( ) ) ;
this . btnUnderline . toggle ( val . get _Underline ( ) ) ;
this . btnStrikeout . toggle ( val . get _Strikeout ( ) ) ;
// val = props.get_Color();
// this.isSystemColor = (val===null);
// if (val) {
// val = Common.Utils.ThemeColor.getHexColor(val.get_r(), val.get_g(), val.get_b());
// this.colors.selectByRGB(val,true);
// } else {
// this.colors.clearSelection();
// var clr_item = this.btnColor.menu.$el.find('#control-settings-system-color > a');
// !clr_item.hasClass('selected') && clr_item.addClass('selected');
// val = Common.Utils.ThemeColor.getHexColor(220, 220, 220);
// }
// this.btnColor.setColor(val);
}
}
2019-04-05 11:28:51 +00:00
}
} ,
getSettings : function ( ) {
2019-06-17 14:05:27 +00:00
var props = this . props ;
2019-04-05 11:28:51 +00:00
2019-06-17 14:05:27 +00:00
var val = this . props . get _Type ( ) ;
if ( val == Asc . c _oAscWatermarkType . Image ) {
val = parseInt ( this . cmbScale . getValue ( ) ) ;
val = props . put _Scale ( ( val < 0 ) ? val : val / 100 ) ;
2019-04-05 11:28:51 +00:00
} else {
2019-06-17 14:05:27 +00:00
props . put _Text ( this . cmbText . getValue ( ) ) ;
props . put _IsDiagonal ( this . radioDiag . getValue ( ) ) ;
props . put _Opacity ( ( this . chTransparency . getValue ( ) == 'checked' ) ? 128 : 255 ) ;
2019-04-05 11:28:51 +00:00
2019-06-17 14:05:27 +00:00
val = props . get _TextPr ( ) || new Asc . CTextProp ( ) ;
if ( val ) {
val . put _FontSize ( parseInt ( this . cmbFontSize . getValue ( ) ) ) ;
var font = new AscCommon . asc _CTextFontFamily ( ) ;
font . put _Name ( this . fontName ) ;
font . put _Index ( - 1 ) ;
val . put _FontFamily ( font ) ;
val . put _Bold ( this . btnBold . pressed ) ;
val . put _Italic ( this . btnItalic . pressed ) ;
val . put _Underline ( this . btnUnderline . pressed ) ;
val . put _Strikeout ( this . btnStrikeout . pressed ) ;
// if (this.isSystemColor) {
// props.put_Color(null);
// } else {
// var color = Common.Utils.ThemeColor.getRgbColor(this.colors.getColor());
// props.put_Color(color.get_r(), color.get_g(), color.get_b());
// }
props . put _TextPr ( val ) ;
}
}
2019-04-05 11:28:51 +00:00
2019-06-17 14:05:27 +00:00
return this . props ;
2019-04-05 11:28:51 +00:00
} ,
2019-05-06 11:41:58 +00:00
disableControls : function ( type ) { // 0 - none, 1 - text, 2 - image
2019-06-17 14:05:27 +00:00
var disable = ( type != Asc . c _oAscWatermarkType . Image ) ;
2019-05-06 11:41:58 +00:00
_ . each ( this . imageControls , function ( item ) {
item . setDisabled ( disable ) ;
} ) ;
2019-06-17 14:05:27 +00:00
disable = ( type != Asc . c _oAscWatermarkType . Text ) ;
2019-05-06 11:41:58 +00:00
_ . each ( this . textControls , function ( item ) {
item . setDisabled ( disable ) ;
} ) ;
2019-05-08 11:38:39 +00:00
this . cmbLang . setDisabled ( disable || this . languages . length < 1 ) ;
2019-05-06 11:41:58 +00:00
} ,
2019-04-05 11:28:51 +00:00
onDlgBtnClick : function ( event ) {
var me = this ;
var state = ( typeof ( event ) == 'object' ) ? event . currentTarget . attributes [ 'result' ] . value : event ;
if ( state == 'ok' ) {
this . handler && this . handler . call ( this , state , this . getSettings ( ) ) ;
}
this . close ( ) ;
} ,
textTitle : 'Watermark Settings' ,
textNone : 'None' ,
textImageW : 'Image watermark' ,
textTextW : 'Text watermark' ,
textFromUrl : 'From URL' ,
textFromFile : 'From File' ,
textScale : 'Scale' ,
textAuto : 'Auto' ,
textText : 'Text' ,
textFont : 'Font' ,
tipFontName : 'Font Name' ,
tipFontSize : 'Font Size' ,
textBold : 'Bold' ,
textItalic : 'Italic' ,
textUnderline : 'Underline' ,
textStrikeout : 'Strikeout' ,
2019-06-17 14:05:27 +00:00
textTransparency : 'Semitransparent' ,
2019-04-05 11:28:51 +00:00
textLayout : 'Layout' ,
textDiagonal : 'Diagonal' ,
textHor : 'Horizontal' ,
cancelButtonText : 'Cancel' ,
okButtonText : 'Ok' ,
textColor : 'Text color' ,
2019-05-08 11:38:39 +00:00
textNewColor : 'Add New Custom Color' ,
textLanguage : 'Language'
2019-04-05 11:28:51 +00:00
} , DE . Views . WatermarkSettingsDialog || { } ) )
} ) ;