diff --git a/assets/js/datatables/pagesFlatDataTable.js b/assets/js/datatables/pagesFlatDataTable.js index 085204ef..dc2823ff 100644 --- a/assets/js/datatables/pagesFlatDataTable.js +++ b/assets/js/datatables/pagesFlatDataTable.js @@ -8,6 +8,10 @@ var PagesFlatDataTable = PagesDataTable.extend({ filters.template = this.template; + this.getTemplateField().each(function () { + filters.template = $(this).val(); + }); + return filters; } }); \ No newline at end of file diff --git a/resources/js/cms.js b/resources/js/cms.js index 8648c042..21f9380e 100644 --- a/resources/js/cms.js +++ b/resources/js/cms.js @@ -1 +1 @@ -function Class(){}function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)}function isNumeric(t){return!isNaN(parseFloat(t))&&isFinite(t)}Class.prototype.construct=function(){},Class.__asMethod__=function(i,n){return function(){var t=this.$;this.$=n;var e=i.apply(this,arguments);return this.$=t,e}},Class.extend=function(t){var e=function(){arguments[0]!==Class&&this.construct.apply(this,arguments)},i=new this(Class),n=this.prototype;for(var a in t){var s=t[a];s instanceof Function&&(s=Class.__asMethod__(s,n)),i[a]=s}return i.$=n,e.prototype=i,e.extend=this.extend,e},$.fn.highlight=function(t){return this.length&&t&&t.length?this.each(function(){!function t(e,i){var n=0;if(3==e.nodeType){var a=e.data.toUpperCase().indexOf(i);if(0<=(a-=e.data.substr(0,a).toUpperCase().length-e.data.substr(0,a).length)){var s=document.createElement("span");s.className="highlight";var o=e.splitText(a);o.splitText(i.length);var r=o.cloneNode(!0);s.appendChild(r),o.parentNode.replaceChild(s,o),n=1}}else if(1==e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName))for(var l=0;l'),$(t)},init:function(){this.initTable(),this.initPagination(),this.initSearch(),this.initLanguageSwitch(),this.initButtons(),this.initKeyEvents(),this.initFilters(),this.initRestore()},initButtons:function(){var n=this,t=this.getDataTable().find(".toolbar .btn.delete"),e=this.getDataTable().find(".toolbar .btn.add"),i=this.getDataTable().find(".toolbar .btn.pick-image"),a=this.getDataTable().find(".toolbar .btn.upload");t.click(function(){if("disabled"!=$(this).attr("disabled")){var t=n.getSelectedIds();if(t){var e=t.length,i=n.getDeleteConfirmMessage(e);confirm(i)&&n.actionDelete(t)}}}),i.click(function(){n.actionPickImage()}),e.click(function(){n.actionAdd()}),new FileUploader({$container:a,$uploadButton:a,action:"/cms/datatable/uploadImages",fileTypes:KikCMS.allowedExt,addParametersBeforeUpload:function(t){return t.append("renderableInstance",n.renderableInstance),t.append("renderableClass",n.renderableClass),t},onSuccess:function(t){t.errors?alert(t.errors.join("\n\n")):(n.setTableContent(t.table,t.editedIds),n.setPagesContent(t.pagination))}}).init()},initFilters:function(){var t=this;this.getFilterForm().find("input, select").change(function(){t.actionPage(1)})},initImageThumbs:function(){var s=this,t=this.getDataTable().find("table tr td .thumb"),o=function(t){var e=$(window).scrollTop(),i=$(window).scrollLeft(),n=t.clientX+i+15,a=t.clientY+e+15;s.getThumbHoverContainer().css({left:n,top:a})};t.each(function(){var a=$(this),t=a.parent();t.hover(function(t){var e=s.getThumbHoverContainer();o(t);var i=a.attr("data-thumb-url"),n=i.split("?")[0].endsWith(".svg");e.toggleClass("svg",n),e.show(),e.html('thumb')},function(){s.getThumbHoverContainer().hide()}),t.mousemove(o)}),t.click(function(t){window.open($(this).attr("data-url")),t.stopPropagation()})},initKeyEvents:function(){var e=this,i={},n=function(t){if((t.metaKey||t.ctrlKey)&&t.keyCode==keyCode.S)return!(e.windowIsActive()&&e.getForm().length&&e.getWindow().find(".saveAndClose").length)||(e.actionSave(!0),e.getWindow().find(".saveAndClose").addClass("active"),t.preventDefault(),!1)},t=function(){var t=$(this).attr("id");i[t]||(i[t]=t,$(this.contentWindow.document).keydown(n))},a=function(){$("body").find("iframe").each(t),setTimeout(a,1e3)};a(),$(window).unbind("keydown."+this.renderableInstance),$(window).unbind("keypress."+this.renderableInstance),$(window).bind("keydown."+this.renderableInstance,n),$(window).bind("keypress."+this.renderableInstance,function(t){if(t.keyCode==keyCode.ESCAPE){if(!e.windowIsActive()||!e.getForm().length)return!0;e.attemptToCloseWindow()}})},initLanguageSwitch:function(){var t=this;this.getDataTable().find(".language select").change(function(){t.actionPage(t.getFilters().page)})},initPagination:function(){var i=this;this.getDataTable().find(".pagination a").click(function(){var t=$(this);if(t.parent().hasClass("active")||t.parent().hasClass("disabled"))return!1;var e=t.attr("data-page");i.actionPage(e)})},initSearch:function(){var i=this;this.getSearchField().searchAble(function(t){var e=i.getFilters();e.search=t,e.page=1,i.action("search",e,function(t){i.setTableContent(t.table),i.setPagesContent(t.pagination)})})},initSort:function(){var n=this,t=new SortControl;t.$dataTable=this.getDataTable(),t.onDrop=function(t,e,i){n.action("rearrange",{id:t,targetId:e,position:i},function(t){n.setTableContent(t.table)})},t.init()},initTable:function(){this.$table=this.getDataTable().find("table");var n=this,t=this.$table.find("tbody tr");t.find("td a").click(function(t){t.stopPropagation()}),t.find("td:not(.action)").click(function(t){var e=$(this).parent();e.attr("data-prevent-click")||n.onRowClick(e,t)}),t.find("td.edit").click(function(){var t=$(this).find("input[name=id]").val();n.actionEdit(t)}),t.find("td.delete").click(function(){var t=$(this).attr("data-id");confirm(n.getDeleteConfirmMessage(1))&&n.actionDelete([t])}),t.find("td:not(.action)").on("dblclick",function(){n.onRowDblClick($(this).parent())});var e=this.getSearchField().val();e&&n.getDataTable().find(".table").find("td").highlight(e),this.getDataTable().find("thead td").click(function(){var t,e=$(this),i=e.attr("data-column");switch(e.attr("data-sort")){case"asc":t="desc";break;case"desc":i=t="";break;default:t="asc"}n.sortDirection=t,n.sortColumn=i,n.actionSort(i,t)}),this.initImageThumbs(),this.updateToolbar(),this.initTableCheckBoxes(),void 0!==SortControl&&this.initSort()},initTableCheckBoxes:function(){var a=this;this.$table.find("input.table-checkbox[type=checkbox]").click(function(t){t.stopPropagation()}).dblclick(function(t){t.stopPropagation()}).change(function(){var t=$(this),e=t.is(":checked"),i=t.parent().parent().attr("data-id"),n=t.attr("data-col");t.attr("readonly","readonly"),a.action("checkCheckbox",{editId:i,column:n,checked:e?1:0},function(){t.removeAttr("readonly")},function(){t.removeAttr("readonly")})})},initTabs:function(){var t=this.getWindow(),n=t.find(".tab-contents");t.find(".tabs .tab").each(function(){var t=$(this),e=t.attr("data-tab"),i=n.find(".tab-"+e);t.click(function(){t.siblings().removeClass("active"),t.addClass("active"),n.find(".tab-content").removeClass("active"),i.addClass("active")}),0 .footer"),i=t.height(),n=t.find(".windowContent > .header").outerHeight(),a=0,s=e.length?e.outerHeight():0;0 .tabs").length&&(a=t.find(".windowContent > .tabs").outerHeight()),t.find(".content").css("height",i-n-s-a)},action:function(t,e,i,n){e=this.addActionParameters(e),KikCMS.action(this.actionPath+t,e,i,n,null,this)},actionAdd:function(t,e){var i=this,n=this.getFilters();if(void 0!==t)for(var a in t)n[a]=t[a];this.showWindow(),this.action("add",n,function(t){i.setWindowContent(t.window,e)},function(){i.closeWindow()})},actionDelete:function(t){var i=this,n=this.getFilters();n.ids=t,this.action("delete",n,function(t){if(t.error)alert(t.error);else{var e=parseInt(n.page);1 .filters")},getForm:function(){return this.getWindow().find("form")},getFormEditId:function(){return this.getWindow().find(".webForm").attr("data-id")},getLanguageCode:function(){return this.getDataTable().find(".toolbar .language select").val()},getRows:function(){return this.getDataTable().find("table tr")},getWindowLanguageCode:function(){return this.getWindow().find(".header select[name=language]").val()},getSearchField:function(){return this.getDataTable().find(".toolbar .search input")},getSelectedIds:function(){var t=[];return this.getDataTable().find("tr.selected .edit input[name=id]").each(function(){t.push($(this).val())}),t},getWindow:function(){return KikCMS.windowManager.getWindow(this.renderableInstance,this.getDataTable(),this.attemptToCloseWindow.bind(this))},getWysiwygSelector:function(){return"#"+this.getWindow().find(".webForm").attr("id")+" textarea.wysiwyg"},isSubDataTable:function(){return 1<=this.getDataTable().parents(".dataTableWindow").length},onChange:function(t,e,i){var n,a,s=this;e=void 0===e||e,t.focus(function(){n=t.val(),a=s.getFormSerialized()}).change(function(){!e||s.currentFormInput==a||confirm(KikCMS.tl("dataTable.switchWarning"))?i():t.val(n)})},updateToolbar:function(){var t=this.getDataTable().find("tr.selected"),e=this.getDataTable().find(".toolbar .btn.delete");0 .restore")},getStorageContent:function(){var t=localStorage.getItem(this.getStorageKey());return t?JSON.parse(t):{}},getStorageKey:function(){var t=this.dataTable.getFormEditId();return"kikcms.dt."+this.dataTable.getClassWithoutSlashes()+"."+(t||"new")},remove:function(t){var e=this.getStorageContent();delete e[t],0==Object.keys(e).length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))},restore:function(t){var i=this,e=this.getStorageContent()[t],n=this.getFormattedDateByRestoreObject(e);if(!confirm(KikCMS.tl("dataTable.restoreConfirm",{date:n})))return!1;$.each(e.content,function(t,e){i.restoreField(t,e)}),this.remove(t),this.getRestoreButton().find("[data-id="+t+"]").parent().remove(),this.getRestoreButton().find("li").length||this.getRestoreButton().hide()},restoreField:function(t,e){var i=this.dataTable.getForm().find('[name="'+t+'"]'),n=i.val();(i.val(e),n in KikCMS.renderables&&($("#"+n).attr("id",e),KikCMS.renderables[n].renderableInstance=e,KikCMS.renderables[n].actionPage(1)),i.parent().hasClass("type-file"))&&KikCMS.renderables[this.dataTable.getForm().parent().data("instance")].actionPickFile(i.parent(),e)},showButton:function(){var n=this.getRestoreButton(),t=this.getStorageContent(),a=this;n.show(),$.each(t,function(t,e){var i=a.getFormattedDateByRestoreObject(e);n.find("ul").append('
  • '+i+"
  • ")}),n.find("ul li a").click(function(){a.restore($(this).data("id"))})},startPolling:function(){var t=this,e=this.getContent(),i=this.getStorageContent();if(this.isPolling)return!1;this.isPolling=!0,this.determineStorageIndex(),0!==Object.keys(i).length&&this.showButton(),this.interval=setInterval(function(){t.dataTable.windowIsActive()&&(JSON.stringify(e)!==JSON.stringify(t.getContent())?t.store():t.remove(t.storageIndex))},this.pollInterval)},stopPolling:function(){this.isPolling=!1,this.remove(this.storageIndex),clearInterval(this.interval)},store:function(){var t=this.getStorageContent();t[this.storageIndex]={date:new Date,content:this.getContent()},localStorage.setItem(this.getStorageKey(),JSON.stringify(t))}}),SortControl=Class.extend({dragHoverClass:"dragHover",isDragging:!1,hoveringNode:!1,draggedObject:null,timeDragStarted:0,startX:0,startY:0,moveOnlyVertical:!0,selectedObjectX:0,selectedObjectY:0,$dataTable:null,onDrop:null,init:function(){var i=this,n=$(window),t=this.getHoverObjects(),e=this.getDraggables();e.on("selectstart",function(t){t.preventDefault()}),e.mousedown(function(t){1===t.which&&(i.draggedObject=$(this),i.selectedObjectX=i.getObjectToBeDragged().offset().left,i.selectedObjectY=i.getObjectToBeDragged().offset().top,i.startX=t.clientX+n.scrollLeft(),i.startY=t.clientY+n.scrollTop())}),t.hover(function(){i.isDragging&&$(this).addClass(i.dragHoverClass)},function(){i.isDragging&&($(this).removeClass(i.dragHoverClass),$(this).removeAttr("data-drop"))}),t.mousemove(function(t){if(i.isDragging){var e=$(this);i.isValidDropPosition(e,t.clientY)?e.attr("data-drop",i.getHoverPosition(t.clientY+n.scrollTop(),e)):e.removeAttr("data-drop")}}),n.mousemove(this.windowMouseMove.bind(this)),n.mouseup(this.endDrag.bind(this))},cloneSelectedObject:function(){var t=this.draggedObject.parent(),e=$("
    ").append(t.clone());return e.css("width",t.innerWidth()),t.find("td").each(function(t){e.find("td").eq(t).css("width",$(this).innerWidth())}),e},endDrag:function(){if(this.draggedObject){var t=this.getSelectedRow();this.isDragging&&(t.attr("data-prevent-click",1),setTimeout(function(){t.removeAttr("data-prevent-click")}));var e=this.getHoverObjects();this.isDragging=!1,this.getDragObject().remove();var i=this.$dataTable.find("."+this.dragHoverClass),n=250<(new Date).getTime()-this.timeDragStarted;if(i.length&&this.onDrop&&n){var a=i.attr("data-id"),s=i.attr("data-drop"),o=t.attr("data-id");s&&this.onDrop(o,a,s)}t.removeClass("dragged"),this.draggedObject=null,e.find(".name").removeClass(this.dragHoverClass),e.removeClass(this.dragHoverClass),$("body").removeClass("noSelect").removeClass("isDragging")}},getDragObject:function(){var t=$(".draggedObject");return t.length||((t=this.cloneSelectedObject()).addClass("draggedObject"),$("body").append(t)),t},getHoverPosition:function(t,e){var i=e.outerHeight();return t>e.offset().top+i/2?"after":"before"},getObjectToBeDragged:function(){return this.getSelectedRow()},getSelectedRow:function(){return this.draggedObject.parent()},getDraggables:function(){return this.$dataTable.find("tbody tr td.sort")},getHoverObjects:function(){return this.$dataTable.find("tbody tr")},isDraggingAndNotCurrent:function(t){return!!this.isDragging&&!t.hasClass("dragged")},isValidDropPosition:function(t,e){var i=this.getHoverPosition(e,t);return("after"!=i||t.next()[0]!=this.getSelectedRow()[0])&&(("before"!=i||t.prev()[0]!=this.getSelectedRow()[0])&&t[0]!=this.getSelectedRow()[0])},windowMouseMove:function(t){var e=$(window),i=t.clientX+e.scrollLeft(),n=t.clientY+e.scrollTop();if(this.isDragging){var a=this.getDragObject(),s=this.moveOnlyVertical?this.selectedObjectX:i-(this.startX-this.selectedObjectX);a.css("left",s),a.css("top",n-(this.startY-this.selectedObjectY))}else if(this.draggedObject){var o=i>this.startX+5||ithis.startY+5||n .footer"),i=t.find(".windowContent > .header"),n=t.height(),a=i.outerHeight(),s=e.outerHeight();t.find(".files").css("height",n-a-s-132)},open:function(){var e=this;this.getWindow().on("click",".buttons .cancel",function(){e.close()}),KikCMS.action("/cms/webform/getFinder",{multi:this.multi},function(t){e.initWindow(t.finder)})},pickFile:function(t){t.removeClass("selected"),this.onPickFile(t),this.close()},getWindow:function(){return KikCMS.windowManager.getWindow(this.instance+"FilePicker",this.$element)}}),Finder=Class.extend({renderableInstance:null,renderableClass:null,shiftKeyPressed:!1,pickingMode:!1,multiPick:!1,cutFileIds:[],permission:null,action:function(t,e,i){void 0===e.folderId&&(e.folderId=this.getCurrentFolderId()),e.renderableInstance=this.renderableInstance,e.renderableClass=this.renderableClass,KikCMS.action("/cms/finder/"+t,e,i)},actionAddFolder:function(){var e=this,t=prompt(KikCMS.tl("media.createFolder"),KikCMS.tl("media.defaultFolderName"));t&&this.action("createFolder",{folderName:t},function(t){e.setFilesContainer(t.files,t.fileIds)})},actionCut:function(){this.cutFileIds=this.getSelectedFileIds(),this.initCutFiles()},actionDelete:function(){var i=this,t=this.getSelectedFileIds(),e=1KikCMS.maxFileUploads)return alert(KikCMS.tl("media.uploadMaxFilesWarning",{amount:KikCMS.maxFileUploads})),s.cancel();for(var n=0;nKikCMS.maxFileSize?alert(KikCMS.tl("media.uploadMaxFileSizeWarning",{max:KikCMS.maxFileSizeString})):(t.append("files[]",a),i++)}if(!s.checkFileTypes(this.files)||!i)return s.cancel();s.actionUpload(t)})},actionUpload:function(t){var e=this,n=this.$container.find(".progress-bar");this.$uploadButton.addClass("disabled"),n.width(0),n.attr("aria-valuenow",0),n.parent().fadeIn(),t=this.addParametersBeforeUpload(t),KikCMS.action(this.action,t,function(t){e.onSuccess(t),t.errors&&0 input[type=hidden].fileId").val(e),o.addClass("hidden"),r.removeClass("hidden"),void 0!==n&&n()},createFilePicker:function(e){var i=this;return new FilePicker(this.renderableInstance,this.getWebForm(),function(t){i.onPickFile(t,e)})},init:function(){this.initAutocompleteFields(),this.initDateFields(),this.initFileFields(),this.initWysiwyg(),this.initPopovers()},initAutocompleteFields:function(){var a=this;this.getWebForm().find(".autocomplete").each(function(){var e=$(this),t=e.attr("data-field-key"),i=e.attr("data-route"),n={field:t,renderableInstance:a.renderableInstance,renderableClass:a.renderableClass};KikCMS.action(i,n,function(t){a.initAutocompleteData(t,e)})})},initAutocompleteData:function(t,e){var a;e.typeahead({hint:!0,highlight:!0},{limit:10,source:(a=t,function(t,e){var i=[],n=new RegExp(t,"i");$.each(a,function(t,e){n.test(e)&&i.push(e)}),e(i)})})},initDateFields:function(){this.getWebForm().find(".type-date input").each(function(){var t=$(this);if(t.datetimepicker({format:t.attr("data-format"),locale:moment.locale(),useCurrent:!1}),t.attr("data-default-date")){var e=t.val(),i=moment(t.attr("data-default-date"),t.attr("data-format"));t.datetimepicker("defaultDate",i),e||t.val("")}})},initFileFields:function(){var r=this;this.getWebForm().find(".type-file").each(function(){var t=$(this),e=t.find(".file-picker"),i=t.find(".btn.upload"),n=t.find(".btn.delete"),a=t.find(".btn.pick"),s=t.find(".btn.preview"),o=t.find(".btn.pick, .btn.preview");r.initUploader(t),n.click(function(){t.find(".filename").html(""),t.find(" > input[type=hidden].fileId").val(""),a.removeClass("hidden"),n.addClass("hidden"),s.find("img").remove(),s.addClass("hidden")}),o.click(function(){if(0!=$(this).attr("data-finder")){if(1<=e.find(".finder").length)return e.slideToggle(),void i.toggleClass("disabled");r.filePicker=r.createFilePicker(t),r.filePicker.open()}})})},initPopovers:function(){this.getWebForm().find('[data-toggle="popover"]').each(function(){var t=$(this).attr("data-content");$(this).popover({placement:"auto bottom",html:!0,content:t,container:"body"})})},initTinyMCE:function(){var e=this;tinymce.init({selector:this.getWysiwygSelector(),setup:function(t){t.on("change",function(){tinymce.triggerSave()})},language_url:"/cmsassets/tinymce/"+KikCMS.tl("system.langCode")+".js",language:KikCMS.tl("system.langCode"),theme:"modern",relative_urls:!1,remove_script_host:!0,document_base_url:KikCMS.baseUri,plugins:["advlist autolink lists link image charmap print preview hr anchor pagebreak searchreplace visualblocks","visualchars code insertdatetime media nonbreaking save table contextmenu directionality template paste","textcolor colorpicker textpattern codesample toc"],image_advtab:!0,content_css:["/cmsassets/css/tinymce_content.css"],link_list:this.getLinkListUrl(),file_picker_callback:function(t){e.getFilePicker(t)}})},initUploader:function(e){var i=this;new FileUploader({$container:e,action:"/cms/webform/uploadAndPreview",addParametersBeforeUpload:function(t){return t.append("folderId",e.find(".btn.upload").attr("data-folder-id")),t.append("renderableInstance",i.renderableInstance),t.append("renderableClass",i.renderableClass),t},onSuccess:function(t){t.fileId&&i.actionPreview(e,t.fileId,t)}}).init()},initWysiwyg:function(){var t=this;0!=$(this.getWysiwygSelector()).length&&("undefined"==typeof tinymce?$.getScript("//cdn.tinymce.com/4/tinymce.min.js",function(){window.tinymce.dom.Event.domLoaded=!0,tinymce.baseURL="//cdn.tinymce.com/4",tinymce.suffix=".min",t.initTinyMCE()}):this.initTinyMCE())},getFilePicker:function(i){var e=function(e){var t=e.attr("data-id");KikCMS.action("/cms/file/url/"+t,{},function(t){i(t.url,{alt:e.find(".name span").text()}),n.close()})},t=this.getWindowHeight()<768?this.getWindowHeight()-130:768,n=tinymce.activeEditor.windowManager.open({title:"Image Picker",url:"/cms/filePicker",width:952,height:t,buttons:[{text:"Insert",onclick:function(){var t=$(n.$el).find("iframe")[0].contentWindow.$(".filePicker").find(".file.selected");if(!t.length)return!1;e(t)}},{text:"Close",onclick:"close"}]});n.on("open",function(){$(n.$el).find("iframe").on("load",function(){this.contentWindow.$(".filePicker").on("pick",".file",function(){e($(this))})})})},getLinkListUrl:function(){var t="/cms/getTinyMceLinks/";return this.parent&&this.parent.getWindowLanguageCode()?t+this.parent.getWindowLanguageCode()+"/":t},getWebForm:function(){return $("[data-instance="+this.renderableInstance+"]")},getWindowHeight:function(){return $(window).height()},getWysiwygSelector:function(){return"#"+this.getWebForm().attr("id")+" textarea.wysiwyg"},getUploadButtonForFileField:function(t){return t.find(".btn.upload")},onPickFile:function(t,e){var i=this,n=t.attr("data-id"),a=this.getUploadButtonForFileField(e);t.removeClass("selected"),a.removeClass("disabled"),KikCMS.action("/cms/webform/filepreview/"+n,{},function(t){i.actionPreview(e,n,t)})},removeExtension:function(t){return t.replace(/\.[^/.]+$/,"")}}),PagesDataTable=DataTable.extend({actionPath:"/cms/datatable/pages/",closedPageIdsCacheKey:"kikcms.closedPageIds",cachedFieldValues:{},contentHasChanged:function(){return!!this.$.contentHasChanged.call(this)||!$.isEmptyObject(this.cachedFieldValues)},closeWindow:function(){this.$.closeWindow.call(this),this.cachedFieldValues={}},init:function(){this.$.init.call(this),this.initPageTypeMenu()},initWindow:function(){var n=this;this.$.initWindow.call(this),this.onChange(this.getTemplateField(),!1,function(){var i=n.getFormGroups().serializeObject();$.each(i,function(t,e){n.cachedFieldValues[t]=e}),n.actionReloadWindow(function(){n.getFormGroups().each(function(){var t=$(this),e=t.attr("name");e in n.cachedFieldValues&&t.val()!=i[e]&&t.val(n.cachedFieldValues[e])})})})},initPageTypeMenu:function(){var t=this;this.getDataTable().find(".pageTypes ul li a").click(function(){t.actionAdd({pageType:$(this).attr("data-type")})})},initTable:function(){this.$.initTable.call(this),this.initTreeSortControl(),this.initRowsCollapse(),this.updateEvenOdd(),$(".action.preview").click(function(){var t=$(this).parent().attr("data-plid");window.open("/cms/preview/"+t)})},initRowCollapse:function(e){var i=this,n=parseInt(e.attr("data-level"));parseInt(e.next().attr("data-level"))==n+1&&e.addClass("hasChildren"),e.find(".arrow").click(function(t){i.onCollapseArrowClick(t,$(this),e,n)}).on("dblclick",function(t){t.stopPropagation()})},initRowsCollapse:function(){var t=this;this.getRows().each(function(){t.initRowCollapse($(this))})},initTreeSortControl:function(){var t=new TreeSortControl;t.$dataTable=this.getDataTable(),t.onDrop=this.onPageDrop.bind(this),t.init()},actionSave:function(t){var e=this.getForm().find('input[name="pageLanguage*:name"]').val();"link"!=this.getForm().find("input[name=type]").val()&&this.getForm().find('input[name="pageLanguage*:slug"]').each(function(){$(this).val()||$(this).val(KikCMS.toSlug(e))}),this.$.actionSave.call(this,t)},getFilters:function(){var t=this.$.getFilters.call(this);return this.getTemplateField().each(function(){t.template=$(this).val()}),this.getWindow().find("input[name=type]").each(function(){t.pageType=$(this).val()}),t},getRows:function(){return this.$table.find("tbody tr")},onCollapseArrowClick:function(t,i,e,n){t.stopPropagation(),i.toggleClass("closed");var a=null;e.nextAll().each(function(){var t=$(this),e=parseInt(t.attr("data-level"));return null!==a&&a<=e||(a=null,!i.hasClass("closed")&&t.find(".arrow").hasClass("closed")&&(a=e+1),n"+e+""}),this.$tableOverviewBody.html(i)},populateVisitorDataTable:function(t,e){var i="";$.each(e,function(t,e){i+=""+e.value+""+e.visits+''+e.percentage+"%"}),$("#tab-"+t).find("table tbody").html(i)},renderChart:function(){var t={interval:this.getInterval(),start:this.$fieldStart.val(),end:this.$fieldEnd.val()};KikCMS.action(this.URL_GET_VISITORS,t,this.renderChartWithData.bind(this))},renderChartWithData:function(t){var e={title:this.STR_VISITORS,legend:{position:"bottom"},colors:[this.COLOR_PINK,this.COLOR_BLUE],chartArea:{width:"80%"}},i=new google.visualization.DataTable(t.visitorsData),n=new google.visualization.AreaChart(this.$visitors[0]);this.populateOverviewTable(t.overviewData),$.each(t.visitorData,this.populateVisitorDataTable.bind(this)),n.draw(i,e),t.requiresUpdate?this.updateAnalyticsData():this.$buttonRefresh.fadeOut()},updateAnalyticsData:function(){this.$buttonRefresh.fadeIn();var e=this;KikCMS.getSecurityToken(function(t){$.ajax({url:e.URL_UPDATE_STATISTICS,data:{token:t},success:e.onDataUpdate.bind(e),type:"post",dataType:"json",cache:!1})})}}),statistics=new Statistics;function scaleMenu(){var t=$(window),e=t.height()/t.width();$("#menu").css("min-height",$("#main").outerWidth()*e)}$(function(){statistics.init()}),$(function(){$(".datatable").on("click",".action.link",function(){var t=$(this).parent().find('[data-column="email"]').text().trim(),e=window.location.protocol+"//"+window.location.hostname;window.location.port&&80!==window.location.port&&443!==window.location.port&&(e+=":"+window.location.port),alert(e+"/cms/login/activate?email="+t)})}),$(function(){scaleMenu(),$(window).resize(scaleMenu);var a="kikcms.cacheTreeSelection";$(".tree").each(function(){var e=$(this),t=e.find("input[type=checkbox]"),i=localStorage.getItem(a);if(i)for(var n in i=JSON.parse(i))e.find('[id="'+i[n]+'"]').prop("checked",!0);t.change(function(){var t=[];e.find("input[type=checkbox]:checked").each(function(){t.push($(this).attr("id"))}),localStorage.setItem(a,JSON.stringify(t))})})});var WindowManager=Class.extend({windows:null,closeWindow:function(t,e){var i=this.getOverlayContainer(),n=parseInt(t.data("level"));0==n?($("body").removeClass("datatableBlur"),$("body > #menu").css("top","0"),i.css("z-index",3)):($(".dataTableWindow.level"+(n-1)).removeClass("blur"),i.css("z-index",n+2)),$(".dataTableWindow.level"+(n+1)).remove(),t.fadeOut(),t.find(".windowContent").html(""),void 0!==e&&e()},getNotFadingContainer:function(){var t=$("body > #notFading");return t.length||(t=$('
    '),$("body").append(t)),t},getOverlayContainer:function(){var t=$("body > #overlay");return t.length||(t=$('
    '),$("body").prepend(t)),t},getWindow:function(t,e,i){var n=this,a=this.getNotFadingContainer(),s=e.parentsUntil(".dataTableWindow").parent().attr("data-level"),o=t+"Window",r=0;s&&(o+="Level"+(r=parseInt(s)+1));var l=a.find(" > #"+o);return l.length?a.find(" > #"+o).find(".closeButton").unbind("click"):(l='
    ',a.prepend(l)),(l=$("#"+o)).find(".closeButton").click(function(){return void 0===i?n.closeWindow(l):i()}),l},showWindow:function(t){var e=this.getOverlayContainer(),i=parseInt(t.attr("data-level"));0==i?($("body").addClass("datatableBlur"),$("body > #menu").css("top",$(window).scrollTop())):($(".dataTableWindow.level"+(i-1)).addClass("blur"),e.css("z-index",i+3)),t.fadeIn()}}); \ No newline at end of file +function Class(){}function capitalize(t){return t.charAt(0).toUpperCase()+t.slice(1)}function isNumeric(t){return!isNaN(parseFloat(t))&&isFinite(t)}Class.prototype.construct=function(){},Class.__asMethod__=function(i,n){return function(){var t=this.$;this.$=n;var e=i.apply(this,arguments);return this.$=t,e}},Class.extend=function(t){var e=function(){arguments[0]!==Class&&this.construct.apply(this,arguments)},i=new this(Class),n=this.prototype;for(var a in t){var s=t[a];s instanceof Function&&(s=Class.__asMethod__(s,n)),i[a]=s}return i.$=n,e.prototype=i,e.extend=this.extend,e},$.fn.highlight=function(t){return this.length&&t&&t.length?this.each(function(){!function t(e,i){var n=0;if(3==e.nodeType){var a=e.data.toUpperCase().indexOf(i);if(0<=(a-=e.data.substr(0,a).toUpperCase().length-e.data.substr(0,a).length)){var s=document.createElement("span");s.className="highlight";var o=e.splitText(a);o.splitText(i.length);var r=o.cloneNode(!0);s.appendChild(r),o.parentNode.replaceChild(s,o),n=1}}else if(1==e.nodeType&&e.childNodes&&!/(script|style)/i.test(e.tagName))for(var l=0;l'),$(t)},init:function(){this.initTable(),this.initPagination(),this.initSearch(),this.initLanguageSwitch(),this.initButtons(),this.initKeyEvents(),this.initFilters(),this.initRestore()},initButtons:function(){var n=this,t=this.getDataTable().find(".toolbar .btn.delete"),e=this.getDataTable().find(".toolbar .btn.add"),i=this.getDataTable().find(".toolbar .btn.pick-image"),a=this.getDataTable().find(".toolbar .btn.upload");t.click(function(){if("disabled"!=$(this).attr("disabled")){var t=n.getSelectedIds();if(t){var e=t.length,i=n.getDeleteConfirmMessage(e);confirm(i)&&n.actionDelete(t)}}}),i.click(function(){n.actionPickImage()}),e.click(function(){n.actionAdd()}),new FileUploader({$container:a,$uploadButton:a,action:"/cms/datatable/uploadImages",fileTypes:KikCMS.allowedExt,addParametersBeforeUpload:function(t){return t.append("renderableInstance",n.renderableInstance),t.append("renderableClass",n.renderableClass),t},onSuccess:function(t){t.errors?alert(t.errors.join("\n\n")):(n.setTableContent(t.table,t.editedIds),n.setPagesContent(t.pagination))}}).init()},initFilters:function(){var t=this;this.getFilterForm().find("input, select").change(function(){t.actionPage(1)})},initImageThumbs:function(){var s=this,t=this.getDataTable().find("table tr td .thumb"),o=function(t){var e=$(window).scrollTop(),i=$(window).scrollLeft(),n=t.clientX+i+15,a=t.clientY+e+15;s.getThumbHoverContainer().css({left:n,top:a})};t.each(function(){var a=$(this),t=a.parent();t.hover(function(t){var e=s.getThumbHoverContainer();o(t);var i=a.attr("data-thumb-url"),n=i.split("?")[0].endsWith(".svg");e.toggleClass("svg",n),e.show(),e.html('thumb')},function(){s.getThumbHoverContainer().hide()}),t.mousemove(o)}),t.click(function(t){window.open($(this).attr("data-url")),t.stopPropagation()})},initKeyEvents:function(){var e=this,i={},n=function(t){if((t.metaKey||t.ctrlKey)&&t.keyCode==keyCode.S)return!(e.windowIsActive()&&e.getForm().length&&e.getWindow().find(".saveAndClose").length)||(e.actionSave(!0),e.getWindow().find(".saveAndClose").addClass("active"),t.preventDefault(),!1)},t=function(){var t=$(this).attr("id");i[t]||(i[t]=t,$(this.contentWindow.document).keydown(n))},a=function(){$("body").find("iframe").each(t),setTimeout(a,1e3)};a(),$(window).unbind("keydown."+this.renderableInstance),$(window).unbind("keypress."+this.renderableInstance),$(window).bind("keydown."+this.renderableInstance,n),$(window).bind("keypress."+this.renderableInstance,function(t){if(t.keyCode==keyCode.ESCAPE){if(!e.windowIsActive()||!e.getForm().length)return!0;e.attemptToCloseWindow()}})},initLanguageSwitch:function(){var t=this;this.getDataTable().find(".language select").change(function(){t.actionPage(t.getFilters().page)})},initPagination:function(){var i=this;this.getDataTable().find(".pagination a").click(function(){var t=$(this);if(t.parent().hasClass("active")||t.parent().hasClass("disabled"))return!1;var e=t.attr("data-page");i.actionPage(e)})},initSearch:function(){var i=this;this.getSearchField().searchAble(function(t){var e=i.getFilters();e.search=t,e.page=1,i.action("search",e,function(t){i.setTableContent(t.table),i.setPagesContent(t.pagination)})})},initSort:function(){var n=this,t=new SortControl;t.$dataTable=this.getDataTable(),t.onDrop=function(t,e,i){n.action("rearrange",{id:t,targetId:e,position:i},function(t){n.setTableContent(t.table)})},t.init()},initTable:function(){this.$table=this.getDataTable().find("table");var n=this,t=this.$table.find("tbody tr");t.find("td a").click(function(t){t.stopPropagation()}),t.find("td:not(.action)").click(function(t){var e=$(this).parent();e.attr("data-prevent-click")||n.onRowClick(e,t)}),t.find("td.edit").click(function(){var t=$(this).find("input[name=id]").val();n.actionEdit(t)}),t.find("td.delete").click(function(){var t=$(this).attr("data-id");confirm(n.getDeleteConfirmMessage(1))&&n.actionDelete([t])}),t.find("td:not(.action)").on("dblclick",function(){n.onRowDblClick($(this).parent())});var e=this.getSearchField().val();e&&n.getDataTable().find(".table").find("td").highlight(e),this.getDataTable().find("thead td").click(function(){var t,e=$(this),i=e.attr("data-column");switch(e.attr("data-sort")){case"asc":t="desc";break;case"desc":i=t="";break;default:t="asc"}n.sortDirection=t,n.sortColumn=i,n.actionSort(i,t)}),this.initImageThumbs(),this.updateToolbar(),this.initTableCheckBoxes(),void 0!==SortControl&&this.initSort()},initTableCheckBoxes:function(){var a=this;this.$table.find("input.table-checkbox[type=checkbox]").click(function(t){t.stopPropagation()}).dblclick(function(t){t.stopPropagation()}).change(function(){var t=$(this),e=t.is(":checked"),i=t.parent().parent().attr("data-id"),n=t.attr("data-col");t.attr("readonly","readonly"),a.action("checkCheckbox",{editId:i,column:n,checked:e?1:0},function(){t.removeAttr("readonly")},function(){t.removeAttr("readonly")})})},initTabs:function(){var t=this.getWindow(),n=t.find(".tab-contents");t.find(".tabs .tab").each(function(){var t=$(this),e=t.attr("data-tab"),i=n.find(".tab-"+e);t.click(function(){t.siblings().removeClass("active"),t.addClass("active"),n.find(".tab-content").removeClass("active"),i.addClass("active")}),0 .footer"),i=t.height(),n=t.find(".windowContent > .header").outerHeight(),a=0,s=e.length?e.outerHeight():0;0 .tabs").length&&(a=t.find(".windowContent > .tabs").outerHeight()),t.find(".content").css("height",i-n-s-a)},action:function(t,e,i,n){e=this.addActionParameters(e),KikCMS.action(this.actionPath+t,e,i,n,null,this)},actionAdd:function(t,e){var i=this,n=this.getFilters();if(void 0!==t)for(var a in t)n[a]=t[a];this.showWindow(),this.action("add",n,function(t){i.setWindowContent(t.window,e)},function(){i.closeWindow()})},actionDelete:function(t){var i=this,n=this.getFilters();n.ids=t,this.action("delete",n,function(t){if(t.error)alert(t.error);else{var e=parseInt(n.page);1 .filters")},getForm:function(){return this.getWindow().find("form")},getFormEditId:function(){return this.getWindow().find(".webForm").attr("data-id")},getLanguageCode:function(){return this.getDataTable().find(".toolbar .language select").val()},getRows:function(){return this.getDataTable().find("table tr")},getWindowLanguageCode:function(){return this.getWindow().find(".header select[name=language]").val()},getSearchField:function(){return this.getDataTable().find(".toolbar .search input")},getSelectedIds:function(){var t=[];return this.getDataTable().find("tr.selected .edit input[name=id]").each(function(){t.push($(this).val())}),t},getWindow:function(){return KikCMS.windowManager.getWindow(this.renderableInstance,this.getDataTable(),this.attemptToCloseWindow.bind(this))},getWysiwygSelector:function(){return"#"+this.getWindow().find(".webForm").attr("id")+" textarea.wysiwyg"},isSubDataTable:function(){return 1<=this.getDataTable().parents(".dataTableWindow").length},onChange:function(t,e,i){var n,a,s=this;e=void 0===e||e,t.focus(function(){n=t.val(),a=s.getFormSerialized()}).change(function(){!e||s.currentFormInput==a||confirm(KikCMS.tl("dataTable.switchWarning"))?i():t.val(n)})},updateToolbar:function(){var t=this.getDataTable().find("tr.selected"),e=this.getDataTable().find(".toolbar .btn.delete");0 .restore")},getStorageContent:function(){var t=localStorage.getItem(this.getStorageKey());return t?JSON.parse(t):{}},getStorageKey:function(){var t=this.dataTable.getFormEditId();return"kikcms.dt."+this.dataTable.getClassWithoutSlashes()+"."+(t||"new")},remove:function(t){var e=this.getStorageContent();delete e[t],0==Object.keys(e).length?localStorage.removeItem(this.getStorageKey()):localStorage.setItem(this.getStorageKey(),JSON.stringify(e))},restore:function(t){var i=this,e=this.getStorageContent()[t],n=this.getFormattedDateByRestoreObject(e);if(!confirm(KikCMS.tl("dataTable.restoreConfirm",{date:n})))return!1;$.each(e.content,function(t,e){i.restoreField(t,e)}),this.remove(t),this.getRestoreButton().find("[data-id="+t+"]").parent().remove(),this.getRestoreButton().find("li").length||this.getRestoreButton().hide()},restoreField:function(t,e){var i=this.dataTable.getForm().find('[name="'+t+'"]'),n=i.val();(i.val(e),n in KikCMS.renderables&&($("#"+n).attr("id",e),KikCMS.renderables[n].renderableInstance=e,KikCMS.renderables[n].actionPage(1)),i.parent().hasClass("type-file"))&&KikCMS.renderables[this.dataTable.getForm().parent().data("instance")].actionPickFile(i.parent(),e)},showButton:function(){var n=this.getRestoreButton(),t=this.getStorageContent(),a=this;n.show(),$.each(t,function(t,e){var i=a.getFormattedDateByRestoreObject(e);n.find("ul").append('
  • '+i+"
  • ")}),n.find("ul li a").click(function(){a.restore($(this).data("id"))})},startPolling:function(){var t=this,e=this.getContent(),i=this.getStorageContent();if(this.isPolling)return!1;this.isPolling=!0,this.determineStorageIndex(),0!==Object.keys(i).length&&this.showButton(),this.interval=setInterval(function(){t.dataTable.windowIsActive()&&(JSON.stringify(e)!==JSON.stringify(t.getContent())?t.store():t.remove(t.storageIndex))},this.pollInterval)},stopPolling:function(){this.isPolling=!1,this.remove(this.storageIndex),clearInterval(this.interval)},store:function(){var t=this.getStorageContent();t[this.storageIndex]={date:new Date,content:this.getContent()},localStorage.setItem(this.getStorageKey(),JSON.stringify(t))}}),SortControl=Class.extend({dragHoverClass:"dragHover",isDragging:!1,hoveringNode:!1,draggedObject:null,timeDragStarted:0,startX:0,startY:0,moveOnlyVertical:!0,selectedObjectX:0,selectedObjectY:0,$dataTable:null,onDrop:null,init:function(){var i=this,n=$(window),t=this.getHoverObjects(),e=this.getDraggables();e.on("selectstart",function(t){t.preventDefault()}),e.mousedown(function(t){1===t.which&&(i.draggedObject=$(this),i.selectedObjectX=i.getObjectToBeDragged().offset().left,i.selectedObjectY=i.getObjectToBeDragged().offset().top,i.startX=t.clientX+n.scrollLeft(),i.startY=t.clientY+n.scrollTop())}),t.hover(function(){i.isDragging&&$(this).addClass(i.dragHoverClass)},function(){i.isDragging&&($(this).removeClass(i.dragHoverClass),$(this).removeAttr("data-drop"))}),t.mousemove(function(t){if(i.isDragging){var e=$(this);i.isValidDropPosition(e,t.clientY)?e.attr("data-drop",i.getHoverPosition(t.clientY+n.scrollTop(),e)):e.removeAttr("data-drop")}}),n.mousemove(this.windowMouseMove.bind(this)),n.mouseup(this.endDrag.bind(this))},cloneSelectedObject:function(){var t=this.draggedObject.parent(),e=$("
    ").append(t.clone());return e.css("width",t.innerWidth()),t.find("td").each(function(t){e.find("td").eq(t).css("width",$(this).innerWidth())}),e},endDrag:function(){if(this.draggedObject){var t=this.getSelectedRow();this.isDragging&&(t.attr("data-prevent-click",1),setTimeout(function(){t.removeAttr("data-prevent-click")}));var e=this.getHoverObjects();this.isDragging=!1,this.getDragObject().remove();var i=this.$dataTable.find("."+this.dragHoverClass),n=250<(new Date).getTime()-this.timeDragStarted;if(i.length&&this.onDrop&&n){var a=i.attr("data-id"),s=i.attr("data-drop"),o=t.attr("data-id");s&&this.onDrop(o,a,s)}t.removeClass("dragged"),this.draggedObject=null,e.find(".name").removeClass(this.dragHoverClass),e.removeClass(this.dragHoverClass),$("body").removeClass("noSelect").removeClass("isDragging")}},getDragObject:function(){var t=$(".draggedObject");return t.length||((t=this.cloneSelectedObject()).addClass("draggedObject"),$("body").append(t)),t},getHoverPosition:function(t,e){var i=e.outerHeight();return t>e.offset().top+i/2?"after":"before"},getObjectToBeDragged:function(){return this.getSelectedRow()},getSelectedRow:function(){return this.draggedObject.parent()},getDraggables:function(){return this.$dataTable.find("tbody tr td.sort")},getHoverObjects:function(){return this.$dataTable.find("tbody tr")},isDraggingAndNotCurrent:function(t){return!!this.isDragging&&!t.hasClass("dragged")},isValidDropPosition:function(t,e){var i=this.getHoverPosition(e,t);return("after"!=i||t.next()[0]!=this.getSelectedRow()[0])&&(("before"!=i||t.prev()[0]!=this.getSelectedRow()[0])&&t[0]!=this.getSelectedRow()[0])},windowMouseMove:function(t){var e=$(window),i=t.clientX+e.scrollLeft(),n=t.clientY+e.scrollTop();if(this.isDragging){var a=this.getDragObject(),s=this.moveOnlyVertical?this.selectedObjectX:i-(this.startX-this.selectedObjectX);a.css("left",s),a.css("top",n-(this.startY-this.selectedObjectY))}else if(this.draggedObject){var o=i>this.startX+5||ithis.startY+5||n .footer"),i=t.find(".windowContent > .header"),n=t.height(),a=i.outerHeight(),s=e.outerHeight();t.find(".files").css("height",n-a-s-132)},open:function(){var e=this;this.getWindow().on("click",".buttons .cancel",function(){e.close()}),KikCMS.action("/cms/webform/getFinder",{multi:this.multi},function(t){e.initWindow(t.finder)})},pickFile:function(t){t.removeClass("selected"),this.onPickFile(t),this.close()},getWindow:function(){return KikCMS.windowManager.getWindow(this.instance+"FilePicker",this.$element)}}),Finder=Class.extend({renderableInstance:null,renderableClass:null,shiftKeyPressed:!1,pickingMode:!1,multiPick:!1,cutFileIds:[],permission:null,action:function(t,e,i){void 0===e.folderId&&(e.folderId=this.getCurrentFolderId()),e.renderableInstance=this.renderableInstance,e.renderableClass=this.renderableClass,KikCMS.action("/cms/finder/"+t,e,i)},actionAddFolder:function(){var e=this,t=prompt(KikCMS.tl("media.createFolder"),KikCMS.tl("media.defaultFolderName"));t&&this.action("createFolder",{folderName:t},function(t){e.setFilesContainer(t.files,t.fileIds)})},actionCut:function(){this.cutFileIds=this.getSelectedFileIds(),this.initCutFiles()},actionDelete:function(){var i=this,t=this.getSelectedFileIds(),e=1KikCMS.maxFileUploads)return alert(KikCMS.tl("media.uploadMaxFilesWarning",{amount:KikCMS.maxFileUploads})),s.cancel();for(var n=0;nKikCMS.maxFileSize?alert(KikCMS.tl("media.uploadMaxFileSizeWarning",{max:KikCMS.maxFileSizeString})):(t.append("files[]",a),i++)}if(!s.checkFileTypes(this.files)||!i)return s.cancel();s.actionUpload(t)})},actionUpload:function(t){var e=this,n=this.$container.find(".progress-bar");this.$uploadButton.addClass("disabled"),n.width(0),n.attr("aria-valuenow",0),n.parent().fadeIn(),t=this.addParametersBeforeUpload(t),KikCMS.action(this.action,t,function(t){e.onSuccess(t),t.errors&&0 input[type=hidden].fileId").val(e),o.addClass("hidden"),r.removeClass("hidden"),void 0!==n&&n()},createFilePicker:function(e){var i=this;return new FilePicker(this.renderableInstance,this.getWebForm(),function(t){i.onPickFile(t,e)})},init:function(){this.initAutocompleteFields(),this.initDateFields(),this.initFileFields(),this.initWysiwyg(),this.initPopovers()},initAutocompleteFields:function(){var a=this;this.getWebForm().find(".autocomplete").each(function(){var e=$(this),t=e.attr("data-field-key"),i=e.attr("data-route"),n={field:t,renderableInstance:a.renderableInstance,renderableClass:a.renderableClass};KikCMS.action(i,n,function(t){a.initAutocompleteData(t,e)})})},initAutocompleteData:function(t,e){var a;e.typeahead({hint:!0,highlight:!0},{limit:10,source:(a=t,function(t,e){var i=[],n=new RegExp(t,"i");$.each(a,function(t,e){n.test(e)&&i.push(e)}),e(i)})})},initDateFields:function(){this.getWebForm().find(".type-date input").each(function(){var t=$(this);if(t.datetimepicker({format:t.attr("data-format"),locale:moment.locale(),useCurrent:!1}),t.attr("data-default-date")){var e=t.val(),i=moment(t.attr("data-default-date"),t.attr("data-format"));t.datetimepicker("defaultDate",i),e||t.val("")}})},initFileFields:function(){var r=this;this.getWebForm().find(".type-file").each(function(){var t=$(this),e=t.find(".file-picker"),i=t.find(".btn.upload"),n=t.find(".btn.delete"),a=t.find(".btn.pick"),s=t.find(".btn.preview"),o=t.find(".btn.pick, .btn.preview");r.initUploader(t),n.click(function(){t.find(".filename").html(""),t.find(" > input[type=hidden].fileId").val(""),a.removeClass("hidden"),n.addClass("hidden"),s.find("img").remove(),s.addClass("hidden")}),o.click(function(){if(0!=$(this).attr("data-finder")){if(1<=e.find(".finder").length)return e.slideToggle(),void i.toggleClass("disabled");r.filePicker=r.createFilePicker(t),r.filePicker.open()}})})},initPopovers:function(){this.getWebForm().find('[data-toggle="popover"]').each(function(){var t=$(this).attr("data-content");$(this).popover({placement:"auto bottom",html:!0,content:t,container:"body"})})},initTinyMCE:function(){var e=this;tinymce.init({selector:this.getWysiwygSelector(),setup:function(t){t.on("change",function(){tinymce.triggerSave()})},language_url:"/cmsassets/tinymce/"+KikCMS.tl("system.langCode")+".js",language:KikCMS.tl("system.langCode"),theme:"modern",relative_urls:!1,remove_script_host:!0,document_base_url:KikCMS.baseUri,plugins:["advlist autolink lists link image charmap print preview hr anchor pagebreak searchreplace visualblocks","visualchars code insertdatetime media nonbreaking save table contextmenu directionality template paste","textcolor colorpicker textpattern codesample toc"],image_advtab:!0,content_css:["/cmsassets/css/tinymce_content.css"],link_list:this.getLinkListUrl(),file_picker_callback:function(t){e.getFilePicker(t)}})},initUploader:function(e){var i=this;new FileUploader({$container:e,action:"/cms/webform/uploadAndPreview",addParametersBeforeUpload:function(t){return t.append("folderId",e.find(".btn.upload").attr("data-folder-id")),t.append("renderableInstance",i.renderableInstance),t.append("renderableClass",i.renderableClass),t},onSuccess:function(t){t.fileId&&i.actionPreview(e,t.fileId,t)}}).init()},initWysiwyg:function(){var t=this;0!=$(this.getWysiwygSelector()).length&&("undefined"==typeof tinymce?$.getScript("//cdn.tinymce.com/4/tinymce.min.js",function(){window.tinymce.dom.Event.domLoaded=!0,tinymce.baseURL="//cdn.tinymce.com/4",tinymce.suffix=".min",t.initTinyMCE()}):this.initTinyMCE())},getFilePicker:function(i){var e=function(e){var t=e.attr("data-id");KikCMS.action("/cms/file/url/"+t,{},function(t){i(t.url,{alt:e.find(".name span").text()}),n.close()})},t=this.getWindowHeight()<768?this.getWindowHeight()-130:768,n=tinymce.activeEditor.windowManager.open({title:"Image Picker",url:"/cms/filePicker",width:952,height:t,buttons:[{text:"Insert",onclick:function(){var t=$(n.$el).find("iframe")[0].contentWindow.$(".filePicker").find(".file.selected");if(!t.length)return!1;e(t)}},{text:"Close",onclick:"close"}]});n.on("open",function(){$(n.$el).find("iframe").on("load",function(){this.contentWindow.$(".filePicker").on("pick",".file",function(){e($(this))})})})},getLinkListUrl:function(){var t="/cms/getTinyMceLinks/";return this.parent&&this.parent.getWindowLanguageCode()?t+this.parent.getWindowLanguageCode()+"/":t},getWebForm:function(){return $("[data-instance="+this.renderableInstance+"]")},getWindowHeight:function(){return $(window).height()},getWysiwygSelector:function(){return"#"+this.getWebForm().attr("id")+" textarea.wysiwyg"},getUploadButtonForFileField:function(t){return t.find(".btn.upload")},onPickFile:function(t,e){var i=this,n=t.attr("data-id"),a=this.getUploadButtonForFileField(e);t.removeClass("selected"),a.removeClass("disabled"),KikCMS.action("/cms/webform/filepreview/"+n,{},function(t){i.actionPreview(e,n,t)})},removeExtension:function(t){return t.replace(/\.[^/.]+$/,"")}}),PagesDataTable=DataTable.extend({actionPath:"/cms/datatable/pages/",closedPageIdsCacheKey:"kikcms.closedPageIds",cachedFieldValues:{},contentHasChanged:function(){return!!this.$.contentHasChanged.call(this)||!$.isEmptyObject(this.cachedFieldValues)},closeWindow:function(){this.$.closeWindow.call(this),this.cachedFieldValues={}},init:function(){this.$.init.call(this),this.initPageTypeMenu()},initWindow:function(){var n=this;this.$.initWindow.call(this),this.onChange(this.getTemplateField(),!1,function(){var i=n.getFormGroups().serializeObject();$.each(i,function(t,e){n.cachedFieldValues[t]=e}),n.actionReloadWindow(function(){n.getFormGroups().each(function(){var t=$(this),e=t.attr("name");e in n.cachedFieldValues&&t.val()!=i[e]&&t.val(n.cachedFieldValues[e])})})})},initPageTypeMenu:function(){var t=this;this.getDataTable().find(".pageTypes ul li a").click(function(){t.actionAdd({pageType:$(this).attr("data-type")})})},initTable:function(){this.$.initTable.call(this),this.initTreeSortControl(),this.initRowsCollapse(),this.updateEvenOdd(),$(".action.preview").click(function(){var t=$(this).parent().attr("data-plid");window.open("/cms/preview/"+t)})},initRowCollapse:function(e){var i=this,n=parseInt(e.attr("data-level"));parseInt(e.next().attr("data-level"))==n+1&&e.addClass("hasChildren"),e.find(".arrow").click(function(t){i.onCollapseArrowClick(t,$(this),e,n)}).on("dblclick",function(t){t.stopPropagation()})},initRowsCollapse:function(){var t=this;this.getRows().each(function(){t.initRowCollapse($(this))})},initTreeSortControl:function(){var t=new TreeSortControl;t.$dataTable=this.getDataTable(),t.onDrop=this.onPageDrop.bind(this),t.init()},actionSave:function(t){var e=this.getForm().find('input[name="pageLanguage*:name"]').val();"link"!=this.getForm().find("input[name=type]").val()&&this.getForm().find('input[name="pageLanguage*:slug"]').each(function(){$(this).val()||$(this).val(KikCMS.toSlug(e))}),this.$.actionSave.call(this,t)},getFilters:function(){var t=this.$.getFilters.call(this);return this.getTemplateField().each(function(){t.template=$(this).val()}),this.getWindow().find("input[name=type]").each(function(){t.pageType=$(this).val()}),t},getRows:function(){return this.$table.find("tbody tr")},onCollapseArrowClick:function(t,i,e,n){t.stopPropagation(),i.toggleClass("closed");var a=null;e.nextAll().each(function(){var t=$(this),e=parseInt(t.attr("data-level"));return null!==a&&a<=e||(a=null,!i.hasClass("closed")&&t.find(".arrow").hasClass("closed")&&(a=e+1),n"+e+""}),this.$tableOverviewBody.html(i)},populateVisitorDataTable:function(t,e){var i="";$.each(e,function(t,e){i+=""+e.value+""+e.visits+''+e.percentage+"%"}),$("#tab-"+t).find("table tbody").html(i)},renderChart:function(){var t={interval:this.getInterval(),start:this.$fieldStart.val(),end:this.$fieldEnd.val()};KikCMS.action(this.URL_GET_VISITORS,t,this.renderChartWithData.bind(this))},renderChartWithData:function(t){var e={title:this.STR_VISITORS,legend:{position:"bottom"},colors:[this.COLOR_PINK,this.COLOR_BLUE],chartArea:{width:"80%"}},i=new google.visualization.DataTable(t.visitorsData),n=new google.visualization.AreaChart(this.$visitors[0]);this.populateOverviewTable(t.overviewData),$.each(t.visitorData,this.populateVisitorDataTable.bind(this)),n.draw(i,e),t.requiresUpdate?this.updateAnalyticsData():this.$buttonRefresh.fadeOut()},updateAnalyticsData:function(){this.$buttonRefresh.fadeIn();var e=this;KikCMS.getSecurityToken(function(t){$.ajax({url:e.URL_UPDATE_STATISTICS,data:{token:t},success:e.onDataUpdate.bind(e),type:"post",dataType:"json",cache:!1})})}}),statistics=new Statistics;function scaleMenu(){var t=$(window),e=t.height()/t.width();$("#menu").css("min-height",$("#main").outerWidth()*e)}$(function(){statistics.init()}),$(function(){$(".datatable").on("click",".action.link",function(){var t=$(this).parent().find('[data-column="email"]').text().trim(),e=window.location.protocol+"//"+window.location.hostname;window.location.port&&80!==window.location.port&&443!==window.location.port&&(e+=":"+window.location.port),alert(e+"/cms/login/activate?email="+t)})}),$(function(){scaleMenu(),$(window).resize(scaleMenu);var a="kikcms.cacheTreeSelection";$(".tree").each(function(){var e=$(this),t=e.find("input[type=checkbox]"),i=localStorage.getItem(a);if(i)for(var n in i=JSON.parse(i))e.find('[id="'+i[n]+'"]').prop("checked",!0);t.change(function(){var t=[];e.find("input[type=checkbox]:checked").each(function(){t.push($(this).attr("id"))}),localStorage.setItem(a,JSON.stringify(t))})})});var WindowManager=Class.extend({windows:null,closeWindow:function(t,e){var i=this.getOverlayContainer(),n=parseInt(t.data("level"));0==n?($("body").removeClass("datatableBlur"),$("body > #menu").css("top","0"),i.css("z-index",3)):($(".dataTableWindow.level"+(n-1)).removeClass("blur"),i.css("z-index",n+2)),$(".dataTableWindow.level"+(n+1)).remove(),t.fadeOut(),t.find(".windowContent").html(""),void 0!==e&&e()},getNotFadingContainer:function(){var t=$("body > #notFading");return t.length||(t=$('
    '),$("body").append(t)),t},getOverlayContainer:function(){var t=$("body > #overlay");return t.length||(t=$('
    '),$("body").prepend(t)),t},getWindow:function(t,e,i){var n=this,a=this.getNotFadingContainer(),s=e.parentsUntil(".dataTableWindow").parent().attr("data-level"),o=t+"Window",r=0;s&&(o+="Level"+(r=parseInt(s)+1));var l=a.find(" > #"+o);return l.length?a.find(" > #"+o).find(".closeButton").unbind("click"):(l='
    ',a.prepend(l)),(l=$("#"+o)).find(".closeButton").click(function(){return void 0===i?n.closeWindow(l):i()}),l},showWindow:function(t){var e=this.getOverlayContainer(),i=parseInt(t.attr("data-level"));0==i?($("body").addClass("datatableBlur"),$("body > #menu").css("top",$(window).scrollTop())):($(".dataTableWindow.level"+(i-1)).addClass("blur"),e.css("z-index",i+3)),t.fadeIn()}}); \ No newline at end of file