{"version":3,"sources":["webpack:///webpack/universalModuleDefinition","webpack:///webpack/bootstrap","webpack:///external \"KEditor\"","webpack:///external \"jQuery\"","webpack:///external \"CKEDITOR\"","webpack:///./src/components/keditor-component-audio.js","webpack:///./src/components/keditor-component-form.js","webpack:///./src/components/keditor-component-googlemap.js","webpack:///./src/components/keditor-component-photo.js","webpack:///./src/components/keditor-component-text.js","webpack:///./src/components/keditor-component-video.js","webpack:///./src/components/keditor-component-vimeo.js","webpack:///./src/components/keditor-component-youtube.js"],"names":["root","factory","exports","module","require","define","amd","a","i","self","this","__WEBPACK_EXTERNAL_MODULE__0__","__WEBPACK_EXTERNAL_MODULE__1__","__WEBPACK_EXTERNAL_MODULE__2__","installedModules","__webpack_require__","moduleId","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","KEditor","components","settingEnabled","settingTitle","init","contentArea","container","component","keditor","componentContent","find","length","wrapInner","initSettingForm","form","append","fileInput","off","on","e","preventDefault","trigger","file","files","test","type","getSettingComponent","attr","URL","createObjectURL","alert","prop","checked","audio","parent","css","showSettingForm","wrapper","autoplayToggle","controlsToggle","audioWidth","val","modal","formBuilder","emptyContent","renderForm","formContent","temp","$","formRender","dataType","formData","actions","getData","html","hasClass","children","each","div","dataGrid","split","wrap","label","input","subDiv","addClass","initModal","visibility","display","opacity","showActionButtons","disableFields","disabledAttrs","typeUserDisabledAttrs","hideModal","setTimeout","setData","showModal","removeClass","layout","iframe","initIframeCover","inputData","prompt","src","options","photoEdit","next","reader","FileReader","addEventListener","img","target","result","width","height","load","readAsDataURL","inputWidth","inputHeight","newWidth","newHeight","Math","round","ratio","inputAlign","inputResponsive","cbbStyle","panel","algin","CKEDITOR","disableAutoInline","dom","element","scrollIntoView","selection","range","toolbarGroups","groups","title","allowedContent","bodyId","templates_replaceContent","enterMode","forceEnterMode","format_tags","removePlugins","removeButtons","minimumChangeMilliseconds","onComponentChanged","onContainerChanged","onContentChanged","editor","inline","appendTo","onComponentReady","event","data","domEvent","ctrlKey","keyCode","console","log","iframeBody","scrollTop","offset","top","getContent","id","instances","destroy","video","is","unwrap","currentRatio","filter","match","chkAutoplay","embedItem","newUrl","replace","indexOf"],"mappings":"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","file":"js/keditor-components.js","sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory(require(\"KEditor\"), require(\"jQuery\"), require(\"CKEDITOR\"));\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([\"KEditor\", \"jQuery\", \"CKEDITOR\"], factory);\n\telse {\n\t\tvar a = typeof exports === 'object' ? factory(require(\"KEditor\"), require(\"jQuery\"), require(\"CKEDITOR\")) : factory(root[\"KEditor\"], root[\"jQuery\"], root[\"CKEDITOR\"]);\n\t\tfor(var i in a) (typeof exports === 'object' ? exports : root)[i] = a[i];\n\t}\n})(typeof self !== 'undefined' ? self : this, function(__WEBPACK_EXTERNAL_MODULE__0__, __WEBPACK_EXTERNAL_MODULE__1__, __WEBPACK_EXTERNAL_MODULE__2__) {\nreturn "," \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 7);\n","module.exports = __WEBPACK_EXTERNAL_MODULE__0__;","module.exports = __WEBPACK_EXTERNAL_MODULE__1__;","module.exports = __WEBPACK_EXTERNAL_MODULE__2__;","import KEditor from 'keditor';\r\n\r\nKEditor.components['audio'] = {\r\n settingEnabled: true,\r\n \r\n settingTitle: 'Audio Settings',\r\n \r\n init: function (contentArea, container, component, keditor) {\r\n let componentContent = component.find('.keditor-component-content');\r\n \r\n if (componentContent.find('.audio-wrapper').length === 0) {\r\n componentContent.wrapInner('
');\r\n }\r\n },\r\n \r\n initSettingForm: function (form, keditor) {\r\n form.append(\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n let fileInput = form.find('.audio-upload');\r\n let btnAudioUpload = form.find('.btn-audio-upload');\r\n btnAudioUpload.off('click').on('click', function (e) {\r\n e.preventDefault();\r\n \r\n fileInput.trigger('click');\r\n });\r\n fileInput.off('change').on('change', function () {\r\n let file = this.files[0];\r\n if (/audio/.test(file.type)) {\r\n // Todo: Upload to your server :)\r\n \r\n let audio = keditor.getSettingComponent().find('audio');\r\n audio.attr('src', URL.createObjectURL(file));\r\n } else {\r\n alert('Your selected file is not an audio file!');\r\n }\r\n });\r\n \r\n let autoplayToggle = form.find('.audio-autoplay');\r\n autoplayToggle.on('click', function () {\r\n let audio = keditor.getSettingComponent().find('audio');\r\n audio.prop('autoplay', this.checked);\r\n });\r\n \r\n let controlsToggle = form.find('.audio-controls');\r\n controlsToggle.on('click', function () {\r\n let audio = keditor.getSettingComponent().find('audio');\r\n audio.prop('controls', this.checked);\r\n });\r\n \r\n let audioWidth = form.find('.audio-width');\r\n audioWidth.on('change', function () {\r\n let audio = keditor.getSettingComponent().find('audio');\r\n let wrapper = audio.parent();\r\n \r\n wrapper.attr('data-width', this.value);\r\n audio.css('width', this.value + '%');\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let audio = component.find('audio');\r\n let wrapper = audio.parent();\r\n \r\n let autoplayToggle = form.find('.audio-autoplay');\r\n let controlsToggle = form.find('.audio-controls');\r\n let audioWidth = form.find('.audio-width');\r\n \r\n autoplayToggle.prop('checked', !!audio.attr('autoplay'));\r\n controlsToggle.prop('checked', !!audio.attr('controls'));\r\n audioWidth.val(wrapper.attr('data-width') || 100);\r\n }\r\n};\r\n","import '../styles/keditor-component-form.less';\r\n\r\nimport $ from 'jquery';\r\nimport KEditor from 'keditor';\r\n\r\nlet modal;\r\nlet formBuilder;\r\n\r\nKEditor.components['form'] = {\r\n emptyContent: '


[No form content]

',\r\n \r\n renderForm: function (component) {\r\n let formContent = component.find('.form-content');\r\n let temp = $('
');\r\n \r\n temp.formRender({\r\n dataType: 'json',\r\n formData: formBuilder.actions.getData('json')\r\n });\r\n \r\n formContent.html(temp.html());\r\n \r\n if (formContent.hasClass('form-horizontal')) {\r\n formContent.children('div').each(function () {\r\n let div = $(this);\r\n let dataGrid = formContent.attr('data-grid') || '4-8';\r\n dataGrid = dataGrid.split('-');\r\n \r\n if (div.attr('class')) {\r\n if (div.hasClass('fb-button')) {\r\n div.find('button').wrap(`
`);\r\n } else {\r\n let label = div.children('label');\r\n let input = div.children('input, select, textarea');\r\n let subDiv = div.children('div');\r\n \r\n label.addClass(`control-label col-sm-${dataGrid[0]}`);\r\n \r\n if (subDiv.length > 0) {\r\n subDiv.addClass(`col-sm-${dataGrid[1]}`);\r\n } else {\r\n input.addClass('form-control').wrap(`
`);\r\n }\r\n }\r\n }\r\n });\r\n }\r\n },\r\n \r\n initModal: function (keditor) {\r\n let self = this;\r\n \r\n modal = keditor.initModal('keditor-modal-form');\r\n modal.find('.keditor-modal-title').html('Design form');\r\n \r\n modal.css({\r\n visibility: 'hidden',\r\n display: 'block',\r\n opacity: 1\r\n });\r\n \r\n modal.find('.keditor-modal-body').append(`\r\n
\r\n
\r\n
\r\n `);\r\n formBuilder = modal.find('.form-builder-area').formBuilder({\r\n showActionButtons: false,\r\n dataType: 'json',\r\n disableFields: [\r\n 'autocomplete',\r\n 'paragraph',\r\n 'header'\r\n ],\r\n disabledAttrs: ['access'],\r\n \r\n typeUserDisabledAttrs: {\r\n 'checkbox-group': [\r\n 'toggle',\r\n 'inline'\r\n ]\r\n }\r\n });\r\n \r\n modal.find('.keditor-modal-footer').html(`\r\n \r\n \r\n `);\r\n \r\n modal.find('.btn-save-form').on('click', function (e) {\r\n e.preventDefault();\r\n \r\n let component = keditor.getSettingComponent();\r\n component.find('.form-data').html(formBuilder.actions.getData('json'));\r\n self.renderForm(component);\r\n keditor.hideModal(modal);\r\n });\r\n \r\n setTimeout(() => {\r\n modal.css({\r\n visibility: '',\r\n display: '',\r\n opacity: ''\r\n });\r\n }, 500);\r\n },\r\n \r\n init: function (contentArea, container, component, keditor) {\r\n let self = this;\r\n let componentContent = component.find('.keditor-component-content');\r\n let formContent = component.find('.form-content');\r\n let formData = component.find('.form-data');\r\n \r\n if (formData.length === 0) {\r\n componentContent.append('
')\r\n }\r\n \r\n if (formContent.length === 0) {\r\n componentContent.append(`
${self.emptyContent}
`);\r\n }\r\n \r\n if (!modal) {\r\n self.initModal(keditor);\r\n }\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Form Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n let self = this;\r\n \r\n form.html(`\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n This setting is for width of label and control with number of cols as unit\r\n
\r\n
\r\n
\r\n `);\r\n \r\n form.find('.btn-design-form').on('click', function (e) {\r\n e.preventDefault();\r\n \r\n let component = keditor.getSettingComponent();\r\n formBuilder.actions.setData(component.find('.form-data').html());\r\n keditor.showModal(modal);\r\n });\r\n \r\n form.find('.txt-form-action').on('change', function () {\r\n let component = keditor.getSettingComponent();\r\n let formContent = component.find('.form-content');\r\n \r\n formContent.attr('action', this.value);\r\n });\r\n \r\n form.find('.select-method').on('change', function () {\r\n let component = keditor.getSettingComponent();\r\n let formContent = component.find('.form-content');\r\n \r\n formContent.attr('action', this.value);\r\n });\r\n \r\n form.find('.select-enctype').on('change', function () {\r\n let component = keditor.getSettingComponent();\r\n let formContent = component.find('.form-content');\r\n \r\n formContent.attr('enctype', this.value);\r\n });\r\n \r\n form.find('.select-layout').on('change', function () {\r\n let component = keditor.getSettingComponent();\r\n let formContent = component.find('.form-content');\r\n \r\n formContent.removeClass('form-inline form-horizontal');\r\n if (this.value) {\r\n formContent.addClass(this.value);\r\n }\r\n self.renderForm(component);\r\n form.find('.select-grid-wrapper').css('display', this.value === 'form-horizontal' ? 'block' : 'none');\r\n });\r\n \r\n form.find('.select-grid').on('change', function () {\r\n let component = keditor.getSettingComponent();\r\n let formContent = component.find('.form-content');\r\n \r\n formContent.attr('data-grid', this.value);\r\n self.renderForm(component);\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let formContent = component.find('.form-content');\r\n \r\n let layout = '';\r\n if (formContent.hasClass('form-inline')) {\r\n layout = 'form-inline';\r\n } else if (formContent.hasClass('form-horizontal')) {\r\n layout = 'form-horizontal';\r\n }\r\n \r\n form.find('.txt-form-action').val(formContent.attr('action') || '');\r\n form.find('.select-method').val(formContent.attr('method') || 'get');\r\n form.find('.select-enctype').val(formContent.attr('enctype'));\r\n form.find('.select-layout').val(layout);\r\n form.find('.select-grid-wrapper').css('display', layout === 'form-horizontal' ? 'block' : 'none');\r\n form.find('.select-grid').val(formContent.attr('data-grid') || '4-8');\r\n }\r\n};\r\n","import $ from 'jquery';\r\nimport KEditor from 'keditor';\r\n\r\nKEditor.components['googlemap'] = {\r\n init: function (contentArea, container, component, keditor) {\r\n let iframe = component.find('iframe');\r\n let wrapper = iframe.parent();\r\n keditor.initIframeCover(iframe, wrapper);\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Google Map Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n form.append(\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n let btnEdit = form.find('.btn-googlemap-edit');\r\n btnEdit.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n let inputData = prompt('Please enter Google Map embed code in here:');\r\n let iframe = $(inputData);\r\n let src = iframe.attr('src');\r\n if (iframe.length > 0 && src && src.length > 0) {\r\n keditor.getSettingComponent().find('.embed-responsive-item').attr('src', src);\r\n } else {\r\n alert('Your Google Map embed code is invalid!');\r\n }\r\n });\r\n \r\n let btn169 = form.find('.btn-googlemap-169');\r\n btn169.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-4by3').addClass('embed-responsive-16by9');\r\n });\r\n \r\n let btn43 = form.find('.btn-googlemap-43');\r\n btn43.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-16by9').addClass('embed-responsive-4by3');\r\n });\r\n }\r\n};\r\n","import $ from 'jquery';\r\nimport KEditor from 'keditor';\r\n\r\nKEditor.components['photo'] = {\r\n init: function (contentArea, container, component, keditor) {\r\n let componentContent = component.children('.keditor-component-content');\r\n let img = componentContent.find('img');\r\n \r\n img.css('display', 'inline-block');\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Photo Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n let self = this;\r\n let options = keditor.options;\r\n \r\n form.append(\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n let photoEdit = form.find('#photo-edit');\r\n let fileInput = photoEdit.next();\r\n photoEdit.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n fileInput.trigger('click');\r\n });\r\n fileInput.on('change', function () {\r\n let file = this.files[0];\r\n if (/image/.test(file.type)) {\r\n let reader = new FileReader();\r\n \r\n reader.addEventListener('load', function (e) {\r\n let img = keditor.getSettingComponent().find('img');\r\n img.attr('src', e.target.result);\r\n img.css({\r\n width: '',\r\n height: ''\r\n });\r\n img.load(function () {\r\n self.showSettingForm.call(self, form, keditor.getSettingComponent(), keditor);\r\n });\r\n });\r\n \r\n reader.readAsDataURL(this.files[0]);\r\n } else {\r\n alert('Your selected file is not photo!');\r\n }\r\n });\r\n \r\n let inputAlign = form.find('#photo-align');\r\n inputAlign.on('change', function () {\r\n let panel = keditor.getSettingComponent().find('.photo-panel');\r\n panel.css('text-align', this.value);\r\n });\r\n \r\n let inputResponsive = form.find('#photo-responsive');\r\n inputResponsive.on('click', function () {\r\n keditor.getSettingComponent().find('img')[this.checked ? 'addClass' : 'removeClass']('img-responsive');\r\n });\r\n \r\n let cbbStyle = form.find('#photo-style');\r\n cbbStyle.on('change', function () {\r\n let img = keditor.getSettingComponent().find('img');\r\n let val = this.value;\r\n \r\n img.removeClass('img-rounded img-circle img-thumbnail');\r\n if (val) {\r\n img.addClass(val);\r\n }\r\n });\r\n \r\n let inputWidth = form.find('#photo-width');\r\n let inputHeight = form.find('#photo-height');\r\n inputWidth.on('change', function () {\r\n let img = keditor.getSettingComponent().find('img');\r\n let newWidth = +this.value;\r\n let newHeight = Math.round(newWidth / self.ratio);\r\n \r\n if (newWidth <= 0) {\r\n newWidth = self.width;\r\n newHeight = self.height;\r\n this.value = newWidth;\r\n }\r\n \r\n img.css({\r\n 'width': newWidth,\r\n 'height': newHeight\r\n });\r\n inputHeight.val(newHeight);\r\n });\r\n inputHeight.on('change', function () {\r\n let img = keditor.getSettingComponent().find('img');\r\n let newHeight = +this.value;\r\n let newWidth = Math.round(newHeight * self.ratio);\r\n \r\n if (newHeight <= 0) {\r\n newWidth = self.width;\r\n newHeight = self.height;\r\n this.value = newHeight;\r\n }\r\n \r\n img.css({\r\n 'height': newHeight,\r\n 'width': newWidth\r\n });\r\n inputWidth.val(newWidth);\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let self = this;\r\n let inputAlign = form.find('#photo-align');\r\n let inputResponsive = form.find('#photo-responsive');\r\n let inputWidth = form.find('#photo-width');\r\n let inputHeight = form.find('#photo-height');\r\n let cbbStyle = form.find('#photo-style');\r\n \r\n let panel = component.find('.photo-panel');\r\n let img = panel.find('img');\r\n \r\n let algin = panel.css('text-align');\r\n if (algin !== 'right' || algin !== 'center') {\r\n algin = 'left';\r\n }\r\n \r\n if (img.hasClass('img-rounded')) {\r\n cbbStyle.val('img-rounded');\r\n } else if (img.hasClass('img-circle')) {\r\n cbbStyle.val('img-circle');\r\n } else if (img.hasClass('img-thumbnail')) {\r\n cbbStyle.val('img-thumbnail');\r\n } else {\r\n cbbStyle.val('');\r\n }\r\n \r\n inputAlign.val(algin);\r\n inputResponsive.prop('checked', img.hasClass('img-responsive'));\r\n inputWidth.val(img.width());\r\n inputHeight.val(img.height());\r\n \r\n $('').attr('src', img.attr('src')).load(function () {\r\n self.ratio = this.width / this.height;\r\n self.width = this.width;\r\n self.height = this.height;\r\n });\r\n }\r\n};\r\n","import '../styles/keditor-component-text.less';\r\n\r\nimport KEditor from 'keditor';\r\nimport CKEDITOR from 'ckeditor';\r\n\r\nCKEDITOR.disableAutoInline = true;\r\n\r\n// Fix issue: Scroll to bottom when pasting text or pressing ENTER in CKEditor\r\nCKEDITOR.dom.element.prototype.scrollIntoView = () => { return; };\r\nCKEDITOR.dom.selection.prototype.scrollIntoView = () => { return; };\r\nCKEDITOR.dom.range.prototype.scrollIntoView = () => { return; };\r\n\r\n// Text component\r\n// ---------------------------------------------------------------------\r\nKEditor.components['text'] = {\r\n options: {\r\n toolbarGroups: [\r\n { name: 'document', groups: ['mode', 'document', 'doctools'] },\r\n { name: 'editing', groups: ['find', 'selection', 'spellchecker', 'editing'] },\r\n { name: 'forms', groups: ['forms'] },\r\n { name: 'basicstyles', groups: ['basicstyles', 'cleanup'] },\r\n { name: 'paragraph', groups: ['list', 'indent', 'blocks', 'align', 'bidi', 'paragraph'] },\r\n { name: 'links', groups: ['links'] },\r\n { name: 'insert', groups: ['insert'] },\r\n '/',\r\n { name: 'clipboard', groups: ['clipboard', 'undo'] },\r\n { name: 'styles', groups: ['styles'] },\r\n { name: 'colors', groups: ['colors'] },\r\n ],\r\n title: false,\r\n allowedContent: true, // DISABLES Advanced Content Filter. This is so templates with classes: allowed through\r\n bodyId: 'editor',\r\n templates_replaceContent: false,\r\n enterMode: 'P',\r\n forceEnterMode: true,\r\n format_tags: 'p;h1;h2;h3;h4;h5;h6',\r\n removePlugins: 'table,magicline,tableselection,tabletools',\r\n removeButtons: 'Save,NewPage,Preview,Print,Templates,PasteText,PasteFromWord,Find,Replace,SelectAll,Scayt,Form,HiddenField,ImageButton,Button,Select,Textarea,TextField,Radio,Checkbox,Outdent,Indent,Blockquote,CreateDiv,Language,Table,HorizontalRule,Smiley,SpecialChar,PageBreak,Iframe,Styles,BGColor,Maximize,About,ShowBlocks,BidiLtr,BidiRtl,Flash,Image,Subscript,Superscript,Anchor',\r\n minimumChangeMilliseconds: 100,\r\n },\r\n\r\n init: function (contentArea, container, component, keditor) {\r\n let self = this;\r\n let options = keditor.options;\r\n\r\n let componentContent = component.children('.keditor-component-content');\r\n componentContent.prop('contenteditable', true);\r\n\r\n componentContent.on('input', function (e) {\r\n if (typeof options.onComponentChanged === 'function') {\r\n options.onComponentChanged.call(keditor, e, component);\r\n }\r\n\r\n if (typeof options.onContainerChanged === 'function') {\r\n options.onContainerChanged.call(keditor, e, container, contentArea);\r\n }\r\n\r\n if (typeof options.onContentChanged === 'function') {\r\n options.onContentChanged.call(keditor, e, contentArea);\r\n }\r\n });\r\n\r\n let editor = CKEDITOR.inline(componentContent[0], self.options);\r\n editor.on('instanceReady', function () {\r\n $('#cke_' + componentContent.attr('id')).appendTo(keditor.wrapper);\r\n\r\n if (typeof options.onComponentReady === 'function') {\r\n options.onComponentReady.call(contentArea, component, editor);\r\n }\r\n });\r\n\r\n editor.on('key', function (event) {\r\n const isCtrl = event.data.domEvent.$.ctrlKey;\r\n if ((isCtrl && event.data.domEvent.$.keyCode === 86) || event.data.domEvent.$.keyCode === 13) {\r\n console.log('Dont scroll!!')\r\n keditor.iframeBody.scrollTop($(editor.element.$).offset().top);\r\n // componentContent.css('height', 200);\r\n // keditor.iframeBody.css('overflow', 'visible');\r\n setTimeout(() => {\r\n // event.cancel();\r\n // console.log(window);\r\n // keditor.iframeBody.css('overflow', '');\r\n // keditor.iframeBody.scrollTop($(editor.element.$).offset().top);\r\n }, 10);\r\n }\r\n }, editor);\r\n },\r\n\r\n getContent: function (component, keditor) {\r\n let componentContent = component.find('.keditor-component-content');\r\n let id = componentContent.attr('id');\r\n let editor = CKEDITOR.instances[id];\r\n if (editor) {\r\n return editor.getData();\r\n } else {\r\n return componentContent.html();\r\n }\r\n },\r\n\r\n destroy: function (component, keditor) {\r\n let id = component.find('.keditor-component-content').attr('id');\r\n CKEDITOR.instances[id] && CKEDITOR.instances[id].destroy();\r\n },\r\n};\r\n","import KEditor from 'keditor';\r\n\r\nKEditor.components['video'] = {\r\n init: function (contentArea, container, component, keditor) {\r\n let componentContent = component.children('.keditor-component-content');\r\n let video = componentContent.find('video');\r\n \r\n if (!video.parent().is('.video-wrapper')) {\r\n video.wrap('
');\r\n }\r\n },\r\n \r\n getContent: function (component, keditor) {\r\n let componentContent = component.children('.keditor-component-content');\r\n let video = componentContent.find('video');\r\n video.unwrap();\r\n \r\n return componentContent.html();\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Video Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n form.append(`\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n 4:3\r\n
\r\n
\r\n 16:9\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n `);\r\n \r\n let fileInput = form.find('.video-input');\r\n form.find('.btn-video-input').on('click', function (e) {\r\n e.preventDefault();\r\n \r\n fileInput.trigger('click');\r\n });\r\n fileInput.on('change', function () {\r\n let file = this.files[0];\r\n let video = keditor.getSettingComponent().find('video');\r\n \r\n if (/video/.test(file.type)) {\r\n // Todo: Upload to your server :)\r\n \r\n video.attr('src', URL.createObjectURL(file));\r\n } else {\r\n alert('Your selected file is not an video file!');\r\n }\r\n });\r\n \r\n let autoplayToggle = form.find('.video-autoplay');\r\n autoplayToggle.on('click', function () {\r\n let video = keditor.getSettingComponent().find('video');\r\n \r\n video.prop('autoplay', this.checked);\r\n });\r\n \r\n let loopToggle = form.find('.video-loop');\r\n loopToggle.on('click', function () {\r\n let video = keditor.getSettingComponent().find('video');\r\n video.prop('loop', this.checked);\r\n });\r\n \r\n let ratio = form.find('.video-ratio');\r\n ratio.on('click', function () {\r\n let video = keditor.getSettingComponent().find('video');\r\n video.attr('data-ratio', this.value);\r\n form.find('.video-width').trigger('change');\r\n });\r\n \r\n let controlToggle = form.find('.video-controls');\r\n controlToggle.on('click', function () {\r\n let video = keditor.getSettingComponent().find('video');\r\n video.prop('controls', this.checked);\r\n });\r\n \r\n let videoWidth = form.find('.video-width');\r\n videoWidth.on('change', function () {\r\n let video = keditor.getSettingComponent().find('video');\r\n \r\n let currentRatio = video.attr('data-ratio') === '16/9' ? 16 / 9 : 4 / 3;\r\n let height = this.value / currentRatio;\r\n video.attr('width', this.value);\r\n video.attr('height', height);\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let video = component.find('video');\r\n \r\n let autoplayToggle = form.find('.video-autoplay');\r\n autoplayToggle.prop('checked', video.prop('autoplay'));\r\n \r\n let loopToggle = form.find('.video-loop');\r\n loopToggle.prop('checked', video.prop('loop'));\r\n \r\n let ratio = form.find('.video-ratio');\r\n ratio.prop('checked', false).filter('[value=\"' + video.attr('data-ratio') + '\"]').prop('checked', true);\r\n \r\n let controlToggle = form.find('.video-controls');\r\n controlToggle.prop('checked', video.prop('controls'));\r\n \r\n let videoWidth = form.find('.video-width');\r\n videoWidth.val(video.attr('width'));\r\n }\r\n};\r\n","import KEditor from 'keditor';\r\n\r\nKEditor.components['vimeo'] = {\r\n init: function (contentArea, container, component, keditor) {\r\n let iframe = component.find('iframe');\r\n let wrapper = iframe.parent();\r\n keditor.initIframeCover(iframe, wrapper);\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Vimeo Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n form.append(\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n let btnEdit = form.find('.btn-vimeo-edit');\r\n btnEdit.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n let inputData = prompt('Please enter Vimeo URL in here:');\r\n let vimeoRegex = /https?:\\/\\/(?:www\\.|player\\.)?vimeo.com\\/(?:channels\\/(?:\\w+\\/)?|groups\\/([^\\/]*)\\/videos\\/|album\\/(\\d+)\\/video\\/|video\\/|)(\\d+)(?:$|\\/|\\?)/;\r\n let match = inputData.match(vimeoRegex);\r\n if (match && match[1]) {\r\n keditor.getSettingComponent().find('.embed-responsive-item').attr('src', 'https://player.vimeo.com/video/' + match[1] + '?byline=0&portrait=0&badge=0');\r\n } else {\r\n alert('Your Vimeo URL is invalid!');\r\n }\r\n });\r\n \r\n let btn169 = form.find('.btn-vimeo-169');\r\n btn169.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-4by3').addClass('embed-responsive-16by9');\r\n });\r\n \r\n let btn43 = form.find('.btn-vimeo-43');\r\n btn43.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-16by9').addClass('embed-responsive-4by3');\r\n });\r\n \r\n let chkAutoplay = form.find('#vimeo-autoplay');\r\n chkAutoplay.on('click', function () {\r\n let embedItem = keditor.getSettingComponent().find('.embed-responsive-item');\r\n let currentUrl = embedItem.attr('src');\r\n let newUrl = (currentUrl.replace(/(\\?.+)+/, '')) + '?byline=0&portrait=0&badge=0&autoplay=' + (chkAutoplay.is(':checked') ? 1 : 0);\r\n embedItem.attr('src', newUrl);\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let embedItem = component.find('.embed-responsive-item');\r\n let chkAutoplay = form.find('#vimeo-autoplay');\r\n let src = embedItem.attr('src');\r\n \r\n chkAutoplay.prop('checked', src.indexOf('autoplay=1') !== -1);\r\n }\r\n};\r\n","import KEditor from 'keditor';\r\n\r\nKEditor.components['youtube'] = {\r\n init: function (contentArea, container, component, keditor) {\r\n let iframe = component.find('iframe');\r\n let wrapper = iframe.parent();\r\n keditor.initIframeCover(iframe, wrapper);\r\n },\r\n \r\n settingEnabled: true,\r\n \r\n settingTitle: 'Youtube Settings',\r\n \r\n initSettingForm: function (form, keditor) {\r\n form.append(\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
' +\r\n ' ' +\r\n '
' +\r\n ' ' +\r\n ' ' +\r\n '
' +\r\n '
' +\r\n '
'\r\n );\r\n \r\n let btnEdit = form.find('.btn-youtube-edit');\r\n btnEdit.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n let inputData = prompt('Please enter Youtube URL in here:');\r\n let youtubeRegex = /^(?:http(?:s)?:\\/\\/)?(?:www\\.)?(?:m\\.)?(?:youtu\\.be\\/|youtube\\.com\\/(?:(?:watch)?\\?(?:.*&)?v(?:i)?=|(?:embed|v|vi|user)\\/))([^\\?&\\\"'>]+)/;\r\n let match = inputData.match(youtubeRegex);\r\n if (match && match[1]) {\r\n keditor.getSettingComponent().find('.embed-responsive-item').attr('src', 'https://www.youtube.com/embed/' + match[1]);\r\n } else {\r\n alert('Your Youtube URL is invalid!');\r\n }\r\n });\r\n \r\n let btn169 = form.find('.btn-youtube-169');\r\n btn169.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-4by3').addClass('embed-responsive-16by9');\r\n });\r\n \r\n let btn43 = form.find('.btn-youtube-43');\r\n btn43.on('click', function (e) {\r\n e.preventDefault();\r\n \r\n keditor.getSettingComponent().find('.embed-responsive').removeClass('embed-responsive-16by9').addClass('embed-responsive-4by3');\r\n });\r\n \r\n let chkAutoplay = form.find('#youtube-autoplay');\r\n chkAutoplay.on('click', function () {\r\n let embedItem = keditor.getSettingComponent().find('.embed-responsive-item');\r\n let currentUrl = embedItem.attr('src');\r\n let newUrl = (currentUrl.replace(/(\\?.+)+/, '')) + '?autoplay=' + (chkAutoplay.is(':checked') ? 1 : 0);\r\n embedItem.attr('src', newUrl);\r\n });\r\n },\r\n \r\n showSettingForm: function (form, component, keditor) {\r\n let embedItem = component.find('.embed-responsive-item');\r\n let chkAutoplay = form.find('#youtube-autoplay');\r\n let src = embedItem.attr('src');\r\n \r\n chkAutoplay.prop('checked', src.indexOf('autoplay=1') !== -1);\r\n }\r\n};\r\n"],"sourceRoot":""}