{"version":3,"sources":["keditor.js"],"names":["$","flog","KEditor","debug","args","Array","prototype","slice","apply","arguments","unshift","console","log","error","msg","Error","fn","draggable","droppable","sortable","target","options","this","element","extend","DEFAULTS","init","instances","version","niceScrollEnabled","nestedContainerEnabled","btnMoveContainerText","btnMoveComponentText","btnSettingContainerText","btnSettingComponentText","btnDuplicateContainerText","btnDuplicateComponentText","btnDeleteContainerText","btnDeleteComponentText","tabContainersText","tabContainersTitle","tabComponentsText","tabComponentsTitle","confirmDeleteContainerText","confirmDeleteComponentText","tabTooltipEnabled","extraTabs","defaultComponentType","sidebarContainer","snippetsUrl","snippetsTooltipEnabled","snippetsTooltipPosition","snippetsFilterEnabled","snippetsCategoriesSeparator","iframeMode","contentStyles","contentAreasSelector","contentAreasWrapper","containerSettingEnabled","containerSettingInitFunction","containerSettingShowFunction","containerSettingHideFunction","onReady","onInitFrame","frame","frameHead","frameBody","onSidebarToggled","isOpened","onContentChanged","event","contentArea","onBeforeInitContentArea","onInitContentArea","onBeforeInitContainer","container","onInitContainer","onBeforeContainerDeleted","selectedContainer","onContainerDeleted","onContainerChanged","changedContainer","onContainerDuplicated","originalContainer","newContainer","onContainerSelected","onContainerSnippetDropped","droppedSnippet","onComponentReady","component","onBeforeInitComponent","onInitComponent","onBeforeComponentDeleted","selectedComponent","onComponentDeleted","onComponentChanged","changedComponent","onComponentDuplicated","originalComponent","newComponent","onComponentSelected","onComponentSnippetDropped","onBeforeDynamicContentLoad","dynamicElement","onDynamicContentLoaded","response","status","xhr","onDynamicContentError","components","blank","settingEnabled","self","initFrame","window","body","document","is","htmlContent","val","keditorWrapper","after","attr","class","keditorWrapperId","generateId","html","addClass","ajaxRequest","hasClass","snippetsList","find","containerSnippets","componentSnippets","initSidebar","initKEditorClicks","initContentAreas","call","type","timestamp","Date","getTime","random","Math","round","initNiceScroll","niceScroll","cursorcolor","cursorwidth","railpadding","top","right","left","bottom","cursorborder","disablemutationobserver","originalContent","iframe","iframeId","id","iframeDoc","contents","get","open","close","contentWindow","contentDocument","defaultView","iframeHead","iframeBody","styles","each","style","href","isArray","i","idStr","content","append","initSidebarToggler","length","ajax","dataType","url","success","resp","renderSnippets","initSnippets","initTabs","initTabsSwitcher","initSettingPanel","initSnippetsFilter","tooltip","trigger","jqXHR","lowerCaseType","toLowerCase","categories","filterHtml","tab","snippets","prepend","snippet","filterCategories","split","data","txtSearch","cbbFilter","doFilter","selectedCategory","searchText","dataCategories","dataCategoriesString","join","inArray","title","indexOf","removeClass","on","timer","clearTimeout","setTimeout","toggleSidebar","showSidebar","icon","e","preventDefault","snippetsContainerHtml","snippetsComponentHtml","snippetsContentHtml","snippetsContainerCategories","snippetsComponentCategories","trim","previewUrl","snippetHtml","concat","dataAttributes","getDataAttributes","beautifyCategories","newArray","category","push","sort","getConnectedForContainerSnippets","selector","helper","revert","connectToSortable","start","blur","stop","switcherWrapper","tabPaneWrapper","isPlainObject","tabName","tabData","text","switcherLis","tabContent","a","li","parent","activatedLi","filter","activatedPane","targetDiv","getNiceScroll","hide","targetNiceScroll","show","resize","hideSettingPanel","settingForms","form","setSettingContainer","idSettingContainer","removeAttr","getSettingContainer","setSettingComponent","idSettingComponent","getSettingComponent","showSettingPanel","isComponent","activeForm","children","componentType","getComponentType","componentData","settingTitle","settingForm","initSettingForm","loadingText","initFunction","when","done","remove","showSettingForm","activeType","hideSettingForm","getContentAreas","contentAreas","empty","initContentArea","handle","items","connectWith","axis","receive","ui","item","snippetContent","replaceWith","initContainer","over","out","convertToContainer","contentData","isSection","wrapInner","wrap","isNested","closest","settingBtn","containerContents","containerContent","initContainerContent","parents","snippetContentElement","snippetType","initComponent","child","convertToComponent","isExisting","ignoreAttributes","attributes","name","value","replace","componentContent","isSettingEnabled","initDynamicContent","getClickedElement","sidebar","btn","getContainerContent","currentLinkedContainerContents","add","confirm","settingComponent","settingComponentParent","deleteComponent","getComponentContent","destroy","dynamicHref","param","clone","iframeWrapper","unwrap","getContent","tempDiv","containerInner","not","result","initIframeCover","wrapper","cover","setContent","jquery","getOptions","getLatestContent","instanceId","notIframeInstanceCount","keditor","instance","constructor","jQuery"],"mappings":"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","file":"keditor.min.js","sourcesContent":["(function ($) {\r\n // Log function will print log message\r\n var flog = function () {\r\n if (typeof (console) !== 'undefined' && KEditor.debug === true) {\r\n var args = Array.prototype.slice.apply(arguments);\r\n args.unshift('[KEditor]');\r\n\r\n console.log.apply(console, args);\r\n }\r\n };\r\n\r\n // Throw error message\r\n var error = function (msg) {\r\n throw new Error('[KEditor] ' + msg);\r\n };\r\n\r\n // Check dependencies\r\n if (!$.fn.draggable) {\r\n error('$.fn.draggable does not exist. Please import $.fn.draggable into your document for continue using KEditor.');\r\n }\r\n if (!$.fn.droppable) {\r\n error('$.fn.droppable does not exist. Please import $.fn.droppable into your document for continue using KEditor.');\r\n }\r\n if (!$.fn.sortable) {\r\n error('$.fn.sortable does not exist. Please import $.fn.sortable into your document for continue using KEditor.');\r\n }\r\n\r\n // KEditor class\r\n var KEditor = function (target, options) {\r\n this.element = target;\r\n this.options = $.extend({}, KEditor.DEFAULTS, options);\r\n this.init(target);\r\n };\r\n\r\n // KEditor instances\r\n KEditor.instances = {};\r\n\r\n // Turn on/off debug mode\r\n KEditor.debug = true;\r\n\r\n // Version of KEditor\r\n KEditor.version = '1.1.7';\r\n\r\n // Default configuration of KEditor\r\n KEditor.DEFAULTS = {\r\n niceScrollEnabled: true,\r\n nestedContainerEnabled: true,\r\n btnMoveContainerText: '',\r\n btnMoveComponentText: '',\r\n btnSettingContainerText: '',\r\n btnSettingComponentText: '',\r\n btnDuplicateContainerText: '',\r\n btnDuplicateComponentText: '',\r\n btnDeleteContainerText: '',\r\n btnDeleteComponentText: '',\r\n tabContainersText: 'Containers',\r\n tabContainersTitle: 'Containers',\r\n tabComponentsText: 'Components',\r\n tabComponentsTitle: 'Components',\r\n confirmDeleteContainerText: 'Are you sure that you want to delete this container? This action can not be undone!',\r\n confirmDeleteComponentText: 'Are you sure that you want to delete this component? This action can not be undone!',\r\n tabTooltipEnabled: true,\r\n extraTabs: null,\r\n defaultComponentType: 'blank',\r\n sidebarContainer: null,\r\n snippetsUrl: 'snippets/snippets.html',\r\n snippetsTooltipEnabled: true,\r\n snippetsTooltipPosition: 'left',\r\n snippetsFilterEnabled: true,\r\n snippetsCategoriesSeparator: ';',\r\n iframeMode: false,\r\n contentStyles: [],\r\n contentAreasSelector: null,\r\n contentAreasWrapper: '
',\r\n containerSettingEnabled: false,\r\n containerSettingInitFunction: null,\r\n containerSettingShowFunction: null,\r\n containerSettingHideFunction: null,\r\n onReady: function () {\r\n },\r\n onInitFrame: function (frame, frameHead, frameBody) {\r\n },\r\n onSidebarToggled: function (isOpened) {\r\n },\r\n onContentChanged: function (event, contentArea) {\r\n },\r\n\r\n onBeforeInitContentArea: function (contentArea) {\r\n },\r\n onInitContentArea: function (contentArea) {\r\n },\r\n\r\n onBeforeInitContainer: function (container, contentArea) {\r\n },\r\n onInitContainer: function (container, contentArea) {\r\n },\r\n onBeforeContainerDeleted: function (event, selectedContainer, contentArea) {\r\n },\r\n onContainerDeleted: function (event, selectedContainer, contentArea) {\r\n },\r\n onContainerChanged: function (event, changedContainer, contentArea) {\r\n },\r\n onContainerDuplicated: function (event, originalContainer, newContainer, contentArea) {\r\n },\r\n onContainerSelected: function (event, selectedContainer, contentArea) {\r\n },\r\n onContainerSnippetDropped: function (event, newContainer, droppedSnippet, contentArea) {\r\n },\r\n\r\n onComponentReady: function (component) {\r\n },\r\n onBeforeInitComponent: function (component, contentArea) {\r\n },\r\n onInitComponent: function (component, contentArea) {\r\n },\r\n onBeforeComponentDeleted: function (event, selectedComponent, contentArea) {\r\n },\r\n onComponentDeleted: function (event, selectedComponent, contentArea) {\r\n },\r\n onComponentChanged: function (event, changedComponent, contentArea) {\r\n },\r\n onComponentDuplicated: function (event, originalComponent, newComponent, contentArea) {\r\n },\r\n onComponentSelected: function (event, selectedComponent, contentArea) {\r\n },\r\n onComponentSnippetDropped: function (event, newComponent, droppedSnippet, contentArea) {\r\n },\r\n\r\n onBeforeDynamicContentLoad: function (dynamicElement, component, contentArea) {\r\n },\r\n onDynamicContentLoaded: function (dynamicElement, response, status, xhr, contentArea) {\r\n },\r\n onDynamicContentError: function (dynamicElement, response, status, xhr, contentArea) {\r\n }\r\n };\r\n\r\n // Component types\r\n KEditor.components = {\r\n blank: {\r\n settingEnabled: false\r\n }\r\n };\r\n\r\n // Export log methods;\r\n KEditor.log = flog;\r\n KEditor.error = error;\r\n\r\n KEditor.prototype.init = function (target) {\r\n var self = this;\r\n var options = self.options;\r\n\r\n if (options.iframeMode) {\r\n target = self.initFrame(target);\r\n } else {\r\n self.window = window;\r\n self.body = $(document.body);\r\n\r\n if (target.is('textarea')) {\r\n flog('Target is textarea', target);\r\n\r\n var htmlContent = target.val();\r\n var keditorWrapper = $(options.contentAreasWrapper || '');\r\n target.after(keditorWrapper);\r\n keditorWrapper.attr({\r\n class: 'keditor-ui keditor-wrapper'\r\n });\r\n\r\n var keditorWrapperId = keditorWrapper.attr('id');\r\n if (!keditorWrapperId) {\r\n keditorWrapperId = self.generateId('wrapper');\r\n keditorWrapper.attr('id', keditorWrapperId);\r\n }\r\n\r\n keditorWrapper.html(htmlContent);\r\n target.addClass('keditor-hidden-element');\r\n target.attr('data-keditor-wrapper', '#' + keditorWrapperId);\r\n\r\n target = keditorWrapper;\r\n }\r\n }\r\n\r\n var body = self.body;\r\n var ajaxRequest;\r\n if (body.hasClass('initialized-snippets-list')) {\r\n flog('Snippets list is already initialized!');\r\n var snippetsList = body.find('#keditor-snippets-list');\r\n self.containerSnippets = snippetsList.find('.keditor-snippet[data-type=container]');\r\n self.componentSnippets = snippetsList.find('.keditor-snippet[data-type^=component]');\r\n } else {\r\n ajaxRequest = self.initSidebar();\r\n body.addClass('initialized-snippets-list');\r\n }\r\n if (body.hasClass('initialized-click-event-handlers')) {\r\n flog('CLick event handlers is already initialized!');\r\n } else {\r\n self.initKEditorClicks();\r\n body.addClass('initialized-click-event-handlers');\r\n }\r\n\r\n self.initContentAreas(target);\r\n\r\n if (!ajaxRequest && typeof options.onReady === 'function') {\r\n options.onReady.call(self);\r\n }\r\n };\r\n\r\n KEditor.prototype.generateId = function (type) {\r\n var timestamp = (new Date()).getTime();\r\n var random = Math.round(Math.random() * 9876543210);\r\n return 'keditor-' + type + '-' + timestamp + random;\r\n };\r\n\r\n KEditor.prototype.initNiceScroll = function (target) {\r\n flog('initNiceScroll', target);\r\n\r\n if ($.fn.niceScroll && this.options.niceScrollEnabled) {\r\n flog('Initialize $.fn.niceScroll');\r\n target.niceScroll({\r\n cursorcolor: '#999',\r\n cursorwidth: 6,\r\n railpadding: {\r\n top: 0,\r\n right: 0,\r\n left: 0,\r\n bottom: 0\r\n },\r\n cursorborder: '',\r\n disablemutationobserver: true\r\n });\r\n } else {\r\n flog('$.fn.niceScroll does not exist. Use default sidebar.');\r\n }\r\n };\r\n\r\n KEditor.prototype.initFrame = function (target) {\r\n flog('initFrame', target);\r\n\r\n var self = this;\r\n var options = self.options;\r\n var originalContent = target.is('textarea') ? target.val() : target.html();\r\n var iframe = $('');\r\n var iframeId = self.generateId('frame');\r\n\r\n target.after(iframe);\r\n iframe.attr({\r\n 'id': iframeId,\r\n 'class': 'keditor-ui keditor-frame'\r\n });\r\n\r\n target.addClass('keditor-hidden-element');\r\n target.attr('data-keditor-frame', '#' + iframeId);\r\n\r\n var iframeDoc = self.iframeDoc = iframe.contents();\r\n // Fix issue Firefox can't render content inside iframe\r\n // ======================================================\r\n iframeDoc.get(0).open();\r\n iframeDoc.get(0).close();\r\n // ======================================================\r\n self.window = iframe[0].contentWindow ? iframe[0].contentWindow : iframe[0].contentDocument.defaultView;\r\n var iframeHead = self.iframeHead = iframeDoc.find('head');\r\n var iframeBody = self.iframeBody = iframeDoc.find('body');\r\n\r\n flog('Adding styles to iframe...');\r\n var styles = '';\r\n $('[data-type=\"keditor-style\"]').each(function () {\r\n var style = $(this);\r\n var href = style.attr('href') || style.attr('data-href') || '';\r\n\r\n if (href) {\r\n styles += '\\n';\r\n } else {\r\n styles += '\\n';\r\n }\r\n });\r\n\r\n if (options.contentStyles && $.isArray(options.contentStyles)) {\r\n $.each(options.contentStyles, function (i, style) {\r\n var idStr = '';\r\n if (style.id) {\r\n idStr = ' id=\"' + style.id + '\" '\r\n }\r\n\r\n if (style.href) {\r\n styles += '\\n';\r\n } else {\r\n styles += '\\n';\r\n }\r\n });\r\n }\r\n\r\n flog('Styles: \\n' + styles);\r\n\r\n iframeHead.append(styles);\r\n flog('All styles are added');\r\n\r\n flog('Adding original content to iframe...');\r\n if (!options.contentAreasWrapper) {\r\n options.contentAreasWrapper = '';\r\n }\r\n\r\n var contentAreasWrapper = self.contentAreasWrapper = $(options.contentAreasWrapper);\r\n contentAreasWrapper.html(originalContent);\r\n iframeBody.append(contentAreasWrapper);\r\n\r\n self.body = iframeBody;\r\n\r\n if (typeof options.onInitFrame === 'function') {\r\n options.onInitFrame.call(self, iframe, iframeHead, iframeBody);\r\n }\r\n\r\n return contentAreasWrapper;\r\n };\r\n\r\n KEditor.prototype.initSidebar = function () {\r\n flog('initSidebar');\r\n\r\n var self = this;\r\n var options = self.options;\r\n var body = self.body;\r\n body.addClass('opened-keditor-sidebar');\r\n var sidebarContainer = body;\r\n if (options.sidebarContainer) {\r\n sidebarContainer = body.find(options.sidebarContainer);\r\n }\r\n\r\n flog('Render Keditor sidebar');\r\n sidebarContainer.append(\r\n ' '\r\n );\r\n self.initSidebarToggler();\r\n\r\n if (typeof options.snippetsUrl === 'string' && options.snippetsUrl.length > 0) {\r\n flog('Getting snippets form \"' + options.snippetsUrl + '\"...');\r\n\r\n return $.ajax({\r\n type: 'get',\r\n dataType: 'html',\r\n url: options.snippetsUrl,\r\n success: function (resp) {\r\n flog('Success in getting snippets');\r\n\r\n self.renderSnippets(resp);\r\n self.initSnippets();\r\n self.initTabs();\r\n self.initTabsSwitcher();\r\n self.initSettingPanel();\r\n\r\n if (options.snippetsFilterEnabled) {\r\n self.initSnippetsFilter('Container');\r\n self.initSnippetsFilter('Component');\r\n }\r\n\r\n if (options.snippetsTooltipEnabled || options.tabTooltipEnabled) {\r\n flog('Initialize Bootstrap tooltip plugin');\r\n body.find('#keditor-snippets-list').find('[data-toggle=\"tooltip\"]').tooltip({\r\n trigger: 'hover'\r\n });\r\n }\r\n\r\n if (typeof options.onReady === 'function') {\r\n options.onReady.call(self);\r\n }\r\n },\r\n error: function (jqXHR) {\r\n flog('Error when getting snippets', jqXHR);\r\n }\r\n });\r\n } else {\r\n error('\"snippetsUrl\" must be not null!');\r\n }\r\n };\r\n\r\n KEditor.prototype.initSnippetsFilter = function (type) {\r\n flog('initSnippetsFilter for ' + type);\r\n\r\n var self = this;\r\n var options = self.options;\r\n var body = self.body;\r\n var lowerCaseType = type.toLowerCase();\r\n var categories = self['snippets' + type + 'Categories'];\r\n\r\n var filterHtml = '';\r\n filterHtml += '