@progress/kendo-ui
Version:
This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.
1 lines • 52.9 kB
JavaScript
module.exports=function(a){var i={};function s(e){if(i[e])return i[e].exports;var t=i[e]={exports:{},id:e,loaded:!1};return a[e].call(t.exports,t,t.exports,s),t.loaded=!0,t.exports}return s.m=a,s.c=i,s.p="",s(0)}({0:function(e,t,a){e.exports=a(1698)},3:function(e,t){e.exports=function(){throw Error("define cannot be used indirect")}},8:function(e,t){e.exports=require("../kendo.validator")},20:function(e,t){e.exports=require("../kendo.core")},1671:function(e,t){e.exports=require("../kendo.binder")},1698:function(e,t,a){var i;a(3),a=[a(20),a(1671),a(8)],void 0===(t="function"==typeof(i=function(){var l=window.kendo,n=l.jQuery,t=l.data.ObservableObject,i=l.spreadsheet.messages.dialogs={apply:"Apply",save:"Save",cancel:"Cancel",remove:"Remove",retry:"Retry",revert:"Revert",okText:"OK",formatCellsDialog:{title:"Format",categories:{number:"Number",currency:"Currency",date:"Date"}},fontFamilyDialog:{title:"Font"},fontSizeDialog:{title:"Font size"},bordersDialog:{title:"Borders"},alignmentDialog:{title:"Alignment",buttons:{justtifyLeft:"Align left",justifyCenter:"Center",justifyRight:"Align right",justifyFull:"Justify",alignTop:"Align top",alignMiddle:"Align middle",alignBottom:"Align bottom"}},mergeDialog:{title:"Merge cells",buttons:{mergeCells:"Merge all",mergeHorizontally:"Merge horizontally",mergeVertically:"Merge vertically",unmerge:"Unmerge"}},freezeDialog:{title:"Freeze panes",buttons:{freezePanes:"Freeze panes",freezeRows:"Freeze rows",freezeColumns:"Freeze columns",unfreeze:"Unfreeze panes"}},confirmationDialog:{text:"Are you sure you want to remove this sheet?",title:"Sheet remove"},validationDialog:{title:"Data Validation",hintMessage:"Please enter a valid {0} value {1}.",hintTitle:"Validation {0}",criteria:{any:"Any value",number:"Number",text:"Text",date:"Date",custom:"Custom Formula",list:"List"},comparers:{greaterThan:"greater than",lessThan:"less than",between:"between",notBetween:"not between",equalTo:"equal to",notEqualTo:"not equal to",greaterThanOrEqualTo:"greater than or equal to",lessThanOrEqualTo:"less than or equal to"},comparerMessages:{greaterThan:"greater than {0}",lessThan:"less than {0}",between:"between {0} and {1}",notBetween:"not between {0} and {1}",equalTo:"equal to {0}",notEqualTo:"not equal to {0}",greaterThanOrEqualTo:"greater than or equal to {0}",lessThanOrEqualTo:"less than or equal to {0}",custom:"that satisfies the formula: {0}"},labels:{criteria:"Criteria",comparer:"Comparer",min:"Min",max:"Max",value:"Value",start:"Start",end:"End",onInvalidData:"On invalid data",rejectInput:"Reject input",showWarning:"Show warning",showHint:"Show hint",hintTitle:"Hint title",hintMessage:"Hint message",ignoreBlank:"Ignore blank",showListButton:"Display button to show list",showCalendarButton:"Display button to show calendar"},placeholders:{typeTitle:"Type title",typeMessage:"Type message"}},exportAsDialog:{title:"Export...",defaultFileName:"Workbook",xlsx:{description:"Excel Workbook (.xlsx)"},pdf:{description:"Portable Document Format (.pdf)",area:{workbook:"Entire Workbook",sheet:"Active Sheet",selection:"Selection"},paper:{a2:"A2 (420 mm × 594 mm)",a3:"A3 (297 mm x 420 mm)",a4:"A4 (210 mm x 297 mm)",a5:"A5 (148 mm x 210 mm)",b3:"B3 (353 mm × 500 mm)",b4:"B4 (250 mm x 353 mm)",b5:"B5 (176 mm x 250 mm)",folio:'Folio (8.5" x 13")',legal:'Legal (8.5" x 14")',letter:'Letter (8.5" x 11")',tabloid:'Tabloid (11" x 17")',executive:'Executive (7.25" x 10.5")'},margin:{normal:"Normal",narrow:"Narrow",wide:"Wide"}},labels:{scale:"Scale",fit:"Fit to page",fileName:"File name",saveAsType:"Save as type",exportArea:"Export",paperSize:"Paper size",margins:"Margins",orientation:"Orientation",print:"Print",guidelines:"Guidelines",center:"Center",horizontally:"Horizontally",vertically:"Vertically"}},modifyMergedDialog:{errorMessage:"Cannot change part of a merged cell."},rangeDisabledDialog:{errorMessage:"Destination range contains disabled cells."},intersectsArrayDialog:{errorMessage:"You cannot alter part of an array"},incompatibleRangesDialog:{errorMessage:"Incompatible ranges"},noFillDirectionDialog:{errorMessage:"Cannot determine fill direction"},duplicateSheetNameDialog:{errorMessage:"Duplicate sheet name"},overflowDialog:{errorMessage:"Cannot paste, because the copy area and the paste area are not the same size and shape."},useKeyboardDialog:{title:"Copying and pasting",errorMessage:"These actions cannot be invoked through the menu. Please use the keyboard shortcuts instead:",labels:{forCopy:"for copy",forCut:"for cut",forPaste:"for paste"}},unsupportedSelectionDialog:{errorMessage:"That action cannot be performed on multiple selection."},linkDialog:{title:"Hyperlink",labels:{text:"Text",url:"Address",removeLink:"Remove link"}},insertCommentDialog:{title:"Insert comment",labels:{comment:"Comment",removeComment:"Remove comment"}},insertImageDialog:{title:"Insert image",info:"Drag an image here, or click to select",typeError:"Please select a JPEG, PNG or GIF image"}},c={},o=(l.spreadsheet.dialogs={register:function(e,t){c[e]=t},registered:function(e){return!!c[e]},create:function(e,t){var a=c[e];if(a)return new a(t)}},l.spreadsheet.SpreadsheetDialog=l.Observable.extend({init:function(e){l.Observable.fn.init.call(this,e);this.options=P(n.extend(true,{},this.options,e));this.bind(this.events,e)},events:["close","activate"],options:{autoFocus:true},dialog:function(){if(!this._dialog){var e={autoFocus:false,scrollable:false,resizable:false,modal:true,visible:false,width:this.options.width||320,title:this.options.title,open:function(){this.center()},close:this._onDialogClose.bind(this),activate:this._onDialogActivate.bind(this),deactivate:this._onDialogDeactivate.bind(this)};this._dialog=n("<div class='k-spreadsheet-window k-action-window k-popup-edit-form' />").addClass(this.options.className||"").append(l.template(this.options.template)({messages:l.spreadsheet.messages.dialogs||i,ns:l.ns,errors:this.options.errors})).kendoWindow(e).data("kendoWindow")}return this._dialog},_onDialogClose:function(){this.trigger("close",{action:this._action})},_onDialogActivate:function(){this.trigger("activate")},_onDialogDeactivate:function(){this.trigger("deactivate");this.destroy()},destroy:function(){if(this._dialog){this._dialog.destroy();this._dialog=null}},open:function(){this.dialog().open();this.dialog().element.find(".k-button-solid-primary").trigger("focus")},apply:function(){this.close()},close:function(){this._action="close";this.dialog().close()}}));function u(e,t){return l.spreadsheet.formatting.text(e,t)}var r=l.spreadsheet.FormatCellsViewModel=t.extend({init:function(e){t.fn.init.call(this,e);this.useCategory(this.category)},useCategory:function(e){var t=e&&e.type||"number";var a=t=="currency";this.category=e;this.set("showCurrencyFilter",a&&this.currencies.length>1);if(!a)this.set("formats",this.allFormats[t+"Formats"]);else this.currency(this.currencies[0]);this.useFirstFormat()},useFirstFormat:function(){if(this.formats.length)this.set("format",this.formats[0].value)},currency:function(e){if(e!==undefined){this._currency=e;var t=e.value;var a=[{currency:t,decimals:true},{currency:t,decimals:true,iso:true},{currency:t,decimals:false}];a=a.map(function(e){e=r.convert.currency(e);return{value:e,name:u(1e3,e)}});this.set("formats",a);this.useFirstFormat()}return this._currency||this.currencies[0]},categoryFilter:function(e){if(e!==undefined)this.useCategory(e);return this.category},preview:function(){var e=this.get("format");var t=this.value||0;if(e&&e.length)return u(t,e);else return t}});function p(e,t){var a=[];var i=[];for(var s=0;s<t.length;s++)if(n.inArray(t[s][e],i)==-1){a.push(t[s]);i.push(t[s][e])}return a}r.convert={currency:function(e){function t(e,t){return new Array(t+1).join(e)}var a=e.currency;var i=a.pattern[1];if(e.decimals)i=i.replace(/n/g,"n"+a["."]+t("0",a.decimals));if(e.iso)i='"'+a.abbr+'" '+i.replace(/\s*\$\s*/g,"");else i=i.replace(/\$/g,JSON.stringify(a.symbol));i=i.replace(/n/g,"?");return i},date:function(e){if(/T|Z/.test(e))return"";return e.toLowerCase().replace(/tt/g,"AM/PM").replace(/'/g,'"')}};var a=o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.formatCellsDialog||i;var a={title:t.title,categories:[{type:"number",name:t.categories.number},{type:"currency",name:t.categories.currency},{type:"date",name:t.categories.date}]};o.fn.init.call(this,n.extend(a,e));this._generateFormats()},options:{className:"k-spreadsheet-format-cells",template:"<div class='k-edit-form-container'>"+"<div class='k-root-tabs' data-#:ns#role='tabstrip' "+"data-#:ns#text-field='name' "+"data-#:ns#bind='source: categories, value: categoryFilter' "+"data-#:ns#animation='false'></div>"+"<div class='k-spreadsheet-preview' data-#:ns#bind='text: preview'></div>"+"<script type='text/x-kendo-template' id='format-item-template'>"+"\\#: data.name \\#"+"<\/script>"+"<select data-#:ns#role='dropdownlist' class='k-format-filter' "+"data-#:ns#text-field='description' "+"data-#:ns#value-field='value.name' "+"data-#:ns#bind='visible: showCurrencyFilter, value: currency, source: currencies'></select>"+"<ul data-#:ns#role='staticlist' tabindex='0' "+"id='formats-list' "+"aria-label='formats list' "+"class='k-list k-reset' "+"data-#:ns#template='format-item-template' "+"data-#:ns#value-primitive='true' "+"data-#:ns#value-field='value' "+"data-#:ns#bind='source: formats, value: format'></ul>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#: messages.apply #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: close'><span class='k-button-text'>#: messages.cancel #</span></button>"+"</div>"+"</div>"},_generateFormats:function(){var e=this.options;if(!e.currencies)e.currencies=a.currenciesFrom(l.cultures);if(!e.numberFormats)e.numberFormats=[{value:"#.00%",name:"100.00%"},{value:"#%",name:"100%"},{value:"#.00",name:"1024.00"},{value:"#,###.00",name:"1,024.00"}];if(!e.dateFormats){var t=l.cultures.current.calendars.standard.patterns;e.dateFormats=p("value",n.map(t,function(e){e=r.convert.date(e);if(!e)return;return{value:e,name:u(34567.7678,e)}}))}},open:function(e){var t=this.options;var a=e.value();var i=t.categories.slice(0);var s;this.viewModel=new r({currencies:t.currencies.slice(0),allFormats:{numberFormats:t.numberFormats.slice(0),dateFormats:t.dateFormats.slice(0)},categories:i,format:e.format(),category:a instanceof Date?i[2]:i[0],apply:this.apply.bind(this),close:this.close.bind(this),value:a});o.fn.open.call(this);s=this.dialog().element;l.bind(s,this.viewModel);var n=s.find("select.k-format-filter").data("kendoDropDownList");if(t.currencies.length>10)n.setOptions({filter:"contains"});s.find(l.roleSelector("staticlist")).parent().addClass("k-list-wrapper");s.find(".k-tabstrip-item").attr("aria-controls","formats-list")},apply:function(){var e=this.viewModel.format;o.fn.apply.call(this);this.trigger("action",{command:"PropertyChangeCommand",options:{property:"format",value:e}})}}),s=(a.currenciesFrom=function(e){return p("description",n.map(e,function(e,t){if(!/-/.test(t))return;var a=e.numberFormat.currency;var i=l.format("{0} ({1}, {2})",a.name,a.abbr,a.symbol);return{description:i,value:a}}))},l.spreadsheet.dialogs.register("formatCells",a),l.spreadsheet.dialogs.FormatCellsDialog=a,o.extend({options:{className:"k-spreadsheet-message",title:"",messageId:"",text:"",template:"<div class='k-spreadsheet-message-content' data-#:ns#bind='text: text'></div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: close'>"+"<span class='k-button-text'>#= messages.okText #</span>"+"</button>"+"</div>"},open:function(){o.fn.open.call(this);var e=this.options;var t=e.text;if(e.messageId)t=l.getter(e.messageId,true)(l.spreadsheet.messages.dialogs);l.bind(this.dialog().element,{text:t,close:this.close.bind(this)})}})),m=(l.spreadsheet.dialogs.register("message",s),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.confirmationDialog||i;var a={title:t.title,text:t.text};o.fn.init.call(this,n.extend(a,e))},options:{className:"k-spreadsheet-message",messageId:"",template:"<div class='k-spreadsheet-message-content' data-#:ns#bind='text: text'></div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: confirm'>"+"<span class='k-button-text'>#= messages.okText #</span>"+"</button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: cancel'>"+"<span class='k-button-text'>#= messages.cancel #</span>"+"</button>"+"</div>"},open:function(){o.fn.open.call(this);var e=this.options;var t=e.text;if(e.messageId)t=l.getter(e.messageId,true)(l.spreadsheet.messages.dialogs);l.bind(this.dialog().element,{text:t,confirm:this.confirm.bind(this),cancel:this.close.bind(this)})},isConfirmed:function(){return this._confirmed},confirm:function(){this._confirmed=true;this.close()}})),b=(l.spreadsheet.dialogs.register("confirmation",m),o.extend({options:{className:"k-spreadsheet-message",title:"",messageId:"",text:"",template:"<div class='k-spreadsheet-message-content' data-#:ns#bind='text: text'></div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: retry'>"+"<span class='k-button-text'>#= messages.retry #</span>"+"</button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: cancel'>"+"<span class='k-button-text'>#= messages.cancel #</span>"+"</button>"+"</div>"},open:function(){o.fn.open.call(this);var e=this.options;var t=e.text;if(e.messageId)t=l.getter(e.messageId,true)(l.spreadsheet.messages.dialogs);l.bind(this.dialog().element,{text:t,retry:this.retry.bind(this),cancel:this.close.bind(this)})},retry:function(){this._retry=true;this.close()}})),g=(l.spreadsheet.dialogs.register("validationError",b),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.fontFamilyDialog||i;o.fn.init.call(this,n.extend({title:t.title},e));this._list()},options:{template:"<ul class='k-list k-reset'></ul>"},_list:function(){var e=this.dialog().element.find("ul");var t=this.options.fonts;var a=this.options.defaultFont;this.list=new l.ui.StaticList(e,{dataSource:new l.data.DataSource({data:t}),template:"#: data #",value:a,change:this.apply.bind(this)});this.list.dataSource.fetch()},apply:function(e){o.fn.apply.call(this);this.trigger("action",{command:"PropertyChangeCommand",options:{property:"fontFamily",value:e.sender.value()[0]}})}})),h=(l.spreadsheet.dialogs.register("fontFamily",g),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.fontSizeDialog||i;o.fn.init.call(this,n.extend({title:t.title},e));this._list()},options:{template:"<ul class='k-list k-reset'></ul>"},_list:function(){var e=this.dialog().element.find("ul");var t=this.options.sizes;var a=this.options.defaultSize;this.list=new l.ui.StaticList(e,{dataSource:new l.data.DataSource({data:t}),template:"#: data #",value:a,change:this.apply.bind(this)});this.list.dataSource.fetch()},apply:function(e){o.fn.apply.call(this);this.trigger("action",{command:"PropertyChangeCommand",options:{property:"fontSize",value:l.parseInt(e.sender.value()[0])}})}})),f=(l.spreadsheet.dialogs.register("fontSize",h),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.bordersDialog||i;o.fn.init.call(this,n.extend({title:t.title},e));this.element=this.dialog().element;this._borderPalette();this.viewModel=l.observable({apply:this.apply.bind(this),close:this.close.bind(this)});l.bind(this.element.find(".k-action-buttons"),this.viewModel)},options:{width:177,template:"<div></div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#: messages.apply #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: close'><span class='k-button-text'>#: messages.cancel #</span></button>"+"</div>"},apply:function(){o.fn.apply.call(this);var e=this.value();this.trigger("action",{command:"BorderChangeCommand",options:{border:e.type,style:{size:1,color:e.color}}})},_borderPalette:function(){var e=this.dialog().element.find("div").first();this.borderPalette=new l.spreadsheet.BorderPalette(e,{change:this.value.bind(this)})},value:function(e){if(e===undefined)return this._state;else this._state=e}})),v=(l.spreadsheet.dialogs.register("borders",f),o.extend({init:function(e){o.fn.init.call(this,e);this.element=this.dialog().element;this.property=e.property;this.options.title=e.title;this.viewModel=l.observable({apply:this.apply.bind(this),close:this.close.bind(this)});l.bind(this.element.find(".k-action-buttons"),this.viewModel)},options:{template:"<div></div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#: messages.apply #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: close'><span class='k-button-text'>#: messages.cancel #</span></button>"+"</div>"},apply:function(){o.fn.apply.call(this);this.trigger("action",{command:"PropertyChangeCommand",options:{property:this.property,value:this.value()}})},value:function(e){if(e===undefined)return this._value;else this._value=e.value}})),k=v.extend({init:function(e){e.width=177;v.fn.init.call(this,e);this._colorPalette()},_colorPalette:function(){var e=this.dialog().element.find("div").first();this.colorPalette=e.kendoColorPalette({palette:["#ffffff","#000000","#d6ecff","#4e5b6f","#7fd13b","#ea157a","#feb80a","#00addc","#738ac8","#1ab39f","#f2f2f2","#7f7f7f","#a7d6ff","#d9dde4","#e5f5d7","#fad0e4","#fef0cd","#c5f2ff","#e2e7f4","#c9f7f1","#d8d8d8","#595959","#60b5ff","#b3bcca","#cbecb0","#f6a1c9","#fee29c","#8be6ff","#c7d0e9","#94efe3","#bfbfbf","#3f3f3f","#007dea","#8d9baf","#b2e389","#f272af","#fed46b","#51d9ff","#aab8de","#5fe7d5","#a5a5a5","#262626","#003e75","#3a4453","#5ea226","#af0f5b","#c58c00","#0081a5","#425ea9","#138677","#7f7f7f","#0c0c0c","#00192e","#272d37","#3f6c19","#750a3d","#835d00","#00566e","#2c3f71","#0c594f"],change:this.value.bind(this)}).data("kendoColorPalette")}}),x=(l.spreadsheet.dialogs.register("colorPicker",k),v.extend({init:function(e){e.width=268;v.fn.init.call(this,e);this.dialog().setOptions({animation:false});this.dialog().one("activate",this._colorPicker.bind(this))},_colorPicker:function(){var e=this.dialog().element.find("div").first();this.colorPicker=e.kendoFlatColorPicker({change:this.value.bind(this)}).data("kendoFlatColorPicker")}})),y=(l.spreadsheet.dialogs.register("customColor",x),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.alignmentDialog||i;var a={title:t.title,buttons:[{property:"textAlign",value:"left",iconClass:"align-left",text:t.buttons.justtifyLeft},{property:"textAlign",value:"center",iconClass:"align-center",text:t.buttons.justifyCenter},{property:"textAlign",value:"right",iconClass:"align-right",text:t.buttons.justifyRight},{property:"textAlign",value:"justify",iconClass:"align-justify",text:t.buttons.justifyFull},{property:"verticalAlign",value:"top",iconClass:"align-top",text:t.buttons.alignTop},{property:"verticalAlign",value:"center",iconClass:"align-middle",text:t.buttons.alignMiddle},{property:"verticalAlign",value:"bottom",iconClass:"align-bottom",text:t.buttons.alignBottom}]};o.fn.init.call(this,n.extend(a,e));this._list()},options:{template:"<ul class='k-list k-reset'></ul>"},_list:function(){var e=this.dialog().element.find("ul");this.list=new l.ui.StaticList(e,{dataSource:new l.data.DataSource({data:this.options.buttons}),template:"<a role='button' title='#=text#' data-property='#=property#' data-value='#=value#'>"+"<span class='k-icon k-i-#=iconClass#'></span>"+"#=text#"+"</a>",change:this.apply.bind(this)});this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];o.fn.apply.call(this);this.trigger("action",{command:"PropertyChangeCommand",options:{property:t.property,value:t.value}})}})),D=(l.spreadsheet.dialogs.register("alignment",y),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.mergeDialog||i;var a={title:t.title,buttons:[{value:"cells",iconClass:"cells-merge",text:t.buttons.mergeCells},{value:"horizontally",iconClass:"cells-merge-horizontally",text:t.buttons.mergeHorizontally},{value:"vertically",iconClass:"cells-merge-vertically",text:t.buttons.mergeVertically},{value:"unmerge",iconClass:"table-unmerge",text:t.buttons.unmerge}]};o.fn.init.call(this,n.extend(a,e));this._list()},options:{template:"<ul class='k-list k-reset'></ul>"},_list:function(){var e=this.dialog().element.find("ul");this.list=new l.ui.StaticList(e,{dataSource:new l.data.DataSource({data:this.options.buttons}),template:"<a role='button' title='#=text#' data-value='#=value#'>"+"<span class='k-icon k-icon k-i-#=iconClass#'></span>#=text#"+"</a>",change:this.apply.bind(this)});this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];o.fn.apply.call(this);this.trigger("action",{command:"MergeCellCommand",options:{value:t.value}})}})),w=(l.spreadsheet.dialogs.register("merge",D),o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.freezeDialog||i;var a={title:t.title,buttons:[{value:"panes",iconClass:"pane-freeze",text:t.buttons.freezePanes},{value:"rows",iconClass:"row-freeze",text:t.buttons.freezeRows},{value:"columns",iconClass:"column-freeze",text:t.buttons.freezeColumns},{value:"unfreeze",iconClass:"table-unmerge",text:t.buttons.unfreeze}]};o.fn.init.call(this,n.extend(a,e));this._list()},options:{template:"<ul class='k-list k-reset'></ul>"},_list:function(){var e=this.dialog().element.find("ul");this.list=new l.ui.StaticList(e,{dataSource:new l.data.DataSource({data:this.options.buttons}),template:"<a role='button' title='#=text#' data-value='#=value#'>"+"<span class='k-icon k-icon k-i-#=iconClass#'></span>#=text#"+"</a>",change:this.apply.bind(this)});this.list.dataSource.fetch()},apply:function(e){var t=e.sender.value()[0];o.fn.apply.call(this);this.trigger("action",{command:"FreezePanesCommand",options:{value:t.value}})}})),C=(l.spreadsheet.dialogs.register("freeze",w),l.spreadsheet.ValidationCellsViewModel=t.extend({init:function(e){t.fn.init.call(this,e);this.bind("change",function(e){if(e.field==="criterion"){this.reset();if(this.criterion==="custom"||this.criterion==="list")this.setHintMessageTemplate()}if(e.field==="comparer")this.setHintMessageTemplate();if((e.field=="hintMessage"||e.field=="hintTitle")&&!this._mute)this.shouldBuild=false;if((e.field=="from"||e.field=="to"||e.field=="hintMessageTemplate"||e.field=="type")&&this.shouldBuild)this.buildMessages()}.bind(this));this.reset()},buildMessages:function(){this._mute=true;this.set("hintTitle",this.hintTitleTemplate?l.format(this.hintTitleTemplate,this.type):"");this.set("hintMessage",this.hintMessageTemplate?l.format(this.hintMessageTemplate,this.from,this.to):"");this._mute=false},reset:function(){this.setComparers();this.set("comparer",this.comparers[0].type);this.set("from",null);this.set("to",null);this.set("useCustomMessages",false);this.shouldBuild=true;this.hintTitleTemplate=this.defaultHintTitle;this.buildMessages()},setComparers:function(){var e=this.defaultComparers;var t=[];if(this.criterion==="text"){var a=["equalTo","notEqualTo"];for(var i=0;i<e.length;i++)if(a[0]==e[i].type){t.push(e[i]);a.shift()}}else t=e.slice();this.set("comparers",t)},setHintMessageTemplate:function(){if(this.criterion!=="custom"&&this.criterion!=="list")this.set("hintMessageTemplate",l.format(this.defaultHintMessage,this.criterion,this.comparerMessages[this.comparer]));else{this.set("hintMessageTemplate","");this.set("hintMessage","")}},isAny:function(){return this.get("criterion")==="any"},isNumber:function(){return this.get("criterion")==="number"},showToForNumber:function(){return this.showTo()&&this.isNumber()},showToForDate:function(){return this.showTo()&&this.isDate()},isText:function(){return this.get("criterion")==="text"},isDate:function(){return this.get("criterion")==="date"},isList:function(){return this.get("criterion")==="list"},isCustom:function(){return this.get("criterion")==="custom"},showRemove:function(){return this.get("hasValidation")},showTo:function(){return this.get("comparer")=="between"||this.get("comparer")=="notBetween"},update:function(e){this.set("hasValidation",!!e);if(e)this.fromValidationObject(e)},fromValidationObject:function(e){this.set("criterion",e.dataType);this.set("comparer",e.comparerType);this.set("from",e.from);this.set("to",e.to);this.set("type",e.type);this.set("ignoreBlank",e.allowNulls);this.set("showButton",e.showButton);if(e.messageTemplate||e.titleTemplate){this.hintMessageTemplate=e.messageTemplate;this.hintMessage=e.messageTemplate;this.hintTitleTemplate=e.titleTemplate;this.hintTitle=e.titleTemplate;this.useCustomMessages=true;this.buildMessages()}else this.useCustomMessages=false},toValidationObject:function(){if(this.criterion==="any")return null;var e={type:this.type,dataType:this.criterion,comparerType:this.comparer,from:this.from,to:this.to,allowNulls:this.ignoreBlank,showButton:this.showButton};if(this.useCustomMessages){e.messageTemplate=this.shouldBuild?this.hintMessageTemplate:this.hintMessage;e.titleTemplate=this.hintTitle}return e}})),T=o.extend({init:function(e){var t=l.spreadsheet.messages.dialogs.validationDialog||i;var a={title:t.title,hintMessage:t.hintMessage,hintTitle:t.hintTitle,criteria:[{type:"any",name:t.criteria.any},{type:"number",name:t.criteria.number},{type:"text",name:t.criteria.text},{type:"date",name:t.criteria.date},{type:"custom",name:t.criteria.custom},{type:"list",name:t.criteria.list}],comparers:[{type:"greaterThan",name:t.comparers.greaterThan},{type:"lessThan",name:t.comparers.lessThan},{type:"between",name:t.comparers.between},{type:"notBetween",name:t.comparers.notBetween},{type:"equalTo",name:t.comparers.equalTo},{type:"notEqualTo",name:t.comparers.notEqualTo},{type:"greaterThanOrEqualTo",name:t.comparers.greaterThanOrEqualTo},{type:"lessThanOrEqualTo",name:t.comparers.lessThanOrEqualTo}],comparerMessages:t.comparerMessages};o.fn.init.call(this,n.extend(a,e))},options:{width:450,criterion:"any",type:"reject",ignoreBlank:true,showButton:true,useCustomMessages:false,errorTemplate:'<div class="k-tooltip k-tooltip-error k-validator-tooltip">'+'<span class="k-tooltip-icon k-icon k-i-warning"></span>'+'<span class="k-tooltip-content">#= message #</span>'+'<span class="k-callout k-callout-n"></span>'+"</div>",template:'<div class="k-edit-form-container">'+'<div class="k-edit-label"><label for="criteria">#: messages.validationDialog.labels.criteria #:</label></div>'+'<div class="k-edit-field">'+'<select id="criteria" data-#:ns#role="dropdownlist" '+'title="#: messages.validationDialog.labels.criteria #"'+'data-#:ns#text-field="name" '+'data-#:ns#value-field="type" '+'data-#:ns#bind="value: criterion, source: criteria"></select>'+"</div>"+'<div data-#:ns#bind="visible: isNumber">'+'<div class="k-edit-label"><label for="number-comparer">#: messages.validationDialog.labels.comparer #:</label></div>'+'<div class="k-edit-field">'+'<select id="number-comparer" data-#:ns#role="dropdownlist" '+'title="#: messages.validationDialog.labels.comparer #"'+'data-#:ns#text-field="name" '+'data-#:ns#value-field="type" '+'data-#:ns#bind="value: comparer, source: comparers"></select>'+"</div>"+'<div class="k-edit-label"><label for="comparer-min">#: messages.validationDialog.labels.min #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="comparer-min" name="#: messages.validationDialog.labels.min #" title="#: messages.validationDialog.labels.min #" placeholder="e.g. 10" class="k-input-inner" data-#:ns#bind="value: from, enabled: isNumber" required="required" /></span>'+"</div>"+'<div data-#:ns#bind="visible: showTo">'+'<div class="k-edit-label"><label for="comparer-max">#: messages.validationDialog.labels.max #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="comparer-max" name="#: messages.validationDialog.labels.max #" title="#: messages.validationDialog.labels.max #" placeholder="e.g. 100" class="k-input-inner" data-#:ns#bind="value: to, enabled: showToForNumber" required="required" /></span>'+"</div>"+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isText">'+'<div class="k-edit-label"><label for="text-comparer">#: messages.validationDialog.labels.comparer #:</label></div>'+'<div class="k-edit-field">'+'<select id="text-comparer" data-#:ns#role="dropdownlist" '+'title="#: messages.validationDialog.labels.comparer #"'+'data-#:ns#text-field="name" '+'data-#:ns#value-field="type" '+'data-#:ns#bind="value: comparer, source: comparers"></select>'+"</div>"+'<div class="k-edit-label"><label for="text-comparer-value">#: messages.validationDialog.labels.value #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="text-comparer-value" name="#: messages.validationDialog.labels.value #" title="#: messages.validationDialog.labels.value #" class="k-input-inner" data-#:ns#bind="value: from, enabled: isText" required="required" /></span>'+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isDate">'+'<div class="k-edit-label"><label for="date-comparer">#: messages.validationDialog.labels.comparer #:</label></div>'+'<div class="k-edit-field">'+'<select id="date-comparer" data-#:ns#role="dropdownlist" '+'title="#: messages.validationDialog.labels.comparer #"'+'data-#:ns#text-field="name" '+'data-#:ns#value-field="type" '+'data-#:ns#bind="value: comparer, source: comparers"></select>'+"</div>"+'<div class="k-edit-label"><label for="date-comparer-start">#: messages.validationDialog.labels.start #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="date-comparer-start" name="#: messages.validationDialog.labels.start #" title="#: messages.validationDialog.labels.start #" class="k-input-inner" data-#:ns#bind="value: from, enabled: isDate" required="required" /></span>'+"</div>"+'<div data-#:ns#bind="visible: showTo">'+'<div class="k-edit-label"><label for="date-comparer-end">#: messages.validationDialog.labels.end #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="date-comparer-end" name="#: messages.validationDialog.labels.end #" title="#: messages.validationDialog.labels.end #" class="k-input-inner" data-#:ns#bind="value: to, enabled: showToForDate" required="required" /></span>'+"</div>"+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isCustom">'+'<div class="k-edit-label"><label for="custom-comparer-value">#: messages.validationDialog.labels.value #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="custom-comparer-value" name="#: messages.validationDialog.labels.value #" title="#: messages.validationDialog.labels.value #" class="k-input-inner" data-#:ns#bind="value: from, enabled: isCustom" required="required" /></span>'+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isList">'+'<div class="k-edit-label"><label for="list-comparer-value">#: messages.validationDialog.labels.value #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="list-comparer-value" name="#: messages.validationDialog.labels.value #" title="#: messages.validationDialog.labels.value #" class="k-input-inner" data-#:ns#bind="value: from, enabled: isList" required="required" /></span>'+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isList">'+'<div class="k-edit-field">'+'<input type="checkbox" name="showButton" id="listShowButton" class="k-checkbox k-checkbox-md k-rounded-md" data-#:ns#bind="checked: showButton"/>'+'<label for="listShowButton" class="k-checkbox-label">'+" #: messages.validationDialog.labels.showListButton #"+"</label>"+"</div>"+"</div>"+'<div data-#:ns#bind="visible: isDate">'+'<div class="k-edit-field">'+'<input type="checkbox" name="showButton" id="dateShowButton" class="k-checkbox k-checkbox-md k-rounded-md" data-#:ns#bind="checked: showButton"/>'+'<label for="dateShowButton" class="k-checkbox-label">'+" #: messages.validationDialog.labels.showCalendarButton #"+"</label>"+"</div>"+"</div>"+'<div data-#:ns#bind="invisible: isAny">'+'<div class="k-edit-field">'+'<input type="checkbox" title="#: messages.validationDialog.labels.ignoreBlank #" name="ignoreBlank" id="ignoreBlank" class="k-checkbox k-checkbox-md k-rounded-md" data-#:ns#bind="checked: ignoreBlank"/>'+'<label for="ignoreBlank" class="k-checkbox-label">'+" #: messages.validationDialog.labels.ignoreBlank #"+"</label>"+"</div>"+"</div>"+'<div data-#:ns#bind="invisible: isAny">'+'<div class="k-hr"></div>'+'<div class="k-edit-label"><label>#: messages.validationDialog.labels.onInvalidData #:</label></div>'+'<div class="k-edit-field">'+'<input type="radio" title="#: messages.validationDialog.labels.rejectInput #" id="validationTypeReject" name="validationType" value="reject" data-#:ns#bind="checked: type" class="k-radio k-radio-md" />'+'<label for="validationTypeReject" class="k-radio-label">'+"#: messages.validationDialog.labels.rejectInput #"+"</label> "+'<input type="radio" title="#: messages.validationDialog.labels.showWarning #" id="validationTypeWarning" name="validationType" value="warning" data-#:ns#bind="checked: type" class="k-radio k-radio-md" />'+'<label for="validationTypeWarning" class="k-radio-label">'+"#: messages.validationDialog.labels.showWarning #"+"</label>"+"</div>"+"</div>"+'<div data-#:ns#bind="invisible: isAny" class="hint-wrapper">'+'<div class="k-edit-field">'+'<input type="checkbox" title="#: messages.validationDialog.labels.showHint #" name="useCustomMessages" id="useCustomMessages" class="k-checkbox k-checkbox-md k-rounded-md" data-#:ns#bind="checked: useCustomMessages" />'+'<label class="k-checkbox-label" for="useCustomMessages">'+" #: messages.validationDialog.labels.showHint #"+"</label>"+"</div>"+'<div data-#:ns#bind="visible: useCustomMessages">'+'<div class="k-edit-label"><label for="hint-title">#: messages.validationDialog.labels.hintTitle #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="hint-title" name="hint-title" class="k-input-inner" title="#: messages.validationDialog.labels.hintTitle #" placeholder="#: messages.validationDialog.placeholders.typeTitle #" data-#:ns#bind="value: hintTitle" /></span>'+"</div>"+'<div class="k-edit-label"><label for="hint-message">#: messages.validationDialog.labels.hintMessage #:</label></div>'+'<div class="k-edit-field">'+'<span class="k-textbox k-input k-input-md k-rounded-md k-input-solid"><input id="hint-message" class="k-input-inner" title="#: messages.validationDialog.labels.hintMessage #" placeholder="#: messages.validationDialog.placeholders.typeMessage #" data-#:ns#bind="value: hintMessage" /></span>'+"</div>"+"</div>"+"</div>"+'<div class="k-action-buttons">'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-#:ns#bind="visible: showRemove, click: remove"><span class="k-button-text">#: messages.remove #</span></button>'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary" data-#:ns#bind="click: apply"><span class="k-button-text">#: messages.apply #</span></button>'+'<button class="k-button k-button-md k-rounded-md k-button-solid k-button-solid-base" data-#:ns#bind="click: close"><span class="k-button-text">#: messages.cancel #</span></button>'+"</div>"+"</div>"},open:function(e){var t=this.options;var a;this.viewModel=new C({type:t.type,defaultHintMessage:t.hintMessage,defaultHintTitle:t.hintTitle,defaultComparers:t.comparers.slice(0),comparerMessages:t.comparerMessages,criteria:t.criteria.slice(0),criterion:t.criterion,ignoreBlank:t.ignoreBlank,showButton:t.showButton,apply:this.apply.bind(this),close:this.close.bind(this),remove:this.remove.bind(this)});this.viewModel.update(e.validation());o.fn.open.call(this);a=this.dialog().element;if(this.validatable)this.validatable.destroy();l.bind(a,this.viewModel);this.validatable=new l.ui.Validator(a.find(".k-edit-form-container"),{validateOnBlur:false,errorTemplate:this.options.errorTemplate||undefined})},apply:function(){if(this.validatable.validate()){o.fn.apply.call(this);this.trigger("action",{command:"EditValidationCommand",options:{value:this.viewModel.toValidationObject()}})}},remove:function(){this.viewModel.set("criterion","any");this.apply()}});function M(e){return{value:e,text:d("exportAsDialog.pdf.paper."+e)}}l.spreadsheet.dialogs.register("validation",T),l.spreadsheet.dialogs.ValidationDialog=T;var F=o.extend({init:function(e){o.fn.init.call(this,e);e=this.options;this.viewModel=l.observable({title:e.title,name:e.name,extension:e.extension,fileFormats:e.fileFormats,excel:e.excelExport,pdf:{proxyURL:e.pdfExport.proxyURL,forceProxy:e.pdfExport.forceProxy,title:e.pdfExport.title,author:e.pdfExport.author,autoPrint:e.pdfExport.autoPrint,subject:e.pdfExport.subject,keywords:e.pdfExport.keywords,creator:e.pdfExport.creator,date:e.pdfExport.date,fitWidth:e.pdf.fitWidth,area:e.pdf.area,areas:e.pdf.areas,paperSize:e.pdf.paperSize,paperSizes:e.pdf.paperSizes,margin:e.pdf.margin,margins:e.pdf.margins,landscape:e.pdf.landscape,guidelines:e.pdf.guidelines,hCenter:e.pdf.hCenter,vCenter:e.pdf.vCenter},apply:this.apply.bind(this),close:this.close.bind(this)});var t=this.dialog();this.viewModel.bind("change",function(e){if(e.field==="extension"){this.set("showPdfOptions",this.extension===".pdf"?true:false);t.center()}});l.bind(t.element,this.viewModel)},options:{title:d("exportAsDialog.title","Export..."),name:d("exportAsDialog.defaultFileName","Workbook"),extension:".xlsx",fileFormats:[{description:d("exportAsDialog.xlsx.description","Excel Workbook (.xlsx)"),extension:".xlsx"},{description:d("exportAsDialog.pdf.description","Portable Document Format (.pdf)"),extension:".pdf"}],pdf:{fitWidth:true,area:"workbook",areas:[{area:"workbook",text:d("exportAsDialog.pdf.area.workbook","Entire Workbook")},{area:"sheet",text:d("exportAsDialog.pdf.area.sheet","Active Sheet")},{area:"selection",text:d("exportAsDialog.pdf.area.selection","Selection")}],paperSize:"a4",paperSizes:["a2","a3","a4","a5","b3","b4","b5","folio","legal","letter","tabloid","executive"].map(M),margin:{bottom:"0.75in",left:"0.7in",right:"0.7in",top:"0.75in"},margins:[{value:{bottom:"0.75in",left:"0.7in",right:"0.7in",top:"0.75in"},text:d("exportAsDialog.pdf.margin.normal","Normal")},{value:{bottom:"0.75in",left:"0.25in",right:"0.25in",top:"0.75in"},text:d("exportAsDialog.pdf.margin.narrow","Narrow")},{value:{bottom:"1in",left:"1in",right:"1in",top:"1in"},text:d("exportAsDialog.pdf.margin.wide","Wide")}],landscape:true,guidelines:true,hCenter:true,vCenter:true},width:520,template:"<div class='k-edit-label'><label id='name-label'>#: messages.exportAsDialog.labels.fileName #:</label></div>"+"<div class='k-edit-field'>"+"<span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input aria-labelledby='name-label' class='k-input-inner' data-#:ns#bind='value: name' /></span>"+"</div>"+"<div >"+"<div class='k-edit-label'><label id='file-format-label'>#: messages.exportAsDialog.labels.saveAsType #:</label></div>"+"<div class='k-edit-field'>"+"<select aria-labelledby='file-format-label' data-#:ns#role='dropdownlist' class='k-file-format' "+"data-#:ns#text-field='description' "+"data-#:ns#value-field='extension' "+"data-#:ns#bind='value: extension, source: fileFormats'></select>"+"</div>"+"</div>"+"<div class='k-export-config' data-#:ns#bind='visible: showPdfOptions'>"+"<hr class='k-hr' />"+"<div class='k-edit-label'><label id='export-area-label'>#: messages.exportAsDialog.labels.exportArea #:</label></div>"+"<div class='k-edit-field'>"+"<select aria-labelledby='export-area-label' data-#:ns#role='dropdownlist' class='k-file-format' "+"data-#:ns#text-field='text' "+"data-#:ns#value-field='area' "+"data-#:ns#bind='value: pdf.area, source: pdf.areas'></select>"+"</div>"+"<div class='k-edit-label'><label id='paper-size-label'>#: messages.exportAsDialog.labels.paperSize#:</label></div>"+"<div class='k-edit-field'>"+"<select aria-labelledby='paper-size-label' data-#:ns#role='dropdownlist' class='k-file-format' "+"data-#:ns#text-field='text' "+"data-#:ns#value-field='value' "+"data-#:ns#bind='value: pdf.paperSize, source: pdf.paperSizes'></select>"+"</div>"+"<div class='k-edit-label'><label id='margins-label'>#: messages.exportAsDialog.labels.margins #:</label></div>"+"<div class='k-edit-field'>"+"<select aria-labelledby='margins-label' data-#:ns#role='dropdownlist' class='k-file-format' "+"data-#:ns#value-primitive='true'"+"data-#:ns#text-field='text' "+"data-#:ns#value-field='value' "+"data-#:ns#bind='value: pdf.margin, source: pdf.margins'></select>"+"</div>"+"<div class='k-edit-label'><label>#: messages.exportAsDialog.labels.orientation #:</label></div>"+"<div class='k-edit-field'>"+"<div class='k-button-group'>"+"<input type='radio' id='k-orientation-portrait' aria-label='orientation portrait' name='orientation' data-#:ns#type='boolean' data-#:ns#bind='checked: pdf.landscape' value='false' />"+"<label class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-group-start k-orientation-button' for='k-orientation-portrait'><span class='k-button-icon k-icon k-i-page-portrait'></span></label>"+"<input type='radio' id='k-orientation-landscape' aria-label='orientation landscape' name='orientation' data-#:ns#type='boolean' data-#:ns#bind='checked: pdf.landscape' value='true' />"+"<label class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-icon-button k-group-end k-orientation-button' for='k-orientation-landscape'><span class='k-button-icon k-icon k-i-page-landscape'></span></label>"+"</div>"+"</div>"+"<div class='k-edit-label'><label>#: messages.exportAsDialog.labels.print #:</label></div>"+"<div class='k-edit-field'>"+"<input class='k-checkbox k-checkbox-md k-rounded-md' id='guidelines' type='checkbox' data-#:ns#bind='checked: pdf.guidelines'/><label class='k-checkbox-label' for='guidelines'>#: messages.exportAsDialog.labels.guidelines#</label>"+"</div>"+"<div class='k-edit-label'><label>#: messages.exportAsDialog.labels.scale #:</label></div>"+"<div class='k-edit-field'>"+"<input class='k-checkbox k-checkbox-md k-rounded-md' id='fitWidth' type='checkbox' data-#:ns#bind='checked: pdf.fitWidth'/><label class='k-checkbox-label' for='fitWidth'>#: messages.exportAsDialog.labels.fit #</label>"+"</div>"+"<div class='k-edit-label'><label>#: messages.exportAsDialog.labels.center #:</label></div>"+"<div class='k-edit-field'>"+"<input class='k-checkbox k-checkbox-md k-rounded-md' id='hCenter' type='checkbox' data-#:ns#bind='checked: pdf.hCenter'/><label class='k-checkbox-label' for='hCenter'>#: messages.exportAsDialog.labels.horizontally #</label>"+"<input class='k-checkbox k-checkbox-md k-rounded-md' id='vCenter' type='checkbox' data-#:ns#bind='checked: pdf.vCenter'/><label class='k-checkbox-label' for='vCenter'>#: messages.exportAsDialog.labels.vertically #</label>"+"</div>"+"<div class='k-page-orientation'>"+"<span class='k-icon k-i-page-portrait' data-#:ns#bind='invisible: pdf.landscape'></span>"+"<span class='k-icon k-i-page-landscape' data-#:ns#bind='visible: pdf.landscape'></span>"+"</div>"+"</div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#: messages.save #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: close'><span class='k-button-text'>#: messages.cancel #</span></button>"+"</div>"},apply:function(){o.fn.apply.call(this);this.trigger("action",{command:"SaveAsCommand",options:this.viewModel})}});function e(e,t){l.spreadsheet.dialogs.register(e,s.extend({options:{messageId:t}}))}l.spreadsheet.dialogs.register("exportAs",F),e("modifyMerged","modifyMergedDialog.errorMessage"),e("rangeDisabled","rangeDisabledDialog.errorMessage"),e("intersectsArray","intersectsArrayDialog.errorMessage"),e("overflow","overflowDialog.errorMessage"),e("unsupportedSelection","unsupportedSelectionDialog.errorMessage"),e("incompatibleRanges","incompatibleRangesDialog.errorMessage"),e("noFillDirection","noFillDirectionDialog.errorMessage"),e("duplicateSheetName","duplicateSheetNameDialog.errorMessage");var A=s.extend({options:{width:640,title:"Errors in import",template:"<div class='k-spreadsheet-message-content k-spreadsheet-import-errors'>"+"<div class='k--header-message'>We encountered #= errors.length # errors while reading this file. Please be aware that some formulas might be missing, or contain invalid results.</div>"+"<div class='k--errors'>"+"<table>"+"<thead>"+"<tr><th>Context</th><th>Error message</th></tr>"+"</thead>"+"# for (var i = 0; i < errors.length; ++i) { #"+"# var err = errors[i]; #"+"<tr><td>#: err.context #</td><td>#: err.error #</td></tr>"+"# } #"+"</table>"+"</div>"+"</div>"+"<div class='k-action-buttons'>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: close'>"+"<span class='k-button-text'>#: messages.okText #</span>"+"</button>"+"</div>"}}),S=(l.spreadsheet.dialogs.register("importError",A),s.extend({options:{title:d("useKeyboardDialog.title","Copying and pasting"),template:"#: messages.useKeyboardDialog.errorMessage #"+"<div>Ctrl+C #: messages.useKeyboardDialog.labels.forCopy #</div>"+"<div>Ctrl+X #: messages.useKeyboardDialog.labels.forCut #</div>"+"<div>Ctrl+V #: messages.useKeyboardDialog.labels.forPaste #</div>"+'<div class="k-action-buttons">'+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: close'>"+"<span class='k-button-text'>#= messages.okText #</span>"+"</button>"+"</div>"}})),_=(l.spreadsheet.dialogs.register("useKeyboard",S),o.extend({options:{title:d("linkDialog.title","Hyperlink"),template:"<div class='k-edit-label'><label id='url-label'>#: messages.linkDialog.labels.url #:</label></div>"+"<div class='k-edit-field'><span class='k-textbox k-input k-input-md k-rounded-md k-input-solid'><input class='k-input-inner' data-#:ns#bind='value: url' title='#: messages.linkDialog.labels.url #' aria-labelledby='url-label'/></span></div>"+"<div class='k-action-buttons'>"+("<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-left' data-#:ns#bind='click: remove'><span class='k-button-text'>#= messages.linkDialog.labels.removeLink #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#= messages.okText #</span></button>"+"<button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: cancel'><span class='k-button-text'>#= messages.cancel #</span></button>")+"</div>",autoFocus:false},open:function(e){var t=this;o.fn.open.apply(t,arguments);var a=t.dialog().element;var i=l.observable({url:e.link(),apply:function(){if(!/\S/.test(i.url))i.url=null;t.trigger("action",{command:"HyperlinkCommand",options:{link:i.url}});t.close()},remove:function(){i.url=null;i.apply()},cancel:t.close.bind(t)});l.bind(a,i);a.find("input").trigger("focus").on("keydown",function(e){if(e.keyCode==13){i.url=n(this).val();e.stopPropagation();e.preventDefault();i.apply()}else if(e.keyCode==27){e.stopPropagation();e.preventDefault();i.cancel()}})}})),E=(l.spreadsheet.dialogs.register("hyperlink",_),o.extend({options:{className:"k-spreadsheet-insert-comment",template:"\t<div class='k-edit-label'><label id='comment-label'>#: messages.insertCommentDialog.labels.comment #:</label></div>\t<div class='k-edit-field'><span class='k-input k-textarea k-input-solid k-input-md k-rounded-md'><textarea aria-labelledby='comment-label' rows='5' class='k-input-inner' data-#:ns#bind='value: comment'></textarea></span></div>\t<div class='k-action-buttons'>\t <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base k-left' data-#:ns#bind='click: remove'><span class='k-button-text'>#: messages.insertCommentDialog.labels.removeComment #</span></button>\t <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-primary' data-#:ns#bind='click: apply'><span class='k-button-text'>#: messages.okText #</span></button>\t <button class='k-button k-button-md k-rounded-md k-button-solid k-button-solid-base' data-#:ns#bind='click: cancel'><span class='k-button-text'>#= messages.cancel #</span></button>\t</div>\t",title:d("insertCommentDialog.title","Insert comment"),autoFocus:false,width:450},open:function(e){var t=this;o.fn.open.apply(t,arguments);var a=t.dialog().element;var i=l.observable({comment:e.comment(),apply:function(){if(!/\S/.test(i.comment))i.comment=null;t.trigger("action",{command:"InsertCommentCommand",options:{value:i.comment}});t.close()},remove:function(){i.comment=null;i.apply()},cancel:t.close.bind(t)});l.bind(a,i);a.find("textarea").trigger("focus")}})),z=(l.spreadsheet.dialogs.register("insertComment",E),o.extend({options:{template:"\t<div class='k-spreadsheet-ins