File: /var/www/html/insiders/wp-load/wp-content/plugins/internal-links/admin/js/ilj_keywords.min.js.map
{"version":3,"file":"ilj_keywords.min.js","mappings":"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","sources":["webpack://wp-internal-linkjuicer/./src/admin/js/ilj_keywords.js"],"sourcesContent":["/*!**************************************!*\\\n !*** ./src/admin/js/ilj_keywords.js ***!\n \\**************************************/\n(function ($) {\n $.fn.ilj_keywords = function (options) {\n var elem = this;\n\n // Default options\n var settings = $.extend({\n inputField: '',\n errorMessage: '',\n duplicate_notice: '',\n requiresPro: false,\n sortable: true\n }, options);\n var tipsoConfig = {\n width: '',\n maxWidth: '200',\n useTitle: true,\n delay: 100,\n speed: 500,\n background: '#32373c',\n color: '#eeeeee',\n size: 'small'\n };\n var keyword = {\n keywords: [],\n /**\n * Init function for the object\n */\n init: function () {\n var that = this;\n if (settings.sortable) {\n elem.find('ul.keyword-view').sortable({\n opacity: 0.5,\n helper: \"clone\",\n forceHelperSize: true,\n forcePlaceholderSize: true,\n cursor: \"move\",\n placeholder: \"placeholder\",\n update: function (event, ui) {\n that.reorderKeywords();\n }\n });\n }\n elem.find('ul.keyword-view').disableSelection();\n elem.find('.tip').iljtipso(tipsoConfig);\n elem.on('keypress', 'input.keywordInput', function (e) {\n if (e.keyCode === 13) {\n elem.find('a.add-keyword').click();\n }\n return e.keyCode != 13;\n });\n\n /**\n * All interactions of the input GUI\n */\n elem.on('click', 'a.add-keyword', function (e) {\n e.preventDefault();\n var keyword_input = $(this).siblings('input.keywordInput');\n var id = null;\n var type = null;\n var sub_type = null;\n var url_params = new URLSearchParams(window.location.search);\n var is_for_blacklisted_keyword = false;\n if ($(this).attr('blacklist-keyword') === 'true') {\n is_for_blacklisted_keyword = true;\n }\n if ($('#post_ID').length) {\n id = $('#post_ID').val();\n sub_type = $('#post_type').val();\n if ('ilj_customlinks' !== sub_type) {\n type = 'post';\n } else {\n type = sub_type;\n }\n } else if (url_params.get('tag_ID')) {\n id = url_params.get('tag_ID');\n sub_type = url_params.get('taxonomy');\n type = 'term';\n }\n if (keyword_input.val().indexOf(',') !== -1) {\n var keywords = keyword_input.val().split(',');\n keywords.forEach(function (keyword, index) {\n keyword_value = that.sanitizeKeyword(keyword);\n valid = that.validateKeyword(keyword_value);\n if (!valid.is_valid) {\n return;\n }\n that.addKeyword(keyword_value);\n });\n } else {\n keyword_value = that.sanitizeKeyword(keyword_input.val());\n valid = that.validateKeyword(keyword_value);\n if (!valid.is_valid) {\n that.setError(valid.message);\n return;\n }\n that.addKeyword(keyword_value);\n }\n /**\n * Initializing\n */\n keyword_input.val('');\n that.clearError();\n that.syncGui();\n that.syncField();\n });\n this.initKeywords();\n this.syncGui();\n\n /**\n * All interactions of the keyword view GUI\n */\n elem.on('click', '.keyword a.remove', function (e) {\n e.preventDefault();\n var index = $(this).parent('.keyword').data('id');\n that.keywords.splice(index, 1);\n that.syncGui();\n that.syncField();\n });\n return this.keywords;\n },\n /**\n * Initializing the keyword list\n */\n initKeywords: function () {\n that = this;\n var input_data = $('<textarea/>').text(settings.inputField.val()).html();\n if (input_data != '' && input_data != null) {\n var input_keywords = input_data.split(',');\n input_keywords.forEach(function (keyword, index) {\n that.addKeyword(keyword);\n });\n }\n },\n /**\n * Add a Keyword to the keyword list\n */\n addKeyword: function (keyword) {\n that = this;\n this.keywords.push(keyword);\n },\n /**\n * Cleans a given keyword\n */\n sanitizeKeyword: function (keyword) {\n var keyword_sanitized = keyword.replace(/\\s*\\{\\s*/gu, \" {\").replace(/\\s*\\}\\s*/gu, \"} \").replace(/\\s{2,}/gu, \" \").replace(/^\\s+|\\s+$/gu, \"\").replace(/</g, \"<\").replace(/>/g, \">\");\n return keyword_sanitized;\n },\n /**\n * Checks if a keyword is valid\n */\n validateKeyword: function (keyword) {\n var status = {\n is_valid: false,\n message: \"Unknown error\"\n };\n var min_length = 2;\n var keyword_valid_check = keyword.replace(/\\{.*?\\}/gu, \"\").replace(/\\s/gu, \"\");\n for (var i = 0; i < this.keywords.length; i++) {\n if (keyword.toLowerCase() == this.keywords[i].toLowerCase()) {\n status.message = ilj_editor_translation.message_keyword_exists;\n return status;\n }\n }\n if (keyword_valid_check === \"\") {\n status.message = ilj_editor_translation.message_no_keyword;\n return status;\n }\n if (keyword_valid_check.length < min_length) {\n status.message = ilj_editor_translation.message_length_not_valid;\n return status;\n }\n if (/(\\s?\\{[+-]*\\d+\\}\\s?){2,}/.test(keyword)) {\n status.message = ilj_editor_translation.message_multiple_placeholder;\n return status;\n }\n var keywords_count = this.keywords.length;\n if (settings.requiresPro == true && ilj_editor_basic_restriction.is_active == true) {\n if (keywords_count >= ilj_editor_basic_restriction.blacklist_limit) {\n status.message = '<p>' + ilj_editor_translation.message_limited_blacklist_keyword + '</p>';\n status.message += '<p>' + ilj_editor_translation.message_limited_blacklist_keyword_upgrade + '.</p>';\n return status;\n }\n }\n status.is_valid = true;\n status.message = \"\";\n return status;\n },\n /**\n * Synchronizes the keyword view gui with the keyword list\n */\n syncGui: function () {\n var that = this;\n elem.find('ul.keyword-view li').remove();\n if (this.keywords.length > 0) {\n this.keywords.forEach(function (keyword, index) {\n elem.find('ul.keyword-view').append($(that.renderKeyword(keyword, index)));\n });\n elem.find('.tip').iljtipso(tipsoConfig);\n } else {\n elem.find('ul.keyword-view').append($('<li>' + ilj_editor_translation.no_keywords + '</li>'));\n }\n },\n /**\n * Synchronizes the hidden input, that gets sent to the backend\n */\n syncField: function () {\n settings.inputField.val(this.keywords.join(','));\n },\n /**\n * Renders a single keyword to the keyword view GUI\n */\n renderKeyword: function (keyword, index) {\n keyword_print = keyword.replace(/\\{(\\d+)\\}/g, '<span class=\"exact tip\" title=\"' + ilj_editor_translation.gap_hover_exact + ' $1\">$1</span>').replace(/\\{\\-(\\d+)\\}/g, '<span class=\"max tip\" title=\"' + ilj_editor_translation.gap_hover_max + ' $1\">$1</span>').replace(/\\{\\+(\\d+)\\}/g, '<span class=\"min tip\" title=\"' + ilj_editor_translation.gap_hover_min + ' $1\">$1</span>');\n return '<li class=\"keyword\" data-id=\"' + index + '\"><a class=\"dashicons dashicons-dismiss remove\"></a>' + keyword_print + '</li>';\n },\n /**\n * Re-orders the keywords-list depending on the order\n * of the <li> -elements in the GUI\n */\n reorderKeywords: function () {\n order = [];\n var that = this;\n elem.find('li').each(function () {\n var id = $(this).data('id');\n if (id === undefined) {\n return;\n }\n order.push(id);\n });\n new_keywords = [];\n $.each(order, function (key, position) {\n new_keywords.push(that.keywords[position]);\n });\n that.keywords = new_keywords;\n that.syncGui();\n that.syncField();\n return true;\n },\n /**\n * Displays an error message\n */\n setError: function (message) {\n settings.errorMessage.html(message);\n settings.errorMessage.show();\n },\n /**\n * Clears the error message\n */\n clearError: function () {\n settings.errorMessage.html('');\n settings.errorMessage.hide();\n }\n };\n\n //Initializing the ILJ keyword object\n keyword.init();\n };\n})(jQuery);\n"],"names":["$","fn","ilj_keywords","options","elem","this","settings","extend","inputField","errorMessage","duplicate_notice","requiresPro","sortable","tipsoConfig","width","maxWidth","useTitle","delay","speed","background","color","size","keywords","init","that","find","opacity","helper","forceHelperSize","forcePlaceholderSize","cursor","placeholder","update","event","ui","reorderKeywords","disableSelection","iljtipso","on","e","keyCode","click","preventDefault","keyword_input","siblings","sub_type","url_params","URLSearchParams","window","location","search","attr","length","val","get","indexOf","split","forEach","keyword","index","keyword_value","sanitizeKeyword","valid","validateKeyword","is_valid","addKeyword","setError","message","clearError","syncGui","syncField","initKeywords","parent","data","splice","input_data","text","html","push","replace","status","keyword_valid_check","i","toLowerCase","ilj_editor_translation","message_keyword_exists","message_no_keyword","message_length_not_valid","test","message_multiple_placeholder","keywords_count","ilj_editor_basic_restriction","is_active","blacklist_limit","message_limited_blacklist_keyword","message_limited_blacklist_keyword_upgrade","remove","append","renderKeyword","no_keywords","join","keyword_print","gap_hover_exact","gap_hover_max","gap_hover_min","order","each","id","undefined","new_keywords","key","position","show","hide","jQuery"],"sourceRoot":""}