{"version":3,"sources":["webpack:///./frontend/js/2.js","webpack:///./frontend/js/clinrec_processor.js","webpack:///../../../src/components/VSnackbar/VSnackbar.ts","webpack:///../../../src/components/VBtn/index.ts"],"names":["seca","id","title","required","rules","found","content","tagslist","tags","i","toUpperCase","sech","length","split_to_words","str","match","tmp_str","word","words","push","toLowerCase","substring","index","elimDivs","s","recursive","e","$","innerHTML","res","pTags","find","t","parentNode","unwrap","el","childNodes","nodeType","nodeName","outerHTML","data","replace","text2Elems","elems2Text","els","cleanEmptyElems","filteredHtml","innerText","trim","indexOf","compareHeader","array","rulearray","curIdx","skipN","honly","findSection","sec","start","end","ar","j","findrule","findContent","doc_abbreviation","doc_key_words","getSectionsHTML","addClass","className","node","test","findAllSections","addClassParam","med_doc","make_empty","this","_files","struct","get_structure","sections","get_section","title_sections","prototype","load","ind","iind","main_sections","load_from_files","event","cb","html_file","files","target","html_is","self","add_to_medfiles","file","reader","FileReader","addEventListener","name","result","readAsDataURL","loaded","console","log","onload","preprocess","tinymce","activeEditor","setContent","raw_document","process","readAsText","alert","src","filename","files_folder","add_class","spacer","spacer_no","content_index","title_index","donotsearch","title_re","isnewparser","content_backup","section","title_content","oglav_match","normalize_re","search","parseInt","prev_match","start_content_re","start_counter","start2_content_re","start2_counter","end_title_cleaner","_sections","RegExp","next_section","doc_whole","find_title_section","txt","title_parse_dom","parse_children_recur","children","ret","concat","parse_recur","element","parent","elem","textContent","trim_tree","tree","find_sections","tind","cur_section","cur_text","title_section","ts","JSON","parse","stringify","proff_ind","div","document","createElement","title_match","title_next_section","title_clin_name_match","title_data","title_extractor_base","title_clin_name_re","title_clin_name","title_clin_rec_pushed","title_extractor","_title_section","to_json","props","app","centered","contentClass","type","default","multiLine","text","timeout","Number","transition","Boolean","validator","v","vertical","activeTimeout","computed","classes","bottom","hasBackground","isDark","styles","$vuetify","top","paddingBottom","paddingLeft","paddingRight","paddingTop","bar","watch","isActive","mounted","setTimeout","created","$attrs","hasOwnProperty","methods","genActions","$createElement","staticClass","attrs","class","genContent","role","genWrapper","setColor","directives","value","genTransition","window","render","h","style"],"mappings":"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","file":"js/chunk-14cd1df6.2b2c2199.js","sourcesContent":["var seca = [\r\n // {\r\n // \tid: \"doc_key_words\",\r\n // \ttitle: \"Ключевые слова\",\r\n // \trequired: true,\r\n // \trules: [[\"ключевые\", \"слова\"]]\r\n // },\r\n {\r\n id: \"doc_abbreviation\",\r\n title: \"Список сокращений\",\r\n required: true,\r\n rules: [\r\n [\"список\", \"сокращений\"]\r\n ]\r\n },\r\n {\r\n id: \"doc_terms\",\r\n title: \"Термины и определения\",\r\n required: true,\r\n rules: [\r\n [\"термины\", \"и\", \"определения\"],\r\n [\"термины\", 2, \"определения\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_1\",\r\n title: \"1. Краткая информация\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"краткая\", \"информация\"],\r\n [\"краткая\", \"информация\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_1\",\r\n title: \"1.1 Определение заболевания или состояния (группы заболеваний или состояний)\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"1\", \"определение\", \"заболевания\", \"или\", \"состояния\", \"(группы\", \"заболеваний\", \"или\", \"состояний)\"],\r\n [\"определение\", \"заболевания\", \"или\", \"состояния\", \"группы\", \"заболеваний\", \"или\", \"состояний\"],\r\n [\"1\", \"1\", \"определение\", \"заболевания\", \"или\", \"состояния\", \"группы\", \"заболеваний\", \"или\", \"состояний\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_2\",\r\n title: \"1.2 Этиология и патогенез заболевания или состояния (группы заболеваний или состояний)\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"2\", \"этиология\", \"и\", \"патогенез\", \"заболевания\", \"или\", \"состояния\", \"(группы\", \"заболеваний\", \"или\", \"состояний)\"],\r\n [\"этиология\", \"и\", \"патогенез\", \"заболевания\", \"или\", \"состояния\", \"группы\", \"заболеваний\", \"или\", \"состояний\"],\r\n [\"1\", \"2\", \"этиология\", \"и\", \"патогенез\", \"заболевания\", \"или\", \"состояния\", \"группы\", \"заболеваний\", \"или\", \"состояний\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_3\",\r\n title: \"1.3 Эпидемиология заболевания или состояния\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"3\", \"эпидемиология\", \"заболевания\", \"или\", \"состояния\"],\r\n [\"эпидемиология\", \"заболевания\", \"или\", \"состояния\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_4\",\r\n title: \"1.4 Особенности кодирования заболевания или состояния\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"4\", \"особенности\", \"кодирования\", \"заболевания\", \"или\", \"состояния\"],\r\n [\"особенности\", \"кодирования\", \"заболевания\", \"или\", \"состояния\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_5\",\r\n title: \"1.5 Классификация заболевания или состояния\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"5\", \"классификация\", \"заболевания\", \"или\", \"состояния\"],\r\n [\"классификация\", \"заболевания\", \"или\", \"состояния\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_crat_info_1_6\",\r\n title: \"1.6 Клиническая картина заболевания или состояния\",\r\n required: true,\r\n rules: [\r\n [\"1\", \"6\", \"клиническая\", \"картина\", \"заболевания\", \"или\", \"состояния\"],\r\n [\"клиническая\", \"картина\", \"заболевания\", \"или\", \"состояния\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2\",\r\n title: \"2. Диагностика\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"диагностика\"],\r\n [\"диагностика\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2_1\",\r\n title: \"2.1 Жалобы и анамнез\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"1\", \"жалобы\", \"и\", \"анамнез\"],\r\n [\"жалобы\", \"и\", \"анамнез\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2_2\",\r\n title: \"2.2 Физикальное обследование\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"2\", \"физикальное\", \"обследование\"],\r\n [\"физикальное\", \"обследование\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2_3\",\r\n title: \"2.3 Лабораторные исследования\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"3\", \"лабораторные\", \"исследования\"],\r\n [\"2\", \"3\", \"лабораторные\", \"диагностические\", \"исследования\"],\r\n [\"лабораторные\", \"исследования\"],\r\n [\"лабораторные\", \"диагностические\", \"исследования\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2_4\",\r\n title: \"2.4 Инструментальные исследования\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"4\", \"инструментальные\", \"исследования\"],\r\n [\"инструментальные\", \"исследования\"],\r\n [\"2\", \"4\", \"инструментальные\", \"диагностические\", \"исследования\"],\r\n [\"инструментальные\", \"диагностические\", \"исследования\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_diag_2_5\",\r\n title: \"2.5 Иные исследования\",\r\n required: true,\r\n rules: [\r\n [\"2\", \"5\", \"иные\", \"исследования\"],\r\n [\"иные\", \"исследования\"],\r\n [\"2\", \"5\", \"иные\", \"диагностические\", \"исследования\"],\r\n [\"иные\", \"диагностические\", \"исследования\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_3\",\r\n title: \"3. Лечение\",\r\n required: true,\r\n rules: [\r\n [\"3\", \"лечение\"],\r\n [\"лечение\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_4\",\r\n title: \"4. Реабилитация\",\r\n required: true,\r\n rules: [\r\n [\"4\", \"реабилитация\"],\r\n [\"4\", \"медицинская\", \"реабилитация\"],\r\n [\"реабилитация\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_5\",\r\n title: \"5. Профилактика\",\r\n required: true,\r\n rules: [\r\n [\"5\", \"Профилактика\"],\r\n [\"Профилактика\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_6\",\r\n title: \"6. Организация оказания медицинской помощи\",\r\n required: true,\r\n rules: [\r\n [\"6\", \"Организация\", \"оказания\", \"медицинской\", \"помощи\"],\r\n [\"Организация\", \"оказания\", \"медицинской\", \"помощи\"],\r\n ]\r\n },\r\n {\r\n id: \"doc_7\",\r\n title: \"7. Дополнительная информация\",\r\n required: true,\r\n rules: [\r\n [\"7\", \"Дополнительная\", \"информация\"],\r\n [\"Дополнительная\", \"информация\"]\r\n ]\r\n },\r\n {\r\n id: \"doc_criteria\",\r\n title: \"Критерии оценки качества медицинской помощи\",\r\n required: true,\r\n rules: [\r\n [\"критерии\", \"оценки\", \"качества\", \"медицинской\", \"помощи\"],\r\n [1, \"критерии\", 2, \"качества\", 2, \"медицинской\"]\r\n ]\r\n },\r\n {\r\n id: \"doc_bible\",\r\n title: \"Список литературы\",\r\n required: true,\r\n rules: [\r\n [\"Список\", \"рекомендуемой\", \"литературы\"],\r\n [\"Список\", 2, \"литературы\"]\r\n ]\r\n },\r\n {\r\n id: \"doc_a1\",\r\n title: \"Приложение А1. Состав рабочей группы\",\r\n rules: [\r\n [\"Приложение\", \"А\", \"1\"]\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_a2\",\r\n title: \"Приложение А2. Методология разработки клинических рекомендаций\",\r\n rules: [\r\n [\"Приложение\", \"А\", \"2\"]\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_a3\",\r\n title: \"Приложение А3. Справочные материалы\",\r\n rules: [\r\n [\"Приложение\", \"А\", \"3\"]\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_b\",\r\n title: \"Приложение Б. Алгоритмы действий врача\",\r\n rules: [\r\n [\"Приложение\", \"Б\"]\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_v\",\r\n title: \"Приложение В. Информация для пациента\",\r\n rules: [\r\n [\"Приложение\", \"В\"]\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_g\",\r\n title: \"Приложение Г1 - Г... Шкалы оценки, вопросники\",\r\n rules: [\r\n [\"Приложение Г1-ГN\\\\.\"],\r\n [\"Приложение\", \"Г\", \"1\", \"Г\", \"N\"],\r\n [\"Приложение\", \"Г\", \"1\"],\r\n [\"Приложение\", \"Г1\", \"ГN\", \"Шкалы\", \"оценки\\\\,\", \"вопросники\"],\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n }\r\n];\r\n\r\nvar tagslist = [\"h1\", \"h2\", \"h3\", \"p\", \"img\", \"table\", \"ul\", \"ol\"];\r\nvar tags = {};\r\nfor (var i in tagslist) {\r\n tags[tagslist[i].toUpperCase()] = true;\r\n}\r\n\r\nvar sech = {};\r\nfor (var i = 0; i < seca.length; i++)\r\n sech[seca[i].id] = seca[i];\r\n\r\nexport function split_to_words(str) {\r\n var tmp_str = str,\r\n word = /([_a-zA-ZА-Яа-яЁё]+|\\d+)/,\r\n words = [],\r\n match;\r\n\r\n while ((match = tmp_str.match(word)) != null) {\r\n words.push(match[1].toLowerCase());\r\n tmp_str = tmp_str.substring(match.index + match[1].length);\r\n }\r\n\r\n return words;\r\n}\r\n\r\n//console.log(JSON.stringify(split_to_words(\"Приложение А1. Состав рабочей группы\"), null, 3));\r\n\r\nexport function elimDivs(s, recursive) {\r\n var e = $(\"
\");\r\n e[0].innerHTML = \"

\" + s + \"

\";\r\n\r\n var res = \"\";\r\n //var el = $('

' + s + '

'); // добавляем в начале и в конце пустые параграфы для корректного преобразования текстовых концевых блоков\r\n\r\n\r\n var pTags = $(e[0]).find(\"h1\");\r\n for (var i in pTags) {\r\n var t = pTags[i];\r\n if (t.parentNode && t.parentNode.id != \"myid\")\r\n $(pTags[i]).unwrap();\r\n }\r\n var pTags = $(e[0]).find(\"h1\");\r\n for (var i in pTags) {\r\n var t = pTags[i];\r\n if (t.parentNode && t.parentNode.id != \"myid\")\r\n $(pTags[i]).unwrap();\r\n }\r\n //pTags.unwrap();\r\n var el = e[0].childNodes;\r\n\r\n for (var i = 0; i < el.length; i++) {\r\n if (el[i].nodeType == 1) {\r\n if (!tags[el[i].nodeName.toUpperCase()]) {\r\n if (!recursive)\r\n res += el[i].innerHTML;\r\n else\r\n res += elimDivs(el[i].innerHTML);\r\n } else {\r\n if (!recursive)\r\n res += el[i].outerHTML;\r\n else\r\n res += elimDivs(el[i].outerHTML);\r\n }\r\n } else {\r\n if (!recursive)\r\n res += el[i].outerHTML || el[i].data;\r\n else\r\n res += elimDivs(el[i].outerHTML || el[i].data);\r\n }\r\n }\r\n return res.replace(/

<\\/p>/g, \"\"); // удаляем пустые параграфы, в частности которые создали в начале процедуры\r\n}\r\n\r\n\r\n//elimDivs('

ddbdf

aaa

  1. bbb
eee

ddd

', true)\r\n//elimDivs('

ddbdf

aaa

  1. bbb
eee

ddd

')\r\n\r\nexport function text2Elems(s) {\r\n var e = $(\"
\");\r\n e[0].innerHTML = s;\r\n e = e[0].childNodes;\r\n return e;\r\n}\r\n\r\nexport function elems2Text(els, s, e) {\r\n var res = \"\";\r\n for (var i = s; i < e; i++) {\r\n if (els[i].outerHTML)\r\n res += els[i].outerHTML;\r\n else if (els[i].data)\r\n res += els[i].data;\r\n else\r\n res += els[i];\r\n }\r\n return res;\r\n}\r\n\r\nexport function cleanEmptyElems(s) {\r\n var e = text2Elems(s);\r\n var filteredHtml = \"\";\r\n for (var i = 0; i < e.length; i++) {\r\n var el = e[i];\r\n if (el.nodeType == 3)\r\n continue;\r\n if ((typeof(el.innerText) != \"undefined\" && el.innerText.trim() != \"\") || (el.innerHTML && (\r\n el.innerHTML.indexOf(\"= 0; skipN--) {\r\n if (array[curIdx++] == rulearray[i].toLowerCase())\r\n break; // нашли - заканчиваем пропускать слова\r\n if (skipN == 0)\r\n return false; // допустимые пропуски закончились\r\n }\r\n skipN = 0;\r\n } else {\r\n // число запоминаем в кол-во пропусков\r\n skipN = rulearray[i];\r\n }\r\n }\r\n return true;\r\n}\r\n\r\n//compareHeader(split_to_words(\"критерии качества оценки медицинской помощи\"), [\"Критерии\", \"качества\", 2, \"медицинской\"])\r\nvar honly = true;\r\nexport function findSection(e, sec, start, end) {\r\n // console.log('findSection', e, sec, start, end)\r\n sec.found = false;\r\n sec.start = start;\r\n if (!end)\r\n end = e.length;\r\n for (var i = start; i < end; i++) {\r\n if (!e[i].innerText || (honly && e[i].nodeName != \"H1\"))\r\n continue;\r\n var ar = split_to_words(e[i].innerText);\r\n for (var j = 0; j < sec.rules.length; j++)\r\n if (compareHeader(ar, sec.rules[j])) {\r\n sec.findrule = j;\r\n sec.found = honly ? 1 : 2;\r\n sec.start = i;\r\n return i + 1;\r\n }\r\n }\r\n return start;\r\n}\r\n\r\nexport function findContent(e) {\r\n var i = 0;\r\n // console.log('findContent', e, sech, i)\r\n // i = findSection(e, sech.doc_key_words, i);\r\n\r\n if (i == 0) {\r\n i = findSection(e, sech.doc_abbreviation, i);\r\n if (i == 0)\r\n return 0;\r\n var j = findSection(e, sech.doc_abbreviation, i);\r\n return j - 1;\r\n }\r\n\r\n var j = findSection(e, sech.doc_key_words, i);\r\n return j - 1;\r\n}\r\n\r\n\r\nexport function getSectionsHTML(e) {\r\n for (var i = 0; i < seca.length; i++) {\r\n seca[i].content = \"\";\r\n if (!seca[i].found) {\r\n continue;\r\n }\r\n //найти следующую найденную\r\n var end = e.length;\r\n for (var j = i + 1; j < seca.length; j++) {\r\n if (seca[j].found) {\r\n end = seca[j].start;\r\n break;\r\n }\r\n }\r\n // console.log('getSectionsHTML 354',elems2Text(e, seca[i].start + 1, end))\r\n seca[i].content = elems2Text(e, seca[i].start + 1, end);\r\n }\r\n}\r\n\r\nexport function addClass(e, className) {\r\n for (let node of e) {\r\n if (!/H[1-6]{1}|UL|OL/.test(node.nodeName)) $(node).addClass(className);\r\n }\r\n}\r\n\r\nexport function findAllSections(s, addClassParam) {\r\n s = elimDivs(s);\r\n s = cleanEmptyElems(s);\r\n var e = text2Elems(s);\r\n ///////////////\r\n if (addClassParam) {\r\n addClass(e, addClassParam);\r\n return elems2Text(e, 0, e.length);\r\n }\r\n /////////////////\r\n\r\n honly = false;\r\n var start = findContent(e);\r\n\r\n //первый поиск\r\n honly = true;\r\n // console.log('первый поиск', seca)\r\n for (var i = 0; i < seca.length; i++) {\r\n start = findSection(e, seca[i], start)\r\n }\r\n\r\n //повторный поиск\r\n honly = false;\r\n for (var i = 0; i < seca.length; i++) {\r\n if (!seca[i].found) {\r\n //найти следующую найденную\r\n var end = e.length;\r\n for (var j = i + 1; j < seca.length; j++) {\r\n if (seca[j].found) {\r\n end = seca[j].start;\r\n break;\r\n }\r\n }\r\n\r\n findSection(e, seca[i], seca[i].start, end);\r\n // if (!seca[i].found && seca[i].required)\r\n // console.log(\"не найдена секция\\n\\t \", seca[i].title);\r\n // else if (seca[i].found == 2 && seca[i].required)\r\n // console.log(\"найдена с ошибками (не помечена заголовком)\\n\\t\", seca[i].title);\r\n }\r\n }\r\n getSectionsHTML(e);\r\n // console.log('findAllSections 2js',seca);\r\n return seca;\r\n}","import { findAllSections } from \"./2.js\";\r\n\r\nexport default function med_doc(id, make_empty) {\r\n this.id = id;\r\n this._files = [];\r\n\r\n if (make_empty) {\r\n var struct = this.get_structure();\r\n this.sections = struct.sections;\r\n this.get_section(\"doc_title\").data = struct.title_sections;\r\n }\r\n}\r\n\r\n//функция загрузчик и корректор секций\r\nmed_doc.prototype.load = function(sections) {\r\n var ind, iind, main_sections = this.get_structure().sections,\r\n found;\r\n this.sections = sections;\r\n\r\n for (ind in main_sections) {\r\n found = false;\r\n for (iind in sections)\r\n if (sections[iind].id == main_sections[ind].id) {\r\n found = true;\r\n break;\r\n }\r\n if (!found)\r\n sections.push(main_sections[ind]);\r\n }\r\n};\r\n\r\nmed_doc.prototype.load_from_files = function(event, cb) {\r\n //Retrieve the first (and only!) File from the FileList object\r\n var files = event.target.files,\r\n ind, html_is = /\\.html/,\r\n html_file, self = this;\r\n this.loaded = \"file\";\r\n\r\n function add_to_medfiles(file) {\r\n var reader = new FileReader();\r\n reader.addEventListener(\"load\", function() {\r\n self._files[file.name] = reader.result;\r\n }, false);\r\n reader.readAsDataURL(file);\r\n }\r\n for (ind in files) {\r\n if (/^\\d+$/.test(files[ind]))\r\n break;\r\n console.log(files[ind]);\r\n if (html_is.test(files[ind].name))\r\n html_file = files[ind];\r\n\r\n add_to_medfiles(files[ind]);\r\n }\r\n if (html_file) {\r\n var reader = new FileReader();\r\n reader.onload = function(e) {\r\n var content = self.preprocess(e.target.result);\r\n tinymce.activeEditor.setContent(content + \" html\");\r\n //\t\t console.log(content);\r\n //\t\t find_structure(content);\r\n self.raw_document = content;\r\n self.process(cb);\r\n };\r\n reader.readAsText(html_file);\r\n } else {\r\n alert(\"Failed to load file\");\r\n }\r\n};\r\n\r\nfunction getDataUri(img, callback) {\r\n var canvas = document.createElement(\"canvas\");\r\n canvas.width = this.naturalWidth; // or 'width' if you want a special/scaled size\r\n canvas.height = this.naturalHeight; // or 'height' if you want a special/scaled size\r\n\r\n canvas.getContext(\"2d\").drawImage(img, 0, 0);\r\n\r\n // Get raw image data\r\n // callback(canvas.toDataURL('image/png').replace(/^data:image\\/(png|jpg);base64,/, ''));\r\n\r\n // ... or get as Data URI\r\n console.log(img);\r\n callback(canvas.toDataURL(\"image/png\"));\r\n}\r\n\r\nmed_doc.prototype.preprocess = function(content) {\r\n var self = this;\r\n // console.log(content, 1)\r\n content = content.replace(/<\\/a>/g, \"\");\r\n // console.log(content, 2)\r\n content = content.replace(/<\\/a>/g, \"\");\r\n // console.log(content, 3)\r\n // content = content.replace(/ style=\\\".*\\\"/g, \"\");\r\n // content = content.replace(/\\[endif\\]/g, \"\");\r\n // content = content.replace(/\\[if.*\\]/g, \"\");\r\n\r\n /* content = content.replace(/\\/g, \"\");\r\n \t\t\tcontent = content.replace(/\\/g, \"\");\r\n \t\t\tcontent = content.replace(/\\<\\/FONT\\>/g, \"\");\r\n \t\t\tcontent = content.replace(/\\<\\SPAN STYLE\\=\\\"text\\-dec.+\\>([\\s\\S!\\>]+)\\<\\/SPAN\\>/g, \"$1\");\r\n \t\t\tcontent = content.replace(/serif[\\,\\;]?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-weight.*normal[\\,\\;]?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-size.*pt[\\,\\;]?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Roman\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Arial\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Mangal\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Calibri\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Unicode MS\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Tahoma\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Cambria\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*Courier New\\\"[\\,\\;]?\\\"?/g, \"\");\r\n \t\t\tcontent = content.replace(/font\\-family.*\\: \\;/g, \"\"); //такой мрак там тоже встречается\r\n \t content = content.replace(/\\/g, \"\");*/\r\n // console.log(content);\r\n\r\n content = content.replace(/img src\\=\\\"([\\\\\\/\\:\\w\\.]+)\\\"/ig, function(src, filename) {\r\n // console.log(src, filename, 4)\r\n //\tconsole.log(self._files[filename]);\r\n if (self._files[filename]) {\r\n //\t console.log('dfddf');\r\n return \"IMG SRC=\\\"\" + self._files[filename] + \"\\\"\";\r\n } else if (self.files_folder) {\r\n //\t console.log(filename);\r\n return \"IMG SRC=\\\"\" + self.files_folder + filename + \"\\\"\";\r\n } else {\r\n // console.log(filename);\r\n return \"IMG SRC=\\\"\" + filename + \"\\\"\";\r\n }\r\n /*\r\n \t\tconsole.log(filename);\r\n \t\tvar img = document.createElement('img');\r\n \t\timg.onload = function(){\r\n \t\t\t\tgetDataUri(img, function(dataUri) {\r\n \t\t\t\tconsole.log(dataUri);\r\n \t\t\t\t// Do whatever you'd like with the Data URI!\r\n \t\t\t\t});\r\n \t\t};\r\n \t\timg.src = filename;\r\n /*\tvar reader = new FileReader();\r\n \t\treader.addEventListener(\"load\", function () {\r\n \t\t\t\tconsole.log(reader.result);\r\n \t\t}, false);\r\n reader.readAsDataURL(filename);*/\r\n\r\n //\treturn \"IMG SRC=\\\"\" + filename + \"\\\"\";\r\n });\r\n\r\n // console.log('med_doc.prototype.preprocess', content)\r\n\r\n return content;\r\n};\r\n\r\nmed_doc.prototype.add_class = function(content, className) {\r\n return findAllSections(content, className);\r\n};\r\n\r\n//создаём из html структуру из секций с названием и нарезанного содержимого\r\n\r\nmed_doc.prototype.get_structure = function() {\r\n var spacer = \"[\\\\s\\\\t\\\\nA-Za-z\\-\\=\\>\\<\\/\\\"]+\",\r\n spacer_no = \"[\\\\s\\\\t\\\\nA-Za-z\\-\\=\\>\\<\\/\\\"]*\";\r\n\r\n return {\r\n sections: [{\r\n id: \"doc_whole\",\r\n title: \"Исходный документ\",\r\n content: \"\",\r\n content_index: 0,\r\n title_index: 0,\r\n required: false,\r\n found: false,\r\n donotsearch: true\r\n },\r\n {\r\n id: \"doc_title\",\r\n title: \"Титульный лист\",\r\n content: \"\",\r\n data: {},\r\n required: true,\r\n found: false,\r\n donotsearch: true\r\n },\r\n // {\r\n // \tid: \"doc_key_words\",\r\n // \ttitle: \"Ключевые слова\",\r\n // \ttitle_re: \"(Ключевые\" + spacer + \"слова)\",\r\n // \trequired: true,\r\n // \tfound: false,\r\n // \tcontent: \"\"\r\n // },\r\n {\r\n id: \"doc_abbreviation\",\r\n title: \"Список сокращений\",\r\n title_re: [\r\n \"(Список\" + spacer + \"сокращений)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_terms\",\r\n title: \"Термины и определения\",\r\n title_re: \"(Термины\" + spacer + \"и\" + spacer + \"определения)\",\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_1\",\r\n title: \"1. Краткая информация\",\r\n title_re: [\r\n \"(1\\\\.?\" + spacer_no + \"Краткая\" + spacer + \"информация)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_1\",\r\n title: \"1.1 Определение заболевания или состояния (группы заболеваний или состояний)\",\r\n title_re: [\r\n \"(1.1\" + spacer + \"определение\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"(группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний))\",\r\n \"(1\" + spacer_no + \"1\" + spacer + \"определение\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"(группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний))\",\r\n \"1\" + spacer_no + \"1\" + spacer + \"определение\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_2\",\r\n title: \"1.2 Этиология и патогенез заболевания или состояния (группы заболеваний или состояний)\",\r\n title_re: [\r\n \"(1.2\" + spacer + \"этиология\" + spacer + \"и\" + spacer + \"патогенез\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"(группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний))\",\r\n \"(1\" + spacer_no + \"2\" + spacer + \"этиология\" + spacer + \"и\" + spacer + \"патогенез\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"(группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний))\",\r\n \"1\" + spacer_no + \"2\" + spacer + \"этиология\" + spacer + \"и\" + spacer + \"патогенез\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\" + spacer + \"группы\" + spacer + \"заболеваний\" + spacer + \"или\" + spacer + \"состояний\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_3\",\r\n title: \"1.3 Эпидемиология заболевания или состояния\",\r\n title_re: [\r\n \"(1.3\" + spacer + \"эпидемиология\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"(1\" + spacer_no + \"3\" + spacer + \"эпидемиология\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"1\" + spacer_no + \"3\" + spacer + \"эпидемиология\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_4\",\r\n title: \"1.4 Особенности кодирования заболевания или состояния\",\r\n title_re: [\r\n \"(1.4\" + spacer + \"особенности\" + spacer + \"кодирования\", +spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"(1\" + spacer_no + \"4\" + spacer + \"особенности\" + spacer + \"кодирования\", +spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"1\" + spacer_no + \"4\" + spacer + \"особенности\" + spacer + \"кодирования\", +spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_5\",\r\n title: \"1.5 Классификация заболевания или состояния\",\r\n title_re: [\r\n \"(1.5\" + spacer + \"классификация\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"(1\" + spacer_no + \"5\" + spacer + \"классификация\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"1\" + spacer_no + \"5\" + spacer + \"классификация\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_crat_info_1_6\",\r\n title: \"1.6 Клиническая картина заболевания или состояния\",\r\n title_re: [\r\n \"(1.6\" + spacer + \"клиническая\" + spacer + \"картина\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"(1\" + spacer_no + \"6\" + spacer + \"клиническая\" + spacer + \"картина\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния)\",\r\n \"1\" + spacer_no + \"6\" + spacer + \"клиническая\" + spacer + \"картина\" + spacer + \"заболевания\" + spacer + \"или\" + spacer + \"состояния\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2\",\r\n title: \"2. Диагностика\",\r\n title_re: \"(2\\\\.?\" + spacer_no + \"Диагностика)\",\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2_1\",\r\n title: \"2.1 Жалобы и анамнез\",\r\n title_re: [\r\n \"(2.1\" + spacer + \"жалобы\" + spacer + \"и\" + spacer + \"анамнез)\",\r\n \"(2\" + spacer_no + \"1\" + spacer + \"жалобы\" + spacer + \"и\" + spacer + \"анамнез)\",\r\n \"2\" + spacer_no + \"1\" + spacer + \"жалобы\" + spacer + \"и\" + spacer + \"анамнез\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2_2\",\r\n title: \"2.2 Физикальное обследование\",\r\n title_re: [\r\n \"(2.2\" + spacer + \"физикальное\" + spacer + \"обследование)\",\r\n \"(2\" + spacer_no + \"2\" + spacer + \"физикальное\" + spacer + \"обследование)\",\r\n \"2\" + spacer_no + \"2\" + spacer + \"физикальное\" + spacer + \"обследование\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2_3\",\r\n title: \"2.3 Лабораторные исследования\",\r\n title_re: [\r\n \"(2.3\" + spacer + \"лабораторные\" + spacer + \"исследования)\",\r\n \"(2.3\" + spacer + \"лабораторные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"3\" + spacer + \"лабораторные\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"3\" + spacer + \"лабораторные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"2\" + spacer_no + \"3\" + spacer + \"лабораторные\" + spacer + \"исследования\",\r\n \"2\" + spacer_no + \"3\" + spacer + \"лабораторные\" + spacer + \"диагностические\" + spacer + \"исследования\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2_4\",\r\n title: \"2.4 Инструментальные исследования\",\r\n title_re: [\r\n \"(2.4\" + spacer + \"инструментальные\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"4\" + spacer + \"инструментальные\" + spacer + \"исследования)\",\r\n \"2\" + spacer_no + \"4\" + spacer + \"инструментальные\" + spacer + \"исследования\",\r\n \"(2.4\" + spacer + \"инструментальные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"4\" + spacer + \"инструментальные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"2\" + spacer_no + \"4\" + spacer + \"инструментальные\" + spacer + \"диагностические\" + spacer + \"исследования\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_diag_2_5\",\r\n title: \"2.5 Иные исследования\",\r\n title_re: [\r\n \"(2.5\" + spacer + \"иные\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"5\" + spacer + \"иные\" + spacer + \"исследования)\",\r\n \"2\" + spacer_no + \"5\" + spacer + \"иные\" + spacer + \"исследования\",\r\n \"(2.5\" + spacer + \"иные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"(2\" + spacer_no + \"5\" + spacer + \"иные\" + spacer + \"диагностические\" + spacer + \"исследования)\",\r\n \"2\" + spacer_no + \"5\" + spacer + \"иные\" + spacer + \"диагностические\" + spacer + \"исследования\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_3\",\r\n title: \"3. Лечение\",\r\n title_re: \"(3\\\\.?\" + spacer_no + \"Лечение)\",\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_4\",\r\n title: \"4. Реабилитация\",\r\n title_re: [\r\n \"(4\\\\.?\" + spacer_no + \"Реабилитация)\",\r\n \"(4\\\\.?\" + spacer_no + \"Медицинская\" + spacer + \"реабилитация)\",\r\n \"(4\\\\.?\" + spacer_no + \"Реабилитация\" + spacer + \"и\" + spacer + \"диспансерное\" + spacer + \"наблюдение)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_5\",\r\n title: \"5. Профилактика\",\r\n title_re: [\r\n \"(5\\\\.?\" + spacer_no + \"Профилактика\" + spacer + \"и\" + spacer + \"диспансерное\" + spacer + \"наблюдение)\",\r\n \"(5\\\\.?\" + spacer_no + \"Профилактика)\"\r\n //\t\t\t \"(5\\\\.Профилактика\" + spacer + \"и\" + spacer + \"диспансерное\" + spacer + \"наблюдение)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_6\",\r\n title: \"6. Организация оказания медицинской помощи\",\r\n title_re: [\r\n \"(6\\.?\" + spacer_no + \"Организация\" + spacer + \"оказания\" + spacer + \"медицинской\" + spacer + \"помощи\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_7\",\r\n title: \"7. Дополнительная информация\",\r\n title_re: [\r\n \"(6\\.?\" + spacer_no + \"Дополнительная\" + spacer + \"информация\\\\,\" + spacer + \"влияющая\" + spacer + \"на\" + spacer + \"течение\" + spacer + \"и\" + spacer + \"исход\" + spacer + \"заболевания//синдрома)\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_criteria\",\r\n title: \"Критерии оценки качества медицинской помощи\",\r\n title_re: [\r\n \"(Критерии\" + spacer + \"оценки\" + spacer + \"качества\" + spacer + \"медицинской\" + spacer + \"помощи)\",\r\n \"(Критерии\" + spacer + \"оценки\" + spacer + \"качества\" + spacer + \"оказания\" + spacer + \"медицинской\" + spacer + \"помощи)\",\r\n \"(Критерии\" + spacer + \"оценки\" + spacer + \"качества\" + spacer + \"специализированной\" + spacer + \"медицинской\" + spacer + \"помощи\" + spacer + \"больным\" + spacer + \"острым\" + spacer + \"фронтитом\" + spacer + \"\\\\(детям\\\\))\",\r\n \"(Критерии\" + spacer + \"качества\" + spacer + \"медицинской\" + spacer + \"помощи)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_bible\",\r\n title: \"Список литературы\",\r\n title_re: [\r\n \"(Список\" + spacer + \"литературы)\",\r\n \"(Список\" + spacer + \"рекомендуемой\" + spacer + \"литературы)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_a1\",\r\n title: \"Приложение А1. Состав рабочей группы\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"1\\\\.\" + spacer + \"Состав\" + spacer + \"Рабочей\" + spacer + \"группы)\",\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"1\\\\.\" + spacer + \"Состав\" + spacer + \"рабочей\" + spacer + \"группы)\",\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"1\\\\.\" + spacer + \"Состав\" + spacer + \"рабочей\" + spacer + \"группы)\",\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"1)\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_a2\",\r\n title: \"Приложение А2. Методология разработки клинических рекомендаций\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"2\\\\.\" + spacer + \"Методология разработки\" + spacer + \"клинических\" + spacer + \"рекомендаций)\",\r\n \"(Приложение\" + spacer + \"А2\" + spacer_no + \"\\\\.\" + spacer + \"Методология\" + spacer + \"разработки\" + spacer + \"клинических\" + spacer + \"рекомендации)\",\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"2)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_a3\",\r\n title: \"Приложение А3. Справочные материалы\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"[AА]\" + spacer_no + \"3\\\\.\" + spacer + \"Справочные\" + spacer + \"материалы)\",\r\n \"(Приложение А3 Справочные материалы)\",\r\n \"(Приложение\" + spacer + \"А3\\\\.\" + spacer_no + \"Справочные\" + spacer + \"материалы)\",\r\n \"(Приложение\" + spacer + \"А\" + spacer_no + \"3)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n\r\n },\r\n {\r\n id: \"doc_b\",\r\n title: \"Приложение Б. Алгоритмы действий врача\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритмы\" + spacer + \"действий\" + spacer + \"врача)\",\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритм\" + spacer + \"д?действий\" + spacer + \"врача)\",\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритм\" + spacer + \"действий\" + spacer + \"врача\" + spacer + \"\\\\(дети\\\\)\" + spacer + \"с\" + spacer + \"диагнозом\" + spacer + \"острый\" + spacer + \"фронтит)\",\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритмы? действий пациент[оа]в?)\",\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритмы? лечения врача)\",\r\n \"(Приложение\" + spacer + \"Б\\\\.\" + spacer + \"Алгоритмы?\" + spacer + \"ведение\" + spacer + \"врача)\",\r\n \"(Приложение\" + spacer + \"Б)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_v\",\r\n title: \"Приложение В. Информация для пациента\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"[BВ]\\\\.\" + spacer + \"Информация\" + spacer + \"для\" + spacer + \"пациентов)\",\r\n \"(Приложение\" + spacer + \"[BВ]\\\\.\" + spacer + \"Информация\" + spacer + \"для\" + spacer + \"пациента)\",\r\n \"(Приложение\" + spacer + \"В.\" + spacer + \"Информация\" + spacer + \"для\" + spacer + \"родителей\" + spacer + \"пациента)\",\r\n \"(Приложение\" + spacer + \"В)\"\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n },\r\n {\r\n id: \"doc_g\",\r\n title: \"Приложение Г1 - Г... Шкалы оценки, вопросники\",\r\n title_re: [\r\n \"(Приложение\" + spacer + \"Г\" + spacer_no + \"1\" + spacer_no + \"\\\\-\" + spacer_no + \"Г\" + spacer_no + \"N\" + spacer_no + \"\\\\.)\",\r\n \"Приложение\" + spacer + \"Г\" + spacer_no + \"1\\\\.\",\r\n \"Приложение\" + spacer + \"Г\" + spacer_no + \"1\\\\-\" + spacer_no + \"Г\" + spacer_no + \"N\\\\.\",\r\n \"Приложение\" + spacer + \"Г\" + spacer_no + \"1\" + spacer_no + \"\\\\-\" + spacer_no + \"Г\" + spacer_no + \"N\" + spacer_no + \"\\\\.\",\r\n \"Приложение\" + spacer + \"Г1\" + spacer_no + \"\\\\-\" + spacer_no + \"ГN\\\\.\",\r\n \"Приложение\" + spacer + \"Г1\" + spacer + \"Г\\\\...\" + spacer + \"Шкалы\" + spacer + \"оценки\\\\,\" + spacer + \"вопросники\",\r\n ],\r\n required: true,\r\n found: false,\r\n content: \"\"\r\n }\r\n ],\r\n title_sections: [{\r\n id: \"title\",\r\n title: \"Клинические рекомендации\",\r\n title_re: \"Клинические\" + spacer + \"(?:рекомендации|руководства)\" + spacer_no + \"\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"mkb\",\r\n title: \"МКБ 10\",\r\n title_re: \"МКБ\" + spacer_no + \"10\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"year\",\r\n title: \"Год утверждения\",\r\n //\t\t title_re : \"Год утверждения \\\\(частота пересмотра\\)Год утверждения \\(частота пересмотра\\)\"\r\n title_re: \"Год\" + spacer + \"утверждения\" + spacer_no + \"\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"id\",\r\n title: \"ID\",\r\n title_re: \"ID\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"url\",\r\n title: \"URL\",\r\n title_re: \"URL\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"proff_associations\",\r\n title: \"Профессиональные ассоциации\",\r\n title_re: \"Профессиональные\" + spacer + \"ассоциации\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"approved\",\r\n title: \"Утверждены\",\r\n title_re: \"Утверждены\\\\:?\",\r\n content: \"\"\r\n },\r\n {\r\n id: \"agreed\",\r\n title: \"Одобрены\",\r\n title_re: \"(?:Одобрены\\\\:?|Согласованы\\\\:?)\",\r\n content: \"\"\r\n }\r\n // ,\r\n // \t {\r\n // \t\tid : \"agreed\",\r\n // \t\ttitle : \"Согласованы\",\r\n // \t\ttitle_re : \"\",\r\n // \t\tcontent : \"\"\r\n // \t }\r\n ]\r\n };\r\n};\r\n\r\nmed_doc.prototype.process = function(cb, isnewparser) {\r\n // this.raw_document = this.cleanEmptyElems(this.raw_document)\r\n var content_backup, content = this.raw_document,\r\n spacer = \"[\\\\s\\\\t\\\\nA-Za-z\\-\\=\\>\\<\\/\\\"]+\",\r\n spacer_no = \"[\\\\s\\\\t\\\\nA-Za-z\\-\\=\\>\\<\\/\\\"]*\";\r\n\r\n var ind, iind, match, normalize_re = /[\\t\\n\\s]+/gm,\r\n section, struct = this.get_structure(),\r\n sections = this.sections = struct.sections;\r\n //отрезаем всё что до body\r\n if (content.search(//im) > 0)\r\n content = content.substring(content.search(//im) + 6);\r\n // console.log('отрезаем всё что до body',content)\r\n\r\n content_backup = content;\r\n //вырезаем оглавление если оно есть\r\n match = content.search(/(\\
)/);\r\n /////вырезаем содержимое титульной страницы\r\n var title_content, oglav_match, end_match;\r\n if (match > 0) {\r\n title_content = content.substring(0, match);\r\n content = content.substring(parseInt(match + (end_match = content.substring(match).search(/\\<\\/DIV\\>/)) + 6));\r\n } else {\r\n oglav_match = content.search(/Оглавление|Cодержание/);\r\n if (oglav_match)\r\n title_content = content.substring(0, oglav_match);\r\n }\r\n var start_content_re = /ключевые[\\s\\t]+слова/i,\r\n start_counter = 0,\r\n start2_content_re = /список[\\s\\t]+сокращений/i,\r\n start2_counter = 0,\r\n prev_match;\r\n\r\n match = content.search(start_content_re);\r\n if (match > 0) {\r\n prev_match = match;\r\n match = content.substring(match + 1).search(start_content_re);\r\n }\r\n if (match > 0) {\r\n //console.log('dfdf', match, content.substring(match - 50));\r\n content = content.substring(match + prev_match + 1);\r\n start_counter++;\r\n } else {\r\n match = content.search(start2_content_re);\r\n if (match > 0) {\r\n prev_match = match;\r\n match = content.substring(match + 1).search(start2_content_re);\r\n }\r\n if (match > 0) {\r\n content = content.substring(match + prev_match + 1);\r\n start2_counter++;\r\n }\r\n }\r\n\r\n //в оглавлении нет секций Ключевые слова и список сокращений\r\n if (!start_counter && !start2_counter) {\r\n match = content.search(start_content_re);\r\n if (match > 0) {\r\n prev_match = match;\r\n content = content.substring(match);\r\n } else {\r\n match = content.search(start2_content_re);\r\n if (match > 0) {\r\n prev_match = match;\r\n content = content.substring(match);\r\n }\r\n }\r\n }\r\n //console.log(content);\r\n //ищем секции\r\n var end_title_cleaner = \"[\\w\\/\\.\\,\\\\\\-\\+\\s\\n]*\";\r\n //ищем секции новым парсером\r\n if (isnewparser) {\r\n var _sections = findAllSections(this.raw_document);\r\n for (ind in _sections)\r\n for (iind in this.sections)\r\n if (this.sections[iind].id == _sections[ind].id)\r\n this.sections[iind] = _sections[ind];\r\n // console.log(\"ищем по новому\");\r\n } else { //ищем секции старым парсером\r\n for (ind in sections) {\r\n if (sections[ind].donotsearch) //пропускаем секции, которые не ищем в документе, а генерируем\r\n continue;\r\n\r\n if (typeof(sections[ind].title_re) == \"string\")\r\n match = content.match(new RegExp(sections[ind].title_re, \"im\"));\r\n else {\r\n for (iind in sections[ind].title_re + end_title_cleaner) {\r\n //\t\t console.log(\"EEEE\", titles[ind].title[iind],(match = content.match(new RegExp(titles[ind].title[iind], 'im'))));\r\n if ((match = content.match(new RegExp(sections[ind].title_re[iind] + end_title_cleaner, \"im\"))) != null)\r\n break;\r\n }\r\n }\r\n section = sections[ind];\r\n\r\n if (match != null) {\r\n section.found = true;\r\n //\t\t console.log(match[0]);\r\n //\t\t console.log(match[1].replace(normalize_re, ' '));\r\n section.title_index = match.index;\r\n section.content_index = match.index + match[0].length;\r\n } else {\r\n section.found = false;\r\n section.content_index = 0;\r\n section.title_index = 0;\r\n //\t\t console.log(\"не найдено: \" + (titles[ind].required ? titles[ind].title : 'ну и не надо ' + titles[ind].title) );\r\n }\r\n //console.log(match);\r\n }\r\n\r\n //режем контент на части по секциям\r\n var next_section;\r\n for (ind in sections) {\r\n if (parseInt(ind) + 1 < sections.length) {\r\n //\t\t console.log(sections.length, parseInt(ind) + 1);\r\n //\t\t console.log(sections[parseInt(ind) + 1].title_index);\r\n //\t\t console.log(sections[ind].title, sections[ind].content_index);\r\n if (sections[ind].found) {\r\n next_section = false;\r\n iind = parseInt(ind) + 1;\r\n while (iind < sections.length) {\r\n //\t\t\t console.log(sections[iind].found);\r\n if (sections[iind].found) {\r\n next_section = sections[iind];\r\n break;\r\n }\r\n iind++;\r\n }\r\n //\t\t console.log(next_section);\r\n sections[ind].content = content.substring(sections[ind].content_index, next_section ? next_section.title_index : content.length);\r\n } else {\r\n sections[ind].content = \"\"\r\n }\r\n } else {\r\n sections[ind].content = content.substring(sections[ind].content_index)\r\n }\r\n console.log(sections[ind].content)\r\n }\r\n for (ind in this.sections) {\r\n //console.log(\"это html секции\", this.sections[ind].content);\r\n this.sections[ind].content = this.cleanEmptyElems(this.sections[ind].content);\r\n }\r\n }\r\n\r\n var doc_whole = this.get_section(\"doc_whole\");\r\n doc_whole.content = content_backup;\r\n doc_whole.found = true;\r\n\r\n\r\n\r\n\r\n //извлекаем данные из титульной страницы и строим её заново\r\n var title_sections = struct.title_sections;\r\n\r\n function find_title_section(sections, txt) {\r\n var ind;\r\n for (ind in sections) {\r\n if (typeof(sections[ind].title_re) == \"string\") {\r\n //\t\t console.log(title_sections_template[ind].title_re);\r\n if ((new RegExp(sections[ind].title_re)).test(txt)) {\r\n return sections[ind];\r\n }\r\n } else {}\r\n }\r\n return null;\r\n }\r\n\r\n function title_parse_text(content) {}\r\n\r\n function title_parse_dom(content) {\r\n //\tconsole.log(content);\r\n function parse_children_recur(children) {\r\n var ind, ret = [];\r\n for (ind in children) {\r\n if (children[ind].children.length)\r\n ret = ret.concat(parse_children_recur(children[ind].children));\r\n else\r\n ret.push(children[ind]);\r\n }\r\n return ret;\r\n }\r\n\r\n function parse_recur(element, parent) {\r\n var children = element.childNodes,\r\n ind, elem = { children: [] },\r\n ret;\r\n\r\n // console.log(elem, element)\r\n\r\n elem.content = element.textContent;\r\n if (elem.content) {\r\n elem.content = elem.content.replace(/[\\n\\s\\t]+/gm, \" \");\r\n elem.content = elem.content.replace(/^[\\n\\s\\t]+/gm, \"\");\r\n }\r\n for (ind in children) {\r\n ret = parse_recur(children[ind], elem);\r\n if (ret) {\r\n if ((ret.content && ret.content.search(/[\\wА-Яа-я]/m) >= 0) || ret.children.length) {\r\n if (!parent || (parent.content != ret.content && elem.content != ret.content)) {\r\n elem.children.push(ret);\r\n } else if (parent && elem.content == ret.content && ret.children.length)\r\n //вытаскиваем все элементы из детей наверх, в один уровень, в массив\r\n elem.children = elem.children.concat(parse_children_recur(ret.children));\r\n }\r\n }\r\n }\r\n return elem;\r\n }\r\n\r\n function trim_tree(tree) {\r\n var ind;\r\n if (tree.children.length == 1 && tree.children[0].children.length > 1)\r\n tree.children = tree.children[0].children;\r\n for (ind in tree.children)\r\n trim_tree(tree.children[ind]);\r\n return tree;\r\n }\r\n\r\n function find_sections(tree) {\r\n //\t console.log(JSON.stringify(tree, null, 3));\r\n var ts = JSON.parse(JSON.stringify(title_sections)),\r\n tind,\r\n children = tree.children,\r\n ind, cur_section, match, cur_text, title_section;\r\n\r\n //\t console.log(JSON.stringify(tree, null, 3));\r\n for (ind in children) {\r\n children[ind].content = children[ind].content.replace(/[\\n\\s\\t]+/gm, \" \");\r\n children[ind].content = children[ind].content.replace(/^[\\n\\s\\t]+/gm, \"\");\r\n }\r\n\r\n tree.content = tree.content.replace(/[\\n\\s\\t]+/gm, \" \");\r\n //находим title секцию, она нам понадобится\r\n for (tind in ts)\r\n if (ts[tind].id == \"title\")\r\n title_section = ts[tind];\r\n //проходим по всем полям и ищем по патернам совпадения и значения\r\n for (ind in children) {\r\n for (tind in ts) {\r\n match = children[ind].content.match(new RegExp(ts[tind].title_re, \"im\"));\r\n if (match != null) {\r\n if (cur_text && cur_section) {\r\n cur_section.content = cur_text;\r\n }\r\n if (match.index > 0) {\r\n if (cur_section)\r\n cur_section.content += children[ind].content.substring(0, match.index);\r\n }\r\n cur_text = \"\";\r\n cur_section = ts[tind];\r\n cur_section.found = true;\r\n //\t\t\tconsole.log(match);\r\n children[ind].content = children[ind].content.substring(match.index + match[0].length);\r\n }\r\n }\r\n if (children[ind].content) {\r\n //\r\n if (parseInt(ind) + 1 == children.length && !title_section.content && !cur_section)\r\n title_section.content = children[ind].content;\r\n else {\r\n if (!cur_section) cur_section = title_section;\r\n if (cur_section && cur_section.id == \"proff_associations\")\r\n // console.log(cur_section.id, children[ind].content, children[ind]);\r\n if (cur_section && cur_section.id == \"proff_associations\" && children[ind].children && children[ind].children.length > 1) {\r\n var proff_ind = 1;\r\n if (children[ind].children[0].content.search(\"Профессиональные ассоциации\") != -1)\r\n cur_section.content = \"\";\r\n else\r\n cur_section.content = children[ind].children[0].content;\r\n while (proff_ind != children[ind].children.length) {\r\n if (cur_section.content.length)\r\n cur_section.content += \"\\n\" + children[ind].children[proff_ind++].content;\r\n else\r\n cur_section.content = children[ind].children[proff_ind++].content;\r\n }\r\n // console.log(cur_section.id, children[ind].content, children[ind]);\r\n } else\r\n cur_section.content += children[ind].content;\r\n }\r\n //\t\t console.log(cur_section, children[ind].content);\r\n }\r\n }\r\n // console.log('find sections',JSON.stringify(ts, null, 3));\r\n return ts;\r\n }\r\n var div = document.createElement(\"div\");\r\n div.innerHTML = content;\r\n //console.log(parse_recur(div));\r\n return find_sections(trim_tree(parse_recur(div)));\r\n }\r\n\r\n var title_data = title_parse_dom(title_content);\r\n\r\n var title_match, title_section, title_next_section,\r\n title_extractor_base = \"\\\\>([A-Яа-я\\\\n\\\\w\\\\t\\\\s\\\\:\\\\;\\\\.\\\\,\\\\-\\\\/\\\\(\\\\)\\\\[\\\\]\\\\{\\\\}\\\\$\\\\%\\\\#\\\\@\\\\!\\\\^\\\\&\\\\*\\\\+\\\\=\\\\?\\\\\\\"\\\\'\\\\~\\\\`]{3,})\\\\<\",\r\n title_clin_name_re = new RegExp(\"(font\\\\-size\\\\: (?:22|16|17|18|19|20|21|23|24|25|26|27|28|29|30))\", \"m\"),\r\n title_clin_name_match, title_clin_name = true,\r\n title_clin_rec_pushed = false;\r\n var title_extractor = new RegExp(title_extractor_base, \"m\");\r\n\r\n title_content = title_content.replace(/Оглавление/m, \"\");\r\n\r\n while (title_match = title_content.match(title_extractor)) {\r\n if (title_clin_name &&\r\n (title_clin_name_match = title_content.match(title_clin_name_re)) &&\r\n title_clin_name_match.index < title_match.index) {\r\n title_section = find_title_section(title_sections, \"Клинические рекомендации\");\r\n //\t\t console.log('dfdfdfdfd', title_section);\r\n title_content = title_content.substring(title_clin_name_match.index + title_clin_name_match[1].length);\r\n\r\n //\t\t console.log(title_content, title_clin_name);\r\n title_clin_name = false;\r\n continue;\r\n }\r\n if (find_title_section(title_sections, \"Клинические рекомендации\", \" \") != null)\r\n title_clin_rec_pushed = true;\r\n title_next_section = find_title_section(title_sections, title_match[1].replace(normalize_re, \" \"));\r\n\r\n if (title_next_section != null) {\r\n if (title_next_section.title == \"Клинические рекомендации\" && title_clin_rec_pushed);\r\n else\r\n title_section = title_next_section;\r\n } else if (title_section != null) {\r\n title_section.content += title_match[1];\r\n title_section.content = title_section.content.replace(/\\"/gm, \"\\\"\");\r\n title_section.content = title_section.content.replace(/\\­\\;/gm, \" \");\r\n title_section.content = title_section.content.replace(/[\\t\\s]{2,}/gm, \" \");\r\n }\r\n //\t console.log(title_next_section, title_match[1].replace(normalize_re, ' '), title_section);\r\n title_content = title_content.substring(title_match.index + title_match[1].length + 2);\r\n }\r\n\r\n\r\n //\t console.log(title_sections);\r\n title_content = \"\";\r\n for (ind in title_sections) {\r\n title_content += \"

\" + title_sections[ind].title + \":

\" + title_sections[ind].content + \"
\";\r\n }\r\n\r\n var _title_section = this.get_section(\"doc_title\");\r\n _title_section.content = title_content;\r\n _title_section.data = title_data;\r\n // _title_section.data = struct.title_sections;\r\n _title_section.found = true;\r\n /////заканчиваем формировать титульный лист\r\n\r\n cb();\r\n};\r\n\r\nmed_doc.prototype.get_section = function(id) {\r\n var ind, sections = this.sections;\r\n\r\n //\t console.log('sections is', sections);\r\n for (ind in sections) {\r\n if (sections[ind].id == id)\r\n return sections[ind];\r\n }\r\n\r\n return null;\r\n};\r\n\r\nmed_doc.prototype.to_json = function() {\r\n var ind, _html = \"\";\r\n // for(ind in this.sections)\r\n //\t_html += this.sections[ind].content;\r\n // document.write(_html);\r\n return JSON.stringify(this.sections, null, 3);\r\n};\r\n\r\nmed_doc.prototype.cleanEmptyElems = function(s) {\r\n var e = $(\"
\");\r\n e[0].innerHTML = s;\r\n e = e[0].childNodes;\r\n var filteredHtml = \"\";\r\n for (var i = 0; i < e.length; i++) {\r\n var el = e[i];\r\n if (el.nodeType == 3)\r\n continue;\r\n if ((typeof(el.innerText) != \"undefined\" && el.innerText.trim() != \"\") || (el.innerHTML && (\r\n el.innerHTML.indexOf(\",\n default: 'v-snack-transition',\n validator: v => typeof v === 'string' || v === false,\n },\n vertical: Boolean,\n },\n\n data: () => ({\n activeTimeout: -1,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-snack--absolute': this.absolute,\n 'v-snack--active': this.isActive,\n 'v-snack--bottom': this.bottom || !this.top,\n 'v-snack--centered': this.centered,\n 'v-snack--has-background': this.hasBackground,\n 'v-snack--left': this.left,\n 'v-snack--multi-line': this.multiLine && !this.vertical,\n 'v-snack--right': this.right,\n 'v-snack--text': this.text,\n 'v-snack--top': this.top,\n 'v-snack--vertical': this.vertical,\n }\n },\n // Text and outlined styles both\n // use transparent backgrounds\n hasBackground (): boolean {\n return (\n !this.text &&\n !this.outlined\n )\n },\n // Snackbar is dark by default\n // override themeable logic.\n isDark (): boolean {\n return this.hasBackground\n ? !this.light\n : Themeable.options.computed.isDark.call(this)\n },\n styles (): object {\n // Styles are not needed when\n // using the absolute prop.\n if (this.absolute) return {}\n\n const {\n bar,\n bottom,\n footer,\n insetFooter,\n left,\n right,\n top,\n } = this.$vuetify.application\n\n // Should always move for y-axis\n // applicationable components.\n return {\n paddingBottom: convertToUnit(bottom + footer + insetFooter),\n paddingLeft: !this.app ? undefined : convertToUnit(left),\n paddingRight: !this.app ? undefined : convertToUnit(right),\n paddingTop: convertToUnit(bar + top),\n }\n },\n },\n\n watch: {\n isActive: 'setTimeout',\n timeout: 'setTimeout',\n },\n\n mounted () {\n if (this.isActive) this.setTimeout()\n },\n\n created () {\n /* istanbul ignore next */\n if (this.$attrs.hasOwnProperty('auto-height')) {\n removed('auto-height', this)\n }\n\n /* istanbul ignore next */\n // eslint-disable-next-line eqeqeq\n if (this.timeout == 0) {\n deprecate('timeout=\"0\"', '-1', this)\n }\n },\n\n methods: {\n genActions () {\n return this.$createElement('div', {\n staticClass: 'v-snack__action ',\n }, [\n getSlot(this, 'action', {\n attrs: { class: 'v-snack__btn' },\n }),\n ])\n },\n genContent () {\n return this.$createElement('div', {\n staticClass: 'v-snack__content',\n class: {\n [this.contentClass]: true,\n },\n attrs: {\n role: 'status',\n 'aria-live': 'polite',\n },\n }, [getSlot(this)])\n },\n genWrapper () {\n const setColor = this.hasBackground\n ? this.setBackgroundColor\n : this.setTextColor\n\n const data = setColor(this.color, {\n staticClass: 'v-snack__wrapper',\n class: VSheet.options.computed.classes.call(this),\n directives: [{\n name: 'show',\n value: this.isActive,\n }],\n })\n\n return this.$createElement('div', data, [\n this.genContent(),\n this.genActions(),\n ])\n },\n genTransition () {\n return this.$createElement('transition', {\n props: { name: this.transition },\n }, [this.genWrapper()])\n },\n setTimeout () {\n window.clearTimeout(this.activeTimeout)\n\n const timeout = Number(this.timeout)\n\n if (\n !this.isActive ||\n // TODO: remove 0 in v3\n [0, -1].includes(timeout)\n ) {\n return\n }\n\n this.activeTimeout = window.setTimeout(() => {\n this.isActive = false\n }, timeout)\n },\n },\n\n render (h): VNode {\n return h('div', {\n staticClass: 'v-snack',\n class: this.classes,\n style: this.styles,\n }, [\n this.transition !== false\n ? this.genTransition()\n : this.genWrapper(),\n ])\n },\n})\n","import VBtn from './VBtn'\n\nexport { VBtn }\nexport default VBtn\n"],"sourceRoot":""}