{"version":3,"sources":["webpack:///./src/components/SchemaEditor/index.vue?fc38","webpack:///../../../src/components/VTextarea/VTextarea.ts","webpack:///./src/components/SchemaEditor/index.vue?a169","webpack:///./src/components/SchemaEditor/flowchart.js","webpack:///./src/components/SchemaEditor/flowchart2.js","webpack:///./src/components/SchemaEditor/flowchart3.js","webpack:///src/components/SchemaEditor/index.vue","webpack:///./src/components/SchemaEditor/index.vue?7461","webpack:///../../../src/mixins/button-group/index.ts","webpack:///../../../src/components/VBtnToggle/VBtnToggle.ts","webpack:///../../../src/components/VRadioGroup/VRadio.ts","webpack:///../../../src/components/VRadioGroup/VRadioGroup.ts","webpack:///./src/components/SchemaEditor/index.vue?8d00"],"names":["baseMixins","name","props","autoGrow","noResize","rowHeight","type","Number","default","validator","v","isNaN","parseFloat","rows","parseInt","computed","classes","this","noResizeHandle","watch","lazyValue","$nextTick","mounted","setTimeout","methods","calculateInputHeight","input","$refs","height","minHeight","Math","genInput","onInput","onKeyDown","isFocused","e","_vm","_h","$createElement","_c","_self","staticClass","_v","attrs","on","actionBack","disabledBtnSave","saveSchemaBtn","downloadSheme","$event","setObjectType","del","object","subtype","changeYesNo","_e","staticStyle","model","value","callback","$$v","schemaname","expression","getPredefinedTexts","predefinedTextChange","sel","objTextChange","$set","blockSize","bs","changeKKandP","url2","url3","snackbar","_s","text_snackbar","staticRenderFns","recth","rectw","dx","direct","free","left","up","right","down","viewonly","blockSizeDefaults","h","w","cbSetObject","obj","window","appscope","$","css","focus","val","text","select","createView","s","div","pt","node","createSVGPoint","cursorPoint","evt","x","clientX","y","clientY","matrixTransform","getScreenCTM","inverse","zoom","proc","attr","width","className","box","viewBox","baseVal","createSchema","schema","hash","incid","addobj","id","remove","findObj","findExact","parent","undefined","el","Snap","getElementByPoint","attributes","objid","nodeValue","rect2loc","dir","r","getMarker","i","m","save","a","to","rects","lines","createRect","moveObj","createText","split","t","class","length","row","spans","tmpRow","j","textContent","getBBox","k","splice","g","selectAll","cnt","dy","toString","fitTextToRect","textNode","rect","transform","bb","widthTransform","heightTransform","min","setRectBlockSize","createMarker","o","circle","createHint","xx","yy","p","path","stroke","style","c","fill","b","group","append","click","event","tooltip","document","getElementById","innerHTML","display","pageX","top","pageY","onmouseout","_","createKK","yesno","n","setYesNo","round","url1","setElem","polygon","createMarkers","sizeMarkers","createSizeMarkers","kk_elem","find","f","hint_elem","url2g","url3g","setText","setTextUrl2","setTextUrl3","setBlockSize","indexOf","shake","fitRectToText","animate","mina","elastic","points","highlight","push","highlightMarkers","mclass","setAnchors","onclick","cbUrl1Click","cbUrl2Click","cbUrl3Click","highlightMarker","highlightMarkerByEl","nx","ny","cx","cy","LineDrawer","makepath","l","loc1direct","lefat","oldrecth","oldrectw","inlines","outlines","loc","last","connectObj","id1","dir1","id2","dir2","savedline","removeLine","loc1","loc2","line","show","point","path2","setMarkers","num","move","movePart","marker","d","opacity","highlightOnClick","rotatePoint","connect","slice","draw","point2","removeLines","loadLine","resetLine","rotate270","rotate180","rotate90","connectLU","connectLR","connectLD","connectLL","max","rotate","startTmpLine","delTmpLine","arrow","arrowBlack","createEditor","svgid","divid","selectedObj","selectedLine","s1","s2","objType","selectedObj_copie","querySelector","createLineMarkerDragger","lastline","findLine","ev","mouseDown","mousepressed","lastmarker","mouseMove","buttons","tmp","mouseUp","mouseOut","offsetY","reset","createObjDragger","lastrn","createLineDragger","findNearestMarker","nearestSizeMarker","abs","minD","sqrt","pow","forEach","lastMarker","lastSizeMarker","findMarker","res","includes","resizeMode","startMarker","startSizeMarker","lineDragger","objDragger","lineMarkerDragger","preventDefault","init","mousemove","bind","mousedown","mouseup","mouseout","getSelectedObj","load","data","tmphash","xmin","xmax","ymin","ymax","JSON","parse","bbox","x2","y2","ln","prepend","settext","settexturl2","settexturl3","provide","btnToggle","genData","mixins","backgroundColor","borderless","dense","rounded","shaped","tile","Boolean","themeClasses","setTextColor","setBackgroundColor","inheritAttrs","disabled","label","offIcon","onIcon","readonly","groupClasses","computedColor","computedIcon","isActive","computedId","VInput","hasLabel","hasState","radioGroup","isDisabled","isReadonly","computedName","rippleState","validationState","genLabel","VLabel","for","color","focused","genRadio","VIcon","attrs$","genRipple","onFocus","onBlur","onChange","onKeydown","render","column","genDefaultSlot","role","genInputSlot","onClick","component","VBtn","VBtnToggle","VContainer","VRadio","VRadioGroup","VSelect","VSnackbar","VTextField","VTextarea"],"mappings":"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","file":"js/chunk-764b4158.e855d9be.js","sourcesContent":["import mod from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7df343d2&lang=stylus&scoped=true&\"; export default mod; export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--11-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--11-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--11-oneOf-1-2!../../../node_modules/stylus-loader/index.js??ref--11-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=style&index=0&id=7df343d2&lang=stylus&scoped=true&\"","// Styles\nimport './VTextarea.sass'\n\n// Extensions\nimport VTextField from '../VTextField/VTextField'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n// Types\nimport Vue from 'vue'\n\ninterface options extends Vue {\n $refs: {\n input: HTMLTextAreaElement\n }\n}\n\nconst baseMixins = mixins\n>(\n VTextField\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-textarea',\n\n props: {\n autoGrow: Boolean,\n noResize: Boolean,\n rowHeight: {\n type: [Number, String],\n default: 24,\n validator: (v: any) => !isNaN(parseFloat(v)),\n },\n rows: {\n type: [Number, String],\n default: 5,\n validator: (v: any) => !isNaN(parseInt(v, 10)),\n },\n },\n\n computed: {\n classes (): object {\n return {\n 'v-textarea': true,\n 'v-textarea--auto-grow': this.autoGrow,\n 'v-textarea--no-resize': this.noResizeHandle,\n ...VTextField.options.computed.classes.call(this),\n }\n },\n noResizeHandle (): boolean {\n return this.noResize || this.autoGrow\n },\n },\n\n watch: {\n lazyValue () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n rowHeight () {\n this.autoGrow && this.$nextTick(this.calculateInputHeight)\n },\n },\n\n mounted () {\n setTimeout(() => {\n this.autoGrow && this.calculateInputHeight()\n }, 0)\n },\n\n methods: {\n calculateInputHeight () {\n const input = this.$refs.input\n if (!input) return\n\n input.style.height = '0'\n const height = input.scrollHeight\n const minHeight = parseInt(this.rows, 10) * parseFloat(this.rowHeight)\n // This has to be done ASAP, waiting for Vue\n // to update the DOM causes ugly layout jumping\n input.style.height = Math.max(minHeight, height) + 'px'\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n input.tag = 'textarea'\n delete input.data!.attrs!.type\n input.data!.attrs!.rows = this.rows\n\n return input\n },\n onInput (e: Event) {\n VTextField.options.methods.onInput.call(this, e)\n this.autoGrow && this.calculateInputHeight()\n },\n onKeyDown (e: KeyboardEvent) {\n // Prevents closing of a\n // dialog when pressing\n // enter\n if (this.isFocused && e.keyCode === 13) {\n e.stopPropagation()\n }\n\n this.$emit('keydown', e)\n },\n },\n})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"shema-editor\"},[_c('h3',{staticClass:\"rubricator__title\"},[_vm._v(\"Редактор схем (для клинических рекомендаций)\")]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-lg-12 col-md-12 col-sm-12\"},[_c('div',{staticClass:\"scheme-menu\"},[_c('v-btn-toggle',{staticClass:\"marg-class\",attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"title\":\"Вернутся назад\"},on:{\"click\":_vm.actionBack}},[_c('a',{staticClass:\"sbtn sbtn-back\"})])],1),_c('v-btn-toggle',{staticClass:\"marg-class\",attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"disabled\":_vm.disabledBtnSave,\"title\":\"Сохранить\"},on:{\"click\":_vm.saveSchemaBtn}},[_c('a',{staticClass:\"sbtn sbtn-save\"})])],1),_c('v-btn-toggle',{staticClass:\"marg-class\",attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"title\":\"Скачать\"},on:{\"click\":_vm.downloadSheme}},[_c('a',{staticClass:\"sbtn sbtn-png-dwn\"})])],1),_c('v-btn-toggle',{staticClass:\"marg-class\",attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"title\":\"Прямоугольник\"},on:{\"click\":function($event){return _vm.setObjectType('rect')}}},[_c('a',{staticClass:\"sbtn sbtn-rect\"})]),_c('v-btn',{attrs:{\"title\":\"Ромб\"},on:{\"click\":function($event){return _vm.setObjectType('romb')}}},[_c('a',{staticClass:\"sbtn sbtn-romb\"})])],1),_c('v-btn-toggle',{staticClass:\"marg-class\",attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',{attrs:{\"title\":\"Удалить\"},on:{\"click\":_vm.del}},[_c('a',{staticClass:\"sbtn sbtn-delete\"})])],1),(_vm.object.subtype == 'romb')?_c('v-btn-toggle',{attrs:{\"mandatory\":\"\",\"color\":\"primary\"}},[_c('v-btn',[_c('font-awesome-icon',{staticClass:\"font-icon\",attrs:{\"icon\":\"code\",\"title\":\"Сменить направление Да/Нет\"},on:{\"click\":_vm.changeYesNo}})],1)],1):_vm._e()],1)]),_c('div',{staticClass:\"col-lg-3 col-md-3 col-sm-3\",staticStyle:{\"border\":\"1px solid lightgrey\"}},[_c('v-text-field',{attrs:{\"outlined\":\"\",\"label\":\"Название\"},model:{value:(_vm.schemaname),callback:function ($$v) {_vm.schemaname=$$v},expression:\"schemaname\"}}),_c('v-select',{attrs:{\"outlined\":\"\",\"placeholder\":\"Часто используемые фразы\",\"items\":_vm.getPredefinedTexts()},on:{\"change\":_vm.predefinedTextChange},model:{value:(_vm.sel),callback:function ($$v) {_vm.sel=$$v},expression:\"sel\"}}),_c('v-textarea',{staticClass:\"rel-class\",attrs:{\"outlined\":\"\"},on:{\"input\":_vm.objTextChange},model:{value:(_vm.object.text),callback:function ($$v) {_vm.$set(_vm.object, \"text\", $$v)},expression:\"object.text\"}}),_c('v-container',{staticStyle:{\"position\":\"relative\",\"bottom\":\"42px\"},attrs:{\"fluid\":\"\"}},[_c('p',[_vm._v(\"Размер блока\")]),_c('v-radio-group',{attrs:{\"row\":\"\"},on:{\"change\":function($event){return _vm.blockSize(_vm.object.bs)}},model:{value:(_vm.object.bs),callback:function ($$v) {_vm.$set(_vm.object, \"bs\", $$v)},expression:\"object.bs\"}},[_c('v-radio',{attrs:{\"label\":\"Мин.\",\"value\":\"bsSmall\"}}),_c('v-radio',{attrs:{\"label\":\"Средний\",\"value\":\"bsMedium\"}}),_c('v-radio',{attrs:{\"label\":\"Макс.\",\"value\":\"bsLarge\"}})],1)],1),_c('v-text-field',{staticClass:\"rel-class\",attrs:{\"outlined\":\"\",\"label\":\"Ссылка\"},model:{value:(_vm.object.url1),callback:function ($$v) {_vm.$set(_vm.object, \"url1\", $$v)},expression:\"object.url1\"}}),_c('v-text-field',{staticClass:\"rel-class\",attrs:{\"outlined\":\"\",\"label\":\"Критерии качества\"},on:{\"input\":function($event){return _vm.changeKKandP(1, _vm.object.url2)}},model:{value:(_vm.object.url2),callback:function ($$v) {_vm.$set(_vm.object, \"url2\", $$v)},expression:\"object.url2\"}}),_c('v-textarea',{staticClass:\"rel-class\",attrs:{\"outlined\":\"\",\"label\":\"Подсказка\"},on:{\"input\":function($event){return _vm.changeKKandP(2, _vm.object.url3)}},model:{value:(_vm.object.url3),callback:function ($$v) {_vm.$set(_vm.object, \"url3\", $$v)},expression:\"object.url3\"}})],1),_c('div',{staticClass:\"col-lg-9 col-md-12 col-sm-9\",staticStyle:{\"border\":\"1px solid lightgrey\"}},[_c('div',{staticStyle:{\"position\":\"absolute\",\"display\":\"none\"},attrs:{\"id\":\"tooltip\"}}),_c('div',{staticClass:\"scheme-canvas\",attrs:{\"id\":\"svgdiv2\"}},[_c('svg',{staticClass:\"svgdiag\",attrs:{\"id\":\"diagramSvg2\",\"xmlns\":\"http://www.w3.org/2000/svg\",\"version\":\"1.1\",\"width\":\"1205\",\"height\":\"1205\",\"viewBox\":\"0 0 1205 1205\"}})])])]),_c('v-snackbar',{attrs:{\"top\":\"top\",\"right\":\"right\",\"timeout\":13000},model:{value:(_vm.snackbar),callback:function ($$v) {_vm.snackbar=$$v},expression:\"snackbar\"}},[_c('div',[_c('span',{staticClass:\"md-toast-text\"},[_vm._v(_vm._s(_vm.text_snackbar))])])])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import Snap from \"imports-loader?this=>window,fix=>module.exports=0!snapsvg/dist/snap.svg.js\";\r\nimport $ from \"jquery\";\r\n\r\nvar recth = 80,\r\n rectw = 160,\r\n dx = 20;\r\n\r\nvar direct = {\r\n free: 0,\r\n left: 1,\r\n up: 2,\r\n right: 3,\r\n down: 4\r\n}\r\n\r\nvar viewonly = false;\r\n\r\nvar blockSize = [\r\n \"bsSmall\",\r\n \"bsMedium\",\r\n \"bsLarge\"\r\n];\r\n\r\nvar blockSizeDefaults = [{\r\n h: 80,\r\n w: 160,\r\n },\r\n {\r\n h: 120,\r\n w: 240,\r\n },\r\n {\r\n h: 160,\r\n w: 320,\r\n }\r\n];\r\n\r\nfunction cbSetObject(obj) {\r\n if (window.appscope)\r\n window.appscope.object = obj\r\n if (obj) {\r\n $('#objform').css('visibility', 'visible')\r\n $(\"#text\").focus()\r\n $(\"#text\").val(obj.text)\r\n $(\"#text\").select()\r\n } else {\r\n $('#objform').css('visibility', 'hidden')\r\n }\r\n}\r\n\r\nfunction createView(s, div) {\r\n var v = {}\r\n // Create an SVGPoint for future math\r\n var pt = s.node.createSVGPoint();\r\n // Get point in global SVG space\r\n v.cursorPoint = function(evt) {\r\n pt.x = evt.clientX;\r\n pt.y = evt.clientY;\r\n return pt.matrixTransform(s.node.getScreenCTM().inverse());\r\n }\r\n\r\n v.zoom = function(proc) {\r\n if (typeof proc === 'string' && proc == 'win') {\r\n s.attr({ width: '100%', height: '100%' })\r\n div.className = 'svgdiv100';\r\n } else {\r\n var box = s.node.viewBox.baseVal;\r\n s.attr({ width: box.width * proc / 100, height: box.height * proc / 100 })\r\n div.className = 'svgdiv';\r\n }\r\n }\r\n return v;\r\n}\r\n\r\nfunction createSchema(s) {\r\n var schema = {\r\n hash: {},\r\n incid: 1,\r\n addobj: function(obj) {\r\n obj.id = this.incid++;\r\n this.hash[obj.id] = obj;\r\n },\r\n remove: function(obj) {\r\n var i = this.hash[obj.id];\r\n delete this.hash[obj.id];\r\n },\r\n findObj: function(x, y) {\r\n var obj = this.findExact(x, y)\r\n if (!obj)\r\n return\r\n if (obj.parent)\r\n obj = obj.parent;\r\n return obj.type == 'R' ? obj : undefined;\r\n },\r\n findExact: function(x, y) {\r\n var el = Snap.getElementByPoint(x, y);\r\n if (!el || !el.node.attributes.objid)\r\n return;\r\n return this.hash[el.node.attributes.objid.nodeValue];\r\n },\r\n rect2loc: function(id, dir) {\r\n var r = schema.hash[id];\r\n switch (dir) {\r\n case direct.up:\r\n return { x: r.x, y: r.y - r.h / 2, direct: dir, height: r.h, width: r.w };\r\n case direct.right:\r\n return { x: r.x + r.w / 2, y: r.y, direct: dir, height: r.h, width: r.w };\r\n case direct.down:\r\n return { x: r.x, y: r.y + r.h / 2, direct: dir, height: r.h, width: r.w };\r\n case direct.left:\r\n return { x: r.x - r.w / 2, y: r.y, direct: dir, height: r.h, width: r.w };\r\n }\r\n },\r\n getMarker: function(id, dir) {\r\n var obj = this.hash[id];\r\n if (dir == direct.left)\r\n var i = 0;\r\n else if (dir == direct.right)\r\n var i = 1;\r\n else if (dir == direct.up)\r\n var i = 3;\r\n else if (dir == direct.down)\r\n var i = 3;\r\n return obj.m[i]\r\n },\r\n\r\n\r\n save: function() {\r\n var a = this.hash;\r\n var to = { rects: [], lines: [] }\r\n for (var i in a) {\r\n if (!a[i])\r\n continue;\r\n if (a[i].type == 'R' || a[i].type == 'L')\r\n a[i].save(to)\r\n }\r\n return to;\r\n },\r\n\r\n createRect: createRect,\r\n //createRomb: createRomb,\r\n moveObj: moveObj\r\n }\r\n\r\n\r\n function createText(text, id, r) {\r\n var width = r.w - dx;\r\n\r\n var rows = text.split(\"\\n\");\r\n var t = s.text(0, 0, '').attr({ class: 'txt' });\r\n //t.node.getBBox();\r\n //t.node.textContent;\r\n //debugger;\r\n\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n\r\n if (row == '') {\r\n rows.splice(i, 1);\r\n continue;\r\n }\r\n\r\n var spans = row.split(\" \");\r\n var tmpRow = spans[0];\r\n for (var j = 1; j < spans.length; j++) {\r\n if (tmpRow != '') tmpRow += ' ';\r\n tmpRow += spans[j];\r\n\r\n t.node.textContent = tmpRow;\r\n if (t.node.getBBox().width > width) {\r\n rows[i] = \"\";\r\n for (var k = 0; k < j; k++) {\r\n if (rows[i] != '') rows[i] += ' ';\r\n rows[i] += spans[k];\r\n }\r\n rows.splice(i + 1, 0, \"\");\r\n for (var k = j; k < spans.length; k++) {\r\n if (rows[i + 1] != '') rows[i + 1] += ' ';\r\n rows[i + 1] += spans[k];\r\n }\r\n break;\r\n }\r\n }\r\n }\r\n\r\n t.remove();\r\n if (r.g)\r\n t = r.g.text(0, 0, rows).attr({ class: 'txt', objid: id })\r\n else\r\n t = s.text(0, 0, rows).attr({ class: 'txt', objid: id })\r\n var spans = t.selectAll(\"tspan\");\r\n var cnt = spans.length;\r\n if (spans[0]) spans[0].attr({ x: 0, dy: (-cnt / 2 + 0.8).toString() + 'em', objid: id })\r\n for (var i = 1; i < spans.length; i++)\r\n spans[i].attr({ x: 0, dy: '1em', objid: id })\r\n return t;\r\n }\r\n\r\n function fitTextToRect(textNode, rect) {\r\n var height = rect.h - dx;\r\n var width = rect.w - dx;\r\n\r\n if (rect.subtype != 'rect') {\r\n height = rect.h * 0.7;\r\n width = rect.w * 0.7;\r\n }\r\n\r\n textNode.attr({ transform: \"matrix(1, 0, 0, 1, 0,0)\" });\r\n var bb = textNode.getBBox();\r\n var widthTransform = width / bb.width;\r\n var heightTransform = height / bb.height;\r\n var value = Math.min(widthTransform, heightTransform);\r\n if (value < 1)\r\n textNode.attr({ transform: \"matrix(\" + value + \", 0, 0, \" + value + \", 0,0)\" });\r\n }\r\n\r\n function setRectBlockSize(rect) {\r\n rect.bs = blockSize[blockSize.length - 1];\r\n for (let i = 0; i < blockSize.length; i++) {\r\n if ((blockSizeDefaults[i].h >= rect.h) || (blockSizeDefaults[i].w >= rect.w)) {\r\n rect.bs = blockSize[i];\r\n break;\r\n }\r\n }\r\n }\r\n\r\n function createMarker(x, y, direct, parent) {\r\n var o = { x: parent.x + x, y: parent.y + y, type: 'M', parent: parent, direct: direct };\r\n schema.addobj(o);\r\n o.el = s.circle(x, y, 7).attr({ class: \"marker\", objid: o.id, type: 'M' })\r\n return o;\r\n }\r\n\r\n function createHint(x, y, direct, parent) {\r\n var o = { x: parent.x + x, y: parent.y + y, type: 'H', parent: parent, direct: direct };\r\n schema.addobj(o);\r\n\r\n //вычисляем расположение подсказки от размера блока\r\n let xx = x == 160 ? -67 : (x == 240 ? -105 : (x == 320 ? -145 : x)),\r\n yy = y == 80 ? -45 : (y == 120 ? -65 : (y == 160 ? -85 : y));\r\n\r\n var p = s.path(\"M 196.963 300.274L 246.494 300.172L 246.494 261.69C 246.494 251.252 251.36 241.39 264.38 232.849C 277.399 224.312 313.744 206.988 313.744 161.44C 313.744 115.89 275.577 84.582 243.494 77.94C 211.416 71.298 176.659 75.668 151.994 102.69C 129.907 126.887 125.253 146.027 125.253 188.255L 174.744 188.255L 174.744 178.44C 174.744 155.939 177.347 132.186 209.494 125.69C 227.04 122.144 243.488 127.648 253.244 137.19C 264.404 148.102 264.494 172.69 246.711 184.933L 218.815 203.912C 202.543 214.35 196.963 225.971 196.963 243.051L 196.963 300.274z\").attr({\r\n transform: `matrix(0.05,0,0,0.05,${xx-16},${yy-18})`,\r\n stroke: 'black',\r\n objid: o.id,\r\n style: 'cursor:pointer;'\r\n }),\r\n c = s.circle(xx, yy, 16).attr({ fill: 'white', objid: o.id, type: 'H', style: 'cursor:pointer;opacity:0' }),\r\n b = s.path(\"M 196.638 370.692L 196.638 319.687L 246.85 319.687L 246.85 370.692L 196.638 370.692z\").attr({\r\n transform: `matrix(0.05,0,0,0.05,${xx-16},${yy-18})`,\r\n stroke: 'black',\r\n objid: o.id,\r\n style: 'cursor:pointer;'\r\n });\r\n o.el = s.group().append(c).append(b).append(p)\r\n .click(event => {\r\n let tooltip = document.getElementById(\"tooltip\");\r\n tooltip.innerHTML = parent.url3;\r\n tooltip.style.display = \"block\";\r\n tooltip.style.left = event.pageX + 30 + 'px';\r\n tooltip.style.top = event.pageY + -30 + 'px';\r\n })\r\n\r\n o.el.node.onmouseout = _ => {\r\n let tooltip = document.getElementById(\"tooltip\");\r\n tooltip.style.display = \"none\";\r\n }\r\n\r\n return o;\r\n }\r\n\r\n function createKK(x, y, direct, parent) {\r\n var o = { x: parent.x + x, y: parent.y + y, type: 'KK', parent: parent, direct: direct };\r\n schema.addobj(o);\r\n\r\n //вычисляем расположение критерия качества от размера блока\r\n let xx = x == 160 ? 65 : (x == 240 ? 105 : (x == 320 ? 140 : x)),\r\n yy = y == 80 ? -55 : (y == 120 ? -75 : (y == 160 ? -95 : y));\r\n\r\n var p = s.path(\"M10.2,-2.64a27.49,27.49,0,0,1-1.22,6.21,28.32,28.32,0,0,1-2.66,5.8,27.41,27.41,0,0,1-6.31.74,27,27,0,0,1-6.32-.73h0a27.7,27.7,0,0,1-3.91-12h0a27.44,27.44,0,0,1,4.67-4.3,27.09,27.09,0,0,1,5.55-3.11h0a27.68,27.68,0,0,1,5.53,3.1,27.21,27.21,0,0,1,4.68,4.32h0Zm-4.37,11.34a26.35,26.35,0,0,0,3.59-11.08h0a26.39,26.39,0,0,0-4.35-4,27,27,0,0,0-5.08-2.9,26.28,26.28,0,0,0-5.1,2.91,26.8,26.8,0,0,0-4.32,3.93h0a26.65,26.65,0,0,0,1.19,5.77,26.23,26.23,0,0,0,2.4,5.32h0a26.58,26.58,0,0,0,11.67,0h0Zm-5.83-4,5.79,3.94-5.79-7.1-5.79,7.1,5.79-3.94h0Zm0-3.17L8.2,-2.03a38.51,38.51,0,0,1-16.31,0l8.16,3.54h0Z\").attr({\r\n transform: `matrix(1,0,0,1,${xx},${yy})`,\r\n objid: o.id,\r\n style: 'cursor:pointer;'\r\n }),\r\n c = s.circle(xx, yy, 16).attr({ fill: 'white', objid: o.id, type: 'H', style: 'cursor:pointer;opacity:0' });\r\n o.el = s.group().append(c).append(p)\r\n .click(event => {\r\n let tooltip = document.getElementById(\"tooltip\");\r\n tooltip.innerHTML = parent.url2;\r\n tooltip.style.display = \"block\";\r\n tooltip.style.left = event.pageX + 30 + 'px';\r\n tooltip.style.top = event.pageY + -30 + 'px';\r\n })\r\n\r\n o.el.node.onmouseout = _ => {\r\n let tooltip = document.getElementById(\"tooltip\");\r\n tooltip.style.display = \"none\";\r\n }\r\n\r\n return o;\r\n }\r\n\r\n function changeYesNo(r) {\r\n r.yesno = !r.yesno;\r\n if (r.yesno) {\r\n r.e.node.textContent = \"Да\"\r\n r.n.node.textContent = \"Нет\"\r\n } else {\r\n r.n.node.textContent = \"Да\"\r\n r.e.node.textContent = \"Нет\"\r\n }\r\n }\r\n\r\n function setYesNo(r) {\r\n if (r.yesno == undefined)\r\n r.yesno = true;\r\n if (r.yesno) {\r\n r.e = s.text(-r.w / 2 - 10, -10, \"Да\")\r\n r.n = s.text(r.w / 2 + 10, -10, \"Нет\")\r\n } else {\r\n r.e = s.text(-r.w / 2 - 10, -10, \"Нет\")\r\n r.n = s.text(r.w / 2 + 10, -10, \"Да\")\r\n }\r\n }\r\n\r\n function createRect(obj) {\r\n obj.x = Math.round(obj.x / 20) * 20;\r\n obj.y = Math.round(obj.y / 20) * 20;\r\n\r\n if (!obj.rectw) obj.rectw = obj.subtype == 'rect' ? rectw : rectw;\r\n if (!obj.recth) obj.recth = obj.subtype == 'rect' ? recth : recth;\r\n\r\n if (!obj.text)\r\n if (obj.subtype == 'rect') obj.text = 'Диспансеризация,\\nуход\\nи реабилитация'\r\n else obj.text = 'Диагноз\\nподтвержден?'\r\n\r\n var r = {\r\n type: 'R',\r\n subtype: obj.subtype,\r\n x: obj.x,\r\n y: obj.y,\r\n w: obj.rectw,\r\n h: obj.recth,\r\n class: 'rect',\r\n text: obj.text,\r\n url1: obj.url1,\r\n url2: obj.url2,\r\n url3: obj.url3,\r\n\r\n setElem: function() {\r\n var r = this;\r\n if (obj.subtype == 'rect')\r\n r.r = s.rect(-r.w / 2, -r.h / 2, r.w, r.h).attr({ class: r.class, objid: r.id })\r\n else {\r\n r.r = s.polygon(-r.w / 2, 0, 0, -r.h / 2, r.w / 2, 0, 0, r.h / 2).attr({ class: r.class, objid: r.id })\r\n r.yesno = obj.yesno\r\n setYesNo(r)\r\n }\r\n\r\n r.t = createText(r.text, r.id, r)\r\n r.m = r.createMarkers(r);\r\n r.sizeMarkers = r.createSizeMarkers(r);\r\n\r\n let kk_elem = this.url2 !== undefined && this.url2 !== '' ? (r.m.find(f => f.type == 'KK') ? r.m.find(f => f.type == 'KK').el : r.m[0].el) : r.m[0].el\r\n let hint_elem = this.url3 !== undefined && this.url3 !== '' ? (r.m.find(f => f.type == 'H') ? r.m.find(f => f.type == 'H').el : r.m[1].el) : r.m[1].el\r\n\r\n if (obj.subtype == 'rect')\r\n r.g = s.g(r.r, r.t, r.m[0].el, r.m[1].el, r.m[2].el, r.m[3].el, kk_elem, hint_elem,\r\n r.sizeMarkers[0].el, r.sizeMarkers[1].el, r.sizeMarkers[2].el, r.sizeMarkers[3].el).attr({\r\n transform: 'translate(' + r.x + ',' + r.y + ')'\r\n })\r\n else {\r\n r.g = s.g(r.r, r.t, r.m[0].el, r.m[1].el, r.m[2].el, r.m[3].el, kk_elem, hint_elem, r.e, r.n,\r\n r.sizeMarkers[0].el, r.sizeMarkers[1].el, r.sizeMarkers[2].el, r.sizeMarkers[3].el).attr({\r\n transform: 'translate(' + r.x + ',' + r.y + ')'\r\n })\r\n }\r\n\r\n },\r\n remove: function() {\r\n this.g.remove();\r\n if (this.url2g)\r\n this.url2g.remove()\r\n if (this.url3g)\r\n this.url3g.remove()\r\n schema.remove(this)\r\n },\r\n setText: function(text) {\r\n this.g.remove();\r\n this.text = text;\r\n this.setElem();\r\n },\r\n setTextUrl2: function(text) {\r\n this.g.remove();\r\n this.url2 = text;\r\n this.setElem();\r\n },\r\n setTextUrl3: function(text) {\r\n this.g.remove();\r\n this.url3 = text;\r\n this.setElem();\r\n },\r\n setBlockSize: function(bs) {\r\n var i = blockSize.indexOf(bs);\r\n this.w = blockSizeDefaults[i].w;\r\n this.h = blockSizeDefaults[i].h;\r\n\r\n this.shake();\r\n },\r\n fitRectToText: function() {\r\n var rect = this;\r\n var textNode = rect.t;\r\n\r\n var height = rect.h - dx;\r\n var width = rect.w - dx;\r\n\r\n if (rect.subtype != 'rect') {\r\n height = rect.h * 0.7;\r\n width = rect.w * 0.7;\r\n }\r\n\r\n textNode.attr({ transform: \"matrix(1, 0, 0, 1, 0,0)\" });\r\n var bb = textNode.getBBox();\r\n var widthTransform = width / bb.width;\r\n var heightTransform = height / bb.height;\r\n var value = Math.min(widthTransform, heightTransform);\r\n if (value < 1) {\r\n var i = blockSize.indexOf(rect.bs);\r\n if (i < blockSize.length) {\r\n window.appscope.e.setBlockSize(blockSize[i + 1]);\r\n rect.fitRectToText();\r\n return;\r\n }\r\n }\r\n fitTextToRect(textNode, rect);\r\n },\r\n shake: function() {\r\n var r = this;\r\n if (r.subtype == 'rect') {\r\n r.r.attr({ x: -r.w / 2 + 3, y: -r.h / 2 + 3, width: r.w - 6, height: r.h - 6 });\r\n r.r.animate({ x: -r.w / 2, y: -r.h / 2, width: r.w, height: r.h }, 1000, mina.elastic);\r\n } else {\r\n r.r.attr({ points: [r.w / 2, 0, 0, -r.h / 2, -r.w / 2, 0, 0, r.h / 2] });\r\n r.e.attr({ x: -r.w / 2 - 10 });\r\n r.n.attr({ x: r.w / 2 + 10 });\r\n }\r\n r.t.remove();\r\n r.t = createText(r.text, r.id, r);\r\n setRectBlockSize(r);\r\n fitTextToRect(r.t, r);\r\n },\r\n highlight: function(h) {\r\n this.class = h ? \"rect-act\" : \"rect\"\r\n this.r.attr(\"class\", this.class);\r\n },\r\n createMarkers: function() {\r\n var r = this;\r\n var a = [];\r\n a.push(createMarker(-r.w / 2, 0, direct.left, r));\r\n a.push(createMarker(r.w / 2, 0, direct.right, r));\r\n a.push(createMarker(0, -r.h / 2, direct.up, r));\r\n a.push(createMarker(0, r.h / 2, direct.down, r));\r\n\r\n //Если есть (подсказка/критерий качества) отрисовываем элемент добавляя иконку (подсказки/критерия качества)\r\n if (this.url2 !== undefined && this.url2 !== '') a.push(createKK(r.w, r.h, direct.down, r));\r\n if (this.url3 !== undefined && this.url3 !== '') a.push(createHint(r.w, r.h, direct.down, r));\r\n\r\n return a;\r\n },\r\n createSizeMarkers: function() {\r\n var r = this;\r\n var a = [];\r\n\r\n a.push(createMarker(-r.w / 2, r.h / 2, direct.left, r));\r\n a.push(createMarker(r.w / 2, -r.h / 2, direct.right, r));\r\n a.push(createMarker(-r.w / 2, -r.h / 2, direct.up, r));\r\n a.push(createMarker(r.w / 2, r.h / 2, direct.down, r));\r\n\r\n return a;\r\n },\r\n highlightMarkers: function(h) {\r\n var mclass = h ? \"marker-act\" : \"marker\"\r\n for (var i in this.m)\r\n this.m[i].attr({ class: mclass });\r\n for (var i in this.sizeMarkers)\r\n this.sizeMarkers[i].attr({ class: mclass });\r\n },\r\n setAnchors: function(hash) {\r\n if (viewonly) {\r\n if (r.url1 && (!hash || hash[r.url1])) {\r\n r.t.attr({ class: 'txturl' });\r\n r.g.attr({ class: \"ptr\" })\r\n r.g.node.onclick = function() {\r\n cbUrl1Click(r.url1);\r\n };\r\n }\r\n if (r.subtype == 'rect') {\r\n var x = r.x + r.w / 2 - 5;\r\n var y = r.y - r.h / 2 + 5\r\n } else {\r\n var x = r.x + 20;\r\n var y = r.y - r.h / 2 + 5\r\n }\r\n if (r.url3 && (!hash || hash[r.url3])) {\r\n var c = s.circle(x, y, 14).attr({ class: \"cls-11\" })\r\n // var p = s.path(\"m305.85 246.3h-31.922c-0.2229-0.74117-1.25352-3.44135-3.09194-8.1006-1.83846-4.65908-2.75768-8.73586-2.75764-12.2303-0.00004-6.67098 0.97488-13.0773 2.92479-19.219 1.94979-6.14154 4.81887-11.8861 8.60724-17.2336 3.78825-5.3473 11.2813-13.8979 22.4791-25.6519 11.1977-11.7536 16.7966-21.4426 16.7967-29.0668-0.00013-14.8244-10.1951-22.2367-30.585-22.2369-9.91651 0.00021-20.2786 4.71232-31.0864 14.1363l-17.2145-30.6552c14.3732-10.6947 33.259-16.0421 56.6574-16.0424 18.05 0.00024 33.1197 4.76529 45.2089 14.2952 12.089 9.53032 18.1336 22.1842 18.1337 37.9616-0.00015 10.801-2.20069 19.934-6.60166 27.3991-4.40126 7.4654-12.145 16.2278-23.2312 26.2872-11.0864 10.0597-18.3009 18.425-21.6434 25.096-3.34269 6.67117-5.014 13.9776-5.01392 21.9192-0.00008 1.69432 0.77987 6.14173 2.33983 13.3422zm-14.2061 21.6016c7.57651 0.00005 14.0111 2.54141 19.3036 7.62409 5.2924 5.08276 7.93862 11.2244 7.93875 18.4249-0.00013 7.20056-2.64635 13.3422-7.93875 18.4249-5.29253 5.08273-11.7271 7.62409-19.3036 7.62409-7.57669 0-14.0391-2.54136-19.3872-7.62409-5.34826-5.08273-8.02232-11.2243-8.02228-18.4249-0.00004-7.20047 2.67402-13.3421 8.02228-18.4249 5.34812-5.08268 11.8105-7.62404 19.3872-7.62409z\")\r\n // .attr({ class: \"cls-12\" }).transform(Snap.matrix().translate(x - 300 * 0.08, y - 200 * 0.08).scale(0.08))\r\n var t = s.text(x, y + 6, \"i\").attr({ class: \"cls-14\" })\r\n var g = s.g(c, t)\r\n g.node.onclick = function() {\r\n cbUrl2Click(r.url3);\r\n };\r\n g.attr({ class: \"ptr\" })\r\n r.url3g = g;\r\n } else {\r\n x += 30\r\n }\r\n\r\n if (r.subtype == 'rect') {\r\n var x = r.x - r.w / 2 + 5;\r\n } else {\r\n var x = r.x - 20;\r\n }\r\n //x = x - 30;\r\n if (r.url2 && (!hash || hash[r.url2])) {\r\n var c = s.circle(x, y, 14).attr({ class: \"cls-11\" })\r\n var p = s.path(\"M10.2,-2.64a27.49,27.49,0,0,1-1.22,6.21,28.32,28.32,0,0,1-2.66,5.8,27.41,27.41,0,0,1-6.31.74,27,27,0,0,1-6.32-.73h0a27.7,27.7,0,0,1-3.91-12h0a27.44,27.44,0,0,1,4.67-4.3,27.09,27.09,0,0,1,5.55-3.11h0a27.68,27.68,0,0,1,5.53,3.1,27.21,27.21,0,0,1,4.68,4.32h0Zm-4.37,11.34a26.35,26.35,0,0,0,3.59-11.08h0a26.39,26.39,0,0,0-4.35-4,27,27,0,0,0-5.08-2.9,26.28,26.28,0,0,0-5.1,2.91,26.8,26.8,0,0,0-4.32,3.93h0a26.65,26.65,0,0,0,1.19,5.77,26.23,26.23,0,0,0,2.4,5.32h0a26.58,26.58,0,0,0,11.67,0h0Zm-5.83-4,5.79,3.94-5.79-7.1-5.79,7.1,5.79-3.94h0Zm0-3.17L8.2,-2.03a38.51,38.51,0,0,1-16.31,0l8.16,3.54h0Z\")\r\n .attr({ class: \"cls-12\", transform: 'translate(' + x + ',' + (y - 1) + ')' })\r\n var g = s.g(c, p)\r\n var g = s.g(c)\r\n g.node.onclick = function() {\r\n cbUrl3Click(r.url2);\r\n };\r\n g.attr({ class: \"ptr\" })\r\n r.url2g = g;\r\n }\r\n\r\n }\r\n },\r\n highlightMarker: function(h, direct) {\r\n var m = this.m[direct - 1]\r\n m.el.attr({ class: (h ? \"marker-act\" : \"marker\") })\r\n },\r\n highlightMarkerByEl: function(h, el) {\r\n if (el && el.attr('type') == 'M') {\r\n var mclass = h ? \"marker-act\" : \"marker\"\r\n el.attr({ class: mclass })\r\n }\r\n },\r\n save: function(to) {\r\n to.rects.push({ id: this.id, x: this.x, y: this.y, rectw: r.w, recth: r.h, text: this.text, url1: this.url1, url2: this.url2, url3: this.url3, subtype: this.subtype, yesno: this.yesno })\r\n },\r\n changeYesNo: function() {\r\n changeYesNo(this)\r\n }\r\n\r\n }\r\n schema.addobj(r);\r\n r.setElem();\r\n fitTextToRect(r.t, r);\r\n setRectBlockSize(r);\r\n\r\n // console.log('r',r)\r\n return r;\r\n }\r\n\r\n\r\n function moveObj(obj, x, y) {\r\n // console.log(obj, x, y)\r\n var nx = x == obj.x ? x : (x > obj.x ? x - 10 : x + 10);\r\n var ny = y == obj.y ? y : (y > obj.y ? y - 10 : y + 10);\r\n obj.g.attr({ transform: 'translate(' + nx + ' ' + ny + ')' })\r\n obj.x = x;\r\n obj.y = y;\r\n var m = obj.m\r\n\r\n if (obj.type == 'R') {\r\n m[0].el.attr({ cx: -obj.w / 2, cy: 0 });\r\n m[0].x = obj.x - obj.w / 2;\r\n m[0].y = obj.y;\r\n\r\n m[1].el.attr({ cx: obj.w / 2, cy: 0 });\r\n m[1].x = obj.x + obj.w / 2;\r\n m[1].y = obj.y;\r\n\r\n m[2].el.attr({ cx: 0, cy: -obj.h / 2 });\r\n m[2].x = obj.x;\r\n m[2].y = obj.y - obj.h / 2;\r\n\r\n m[3].el.attr({ cx: 0, cy: obj.h / 2 });\r\n m[3].x = obj.x;\r\n m[3].y = obj.y + obj.h / 2;\r\n\r\n obj.sizeMarkers[0].el.attr({ cx: -obj.w / 2, cy: obj.h / 2 });\r\n obj.sizeMarkers[0].x = obj.x - obj.w / 2;\r\n obj.sizeMarkers[0].y = obj.y + obj.h / 2;\r\n\r\n obj.sizeMarkers[1].el.attr({ cx: obj.w / 2, cy: -obj.h / 2 });\r\n obj.sizeMarkers[1].x = obj.x + obj.w / 2;\r\n obj.sizeMarkers[1].y = obj.y - obj.h / 2;\r\n\r\n obj.sizeMarkers[2].el.attr({ cx: -obj.w / 2, cy: -obj.h / 2 });\r\n obj.sizeMarkers[2].x = obj.x - obj.w / 2;\r\n obj.sizeMarkers[2].y = obj.y - obj.h / 2;\r\n\r\n obj.sizeMarkers[3].el.attr({ cx: obj.w / 2, cy: obj.h / 2 });\r\n obj.sizeMarkers[3].x = obj.x + obj.w / 2;\r\n obj.sizeMarkers[3].y = obj.y + obj.h / 2;\r\n\r\n\r\n }\r\n obj.g.animate({\r\n transform: 'translate(' + x + ' ' + y + ')'\r\n }, 300, mina.elastic)\r\n }\r\n\r\n return schema;\r\n}\r\n\r\nexport { createSchema, createView, direct, recth, rectw, dx, blockSize, blockSizeDefaults, viewonly, cbSetObject }","import {direct, recth, rectw, viewonly, dx} from './flowchart'\r\nfunction LineDrawer(s, schema) {\r\n //константы\r\n function makepath(a) {\r\n //var a = l.a;\r\n var p = \"M \" + a[0].x + ' ' + a[0].y + ' ';\r\n for (var i = 1; i < a.length - 1; i++) {\r\n if (a[i].v) {\r\n var dy = (a[i].y < a[i - 1].y) ? -8 : 8;\r\n var dx = (a[i].x < a[i + 1].x) ? 8 : -8;\r\n p = p + ' V ' + (a[i].y - dy) + ' c 0 ' + dy + ' 0 ' + dy + ' ' + dx + ' ' + dy\r\n }\r\n if (a[i].h) {\r\n var dy = (a[i].y < a[i + 1].y) ? 8 : -8;\r\n var dx = (a[i].x < a[i - 1].x) ? -8 : 8;\r\n p = p + ' H ' + (a[i].x - dx) + ' c ' + dx + ' 0 ' + dx + ' 0 ' + dx + ' ' + dy\r\n }\r\n }\r\n var i = a.length - 1;\r\n if (a[i].v) {\r\n var dy = (a[i].y > a[i - 1].y) ? 5 : -5;\r\n p = p + ' V ' + (a[i].y - dy)\r\n }\r\n if (a[i].h) {\r\n var dx = (a[i].x > a[i - 1].x) ? 5 : -5;\r\n p = p + ' H ' + (a[i].x - dx)\r\n }\r\n return p;\r\n }\r\n \r\n var l = {\r\n a: [],\r\n loc1direct: direct.lefat,\r\n oldrecth: recth,\r\n oldrectw: rectw,\r\n inlines: {},\r\n outlines: {},\r\n s: function (loc) {\r\n l.a = [{ x: loc.x, y: loc.y, m: true }]\r\n return l;\r\n },\r\n h: function (x) {\r\n var last = l.a[l.a.length - 1];\r\n if (last.h)\r\n last.x = x;\r\n else if (last.x != x)\r\n l.a.push({ x: x, y: last.y, h: true })\r\n return l;\r\n },\r\n v: function (y) {\r\n var last = l.a[l.a.length - 1];\r\n if (last.v)\r\n last.y = y;\r\n else if (last.y != y)\r\n l.a.push({ x: last.x, y: y, v: true })\r\n return l;\r\n },\r\n connectObj: function (id1, dir1, id2, dir2, savedline) {\r\n this.removeLine(id1, id2);\r\n var loc1 = schema.rect2loc(id1, dir1)\r\n var loc2 = schema.rect2loc(id2, dir2)\r\n var line = {\r\n type: 'L',\r\n id1: id1, dir1: dir1,\r\n id2: id2, dir2: dir2,\r\n setElem: function (show) {\r\n this.path = s.path().attr({ class: 'path1' })\r\n this.point = s.circle(-10, -10, 5).attr({ class: 'circle', type: 'M', direct: dir1, objid: id1 })\r\n if (!viewonly)\r\n this.path2 = s.path().attr({ class: 'path2', objid: this.id })\r\n },\r\n setMarkers: function (show) {\r\n var a = this.a\r\n if (show) {\r\n if (a.length > 1) {\r\n var p = this.points = []\r\n for (var i = 2; i < a.length - 1; i++)\r\n p.push(createMarker((a[i].x + a[i - 1].x) / 2, (a[i].y + a[i - 1].y) / 2, this, i))\r\n //this.point2 = createMarker(a[1].x, a[1].y, this)\r\n }\r\n } else {\r\n if (this.points) {\r\n for (var i in this.points)\r\n this.points[i].el.remove()\r\n delete this.points;\r\n }\r\n }\r\n function createMarker(x, y, parent, num) {\r\n var o = {\r\n x: x, y: y, type: 'ML', parent: parent, h: parent.a[num].h, num: num,\r\n move: function (x, y) {\r\n if (this.h)\r\n x = o.x;\r\n else\r\n y = o.y;\r\n o.x = x;\r\n o.y = y;\r\n this.el.attr({ cx: x, cy: y })\r\n parent.movePart(this)\r\n }\r\n };\r\n schema.addobj(o);\r\n o.el = s.circle(x, y, 7).attr({ class: 'circle', objid: o.id, type: 'ML' })\r\n return o;\r\n }\r\n },\r\n movePart: function (marker) {\r\n var i = marker.num;\r\n var a = this.a;\r\n if (marker.h) {\r\n a[i].y = a[i - 1].y = marker.y\r\n } else {\r\n a[i].x = a[i - 1].x = marker.x\r\n }\r\n var d = makepath(this.a);\r\n this.path.attr({ d: d })\r\n if (this.path2)\r\n this.path2.attr({ d: d })\r\n },\r\n highlight: function (h) {\r\n if (h) {\r\n this.path2.attr({ opacity: 0.05 })\r\n } else {\r\n this.path2.attr({ opacity: 0 })\r\n }\r\n },\r\n highlightOnClick: function (h) {\r\n if (h) {\r\n this.path.attr({ class: \"path1hight\" })\r\n } else {\r\n this.path.attr({ class: \"path1\" })\r\n }\r\n },\r\n rotatePoint: function () {\r\n var loc1 = schema.rect2loc(this.id1, this.dir1)\r\n var loc2 = schema.rect2loc(id2, dir2)\r\n\r\n },\r\n save: function (to) {\r\n to.lines.push({\r\n id1: this.id1, dir1: this.dir1,\r\n id2: this.id2, dir2: this.dir2,\r\n a: this.a\r\n })\r\n }\r\n\r\n }\r\n schema.addobj(line);\r\n line.setElem()\r\n\r\n if (!savedline) {\r\n this.connect(loc1, loc2)\r\n line.a = this.a.slice(0);\r\n this.draw(line.path, line.point, line.path2)\r\n } else {\r\n line.a = savedline.a;\r\n var d = makepath(line.a);\r\n line.path.attr({ d: d })\r\n if (line.path2)\r\n line.path2.attr({ d: d })\r\n line.point.attr({ cx: line.a[0].x, cy: line.a[0].y })\r\n }\r\n\r\n if (!this.outlines[id1])\r\n this.outlines[id1] = {}\r\n this.outlines[id1][id2] = line;\r\n\r\n if (!this.inlines[id2])\r\n this.inlines[id2] = {}\r\n this.inlines[id2][id1] = line;\r\n return line;\r\n },\r\n\r\n removeLine: function (id1, id2) {\r\n if (this.outlines[id1] && this.outlines[id1][id2]) {\r\n var l = this.outlines[id1][id2];\r\n l.path.remove();\r\n l.path2.remove();\r\n l.point.remove();\r\n if (l.point2)\r\n l.point2.el.remove()\r\n schema.remove(l)\r\n delete this.outlines[id1][id2];\r\n }\r\n if (this.inlines[id2] && this.inlines[id2][id1]) {\r\n var l = this.inlines[id2][id1];\r\n l.path.remove();\r\n l.path2.remove();\r\n l.point.remove();\r\n if (l.point2)\r\n l.point2.el.remove()\r\n schema.remove(l)\r\n delete this.inlines[id2][id1];\r\n }\r\n },\r\n\r\n removeLines: function (id1) {\r\n var lines = this.inlines[id1]\r\n for (var i in lines) {\r\n var l = lines[i];\r\n delete this.outlines[l.id1][l.id2]\r\n l.path.remove();\r\n if (l.path2)\r\n l.path2.remove();\r\n l.point.remove();\r\n if (l.point2)\r\n l.point2.el.remove()\r\n schema.remove(l)\r\n }\r\n var lines = this.outlines[id1]\r\n for (var i in lines) {\r\n var l = lines[i];\r\n delete this.inlines[l.id2][l.id1]\r\n l.path.remove();\r\n if (l.path2)\r\n l.path2.remove();\r\n l.point.remove();\r\n if (l.point2)\r\n l.point2.el.remove()\r\n schema.remove(l)\r\n }\r\n delete this.outlines[id1]\r\n delete this.inlines[id1]\r\n },\r\n\r\n loadLine: function () {\r\n\r\n },\r\n resetLine: function (line) {\r\n var loc1 = schema.rect2loc(line.id1, line.dir1)\r\n var loc2 = schema.rect2loc(line.id2, line.dir2)\r\n this.connect(loc1, loc2)\r\n line.a = this.a.slice(0);\r\n this.draw(line.path, line.point, line.path2)\r\n },\r\n moveObj: function (id1) {\r\n var lines = this.inlines[id1]\r\n for (var i in lines)\r\n this.resetLine(lines[i]);\r\n var lines = this.outlines[id1]\r\n for (var i in lines)\r\n this.resetLine(lines[i]);\r\n },\r\n //рассматривается вариант когда loc1.left то есть выходим налево\r\n //остальные варианты симметричны (поворот и/или отображение)\r\n connect: function (loc1, loc2) {\r\n l.loc1direct = loc1.direct;\r\n l.oldrecth = recth;\r\n l.oldrectw = rectw;\r\n switch (loc1.direct) {\r\n case direct.up:\r\n rotate270(loc1, loc2);\r\n break;\r\n case direct.right:\r\n rotate180(loc1, loc2);\r\n break;\r\n case direct.down:\r\n rotate90(loc1, loc2);\r\n break;\r\n }\r\n switch (loc2.direct) {\r\n case direct.free:\r\n case direct.up: return l.connectLU(loc1, loc2);\r\n case direct.right: return l.connectLR(loc1, loc2);\r\n case direct.down: return l.connectLD(loc1, loc2);\r\n case direct.left: return l.connectLL(loc1, loc2);\r\n }\r\n },\r\n connectLU: function (loc1, loc2) {\r\n if (loc2.x <= loc1.x - dx && loc2.y > loc1.y + dx)\r\n return l.s(loc1).h(loc2.x).v(loc2.y)\r\n if (loc2.x <= loc1.x - dx && loc2.y <= loc1.y + dx) {\r\n if ((loc1.x - dx >= loc2.x + loc2.width / 2 + dx) ||\r\n (loc1.y - loc1.height / 2 - dx <= loc2.y - dx))\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y - dx).h(loc2.x).v(loc2.y)\r\n else\r\n return l.s(loc1).h(loc1.x - dx).v(loc1.y - loc1.height / 2 - dx)\r\n .h(loc2.x + loc2.width / 2 + dx).v(loc2.y - dx).h(loc2.x).v(loc2.y);\r\n }\r\n if (loc2.y > loc1.y + loc1.height / 2 + dx)\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y - dx).h(loc2.x).v(loc2.y)\r\n return l.s(loc1).h(Math.min(loc1.x - dx, loc2.x - loc2.width / 2 - dx)).v(Math.min(loc1.y - loc1.height / 2 - dx, loc2.y - dx)).h(loc2.x).v(loc2.y)\r\n },\r\n connectLR: function (loc1, loc2) {\r\n if (loc2.x <= loc1.x - dx)\r\n return l.s(loc1).h((loc1.x + loc2.x) / 2).v(loc2.y).h(loc2.x);\r\n if (loc2.y + loc2.height / 2 + dx <= loc1.y - loc1.height / 2 - dx)\r\n return l.s(loc1).h(loc1.x - dx).v(loc1.y - loc1.height / 2 - dx).h(loc2.x + dx).v(loc2.y).h(loc2.x);\r\n if (loc2.y - loc2.height / 2 - dx >= loc1.y + loc1.height / 2 + dx)\r\n return l.s(loc1).h(loc1.x - dx).v(loc1.y + loc1.height / 2 + dx).h(loc2.x + dx).v(loc2.y).h(loc2.x);\r\n if (loc2.y > loc1.y)\r\n return l.s(loc1).h(Math.min(loc1.x - dx, loc2.x - loc2.width - dx)).v(Math.max(loc1.y + loc1.height / 2 + dx, loc2.y + loc2.height / 2 + dx))\r\n .h(loc2.x + dx).v(loc2.y).h(loc2.x)\r\n else\r\n return l.s(loc1).h(loc1.x - dx).v(Math.max(loc1.y + loc1.height / 2 + dx, loc2.y + loc2.height / 2 + dx))\r\n .h(Math.max(loc2.x + dx, loc1.x + loc1.width + dx)).v(loc2.y).h(loc2.x);\r\n },\r\n connectLD: function (loc1, loc2) {\r\n if (loc2.x <= loc1.x - dx && loc2.y < loc1.y - dx)\r\n return l.s(loc1).h(loc2.x).v(loc2.y)\r\n if (loc2.x + loc2.width / 2 + dx <= loc1.x - dx && loc2.y >= loc1.y - dx)\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y + dx).h(loc2.x).v(loc2.y);\r\n if (loc2.y + dx <= loc1.y - loc1.height / 2 - dx)\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y + dx).h(loc2.x).v(loc2.y);\r\n return l.s(loc1).h(Math.min(loc1.x - dx, loc2.x - loc2.width / 2 - dx)).v(Math.max(loc1.y + loc1.height / 2 + dx, loc2.y + dx)).h(loc2.x).v(loc2.y)\r\n },\r\n connectLL: function (loc1, loc2) {\r\n if ((loc2.y <= loc1.y - loc2.height / 2 - dx) || (loc2.y >= loc1.y + loc2.height / 2 + dx))\r\n return l.s(loc1).h(Math.min(loc2.x - dx, loc1.x - dx)).v(loc2.y).h(loc2.x);\r\n if ((loc2.y <= loc1.y) && (loc2.x <= loc1.x))\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y + loc2.height / 2 + dx).h(loc2.x - dx).v(loc2.y).h(loc2.x);\r\n if ((loc2.y > loc1.y) && (loc2.x <= loc1.x))\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y - loc2.height / 2 - dx).h(loc2.x - dx).v(loc2.y).h(loc2.x);\r\n if ((loc2.y > loc1.y) && (loc2.x <= loc1.x))\r\n return l.s(loc1).h(loc1.x - dx).v(loc2.y - loc2.height / 2 - dx).h(loc2.x - dx).v(loc2.y).h(loc2.x)\r\n if (loc2.y <= loc1.y)\r\n return l.s(loc1).h(loc1.x - dx).v(loc1.y - loc1.height / 2 - dx).h(loc2.x - dx).v(loc2.y).h(loc2.x)\r\n return l.s(loc1).h(loc1.x - dx).v(loc1.y + loc1.height / 2 + dx).h(loc2.x - dx).v(loc2.y).h(loc2.x)\r\n },\r\n rotate: function () {\r\n var a = this.a\r\n switch (l.loc1direct) {\r\n case direct.left:\r\n break;\r\n case direct.up:\r\n for (var i in a)\r\n rotate90(a[0], a[i])\r\n break;\r\n case direct.right:\r\n for (var i in a)\r\n rotate180(a[0], a[i])\r\n break;\r\n case direct.down:\r\n for (var i in a)\r\n rotate270(a[0], a[i])\r\n break;\r\n }\r\n },\r\n draw: function (path, point, path2) {\r\n if (!path) {\r\n path = this.path;\r\n point = this.point;\r\n }\r\n\r\n // РАЗОБРАТЬСЯ ДЛЯ ЧЕГО ЭТИ СТРОКИ НУЖНЫ\r\n // console.log('recth',recth, l.oldrecth)\r\n // recth = l.oldrecth;\r\n // rectw = l.oldrectw;\r\n\r\n this.rotate()\r\n // switch (l.loc1direct) {\r\n // case direct.left:\r\n // var t = 'none'\r\n // break;\r\n // case direct.up:\r\n // var t = \"r90,\" + l.a[0].x + \",\" + l.a[0].y\r\n // break;\r\n // case direct.right:\r\n // var t = \"r180,\" + l.a[0].x + \",\" + l.a[0].y\r\n // break;\r\n // case direct.down:\r\n // var t = \"r270,\" + l.a[0].x + \",\" + l.a[0].y\r\n // break;\r\n // }\r\n\r\n var d = makepath(this.a);\r\n path.attr({ d: d })\r\n if (path2)\r\n path2.attr({ d: d })\r\n point.attr({ cx: l.a[0].x, cy: l.a[0].y })\r\n\r\n\r\n // var lastx = l.a.length-2, lasty = l.a.length-1;\r\n // var prevx = l.a.length-4, prevy = l.a.length-3;\r\n // if(l.a[lastx]>l.a[prevx])\r\n // l.a[lastx] -= 10;\r\n // else if(l.a[lastx]l.a[prevy])\r\n // l.a[lasty] -= 10;\r\n // else if(l.a[lasty]window,fix=>module.exports=0!snapsvg/dist/snap.svg.js\";\r\nimport { createSchema, createView, viewonly, cbSetObject, direct, recth, rectw } from './flowchart'\r\nimport { LineDrawer } from './flowchart2'\r\n\r\nfunction createEditor(svgid, divid) {\r\n var s = Snap(svgid);\r\n var s1 = s.group();\r\n var s2 = s.group();\r\n var selectedObj;\r\n var selectedLine;\r\n var objType = 'rect';\r\n\r\n window.appscope.selectedObj_copie = selectedObj\r\n\r\n var schema = createSchema(s1);\r\n var v = createView(s, document.querySelector(divid));\r\n var l = LineDrawer(s2, schema);\r\n\r\n function createLineMarkerDragger() {\r\n var lastline;\r\n var marker;\r\n var d = {\r\n findLine: function (ev) {\r\n var obj = schema.findExact(ev.clientX, ev.clientY);\r\n lastline = undefined;\r\n if (!obj)\r\n return;\r\n if (obj)\r\n if (obj.parent)\r\n obj = obj.parent\r\n if (obj.type != 'L')\r\n return;\r\n lastline = obj;\r\n },\r\n mouseDown: function (ev) {\r\n this.mousepressed = true;\r\n var obj = schema.findExact(ev.clientX, ev.clientY);\r\n if(!obj)\r\n return;\r\n if (obj.type == 'ML')\r\n marker = obj;\r\n else{\r\n var last = selectedLine;\r\n this.findLine(ev)\r\n selectedLine = lastline\r\n if (selectedLine) {\r\n ev.lastmarker = schema.getMarker(selectedLine.id1, selectedLine.dir1)\r\n //l.removeLine(selectedLine.id1, selectedLine.id2)\r\n }\r\n }\r\n if (selectedLine){\r\n selectedLine.highlightOnClick(true)\r\n if(selectedObj){\r\n selectedObj.highlight(false);\r\n selectedObj = null;\r\n }\r\n }\r\n if (last && last != selectedLine)\r\n last.highlightOnClick(false)\r\n },\r\n mouseMove: function (ev) {\r\n if (marker && !(ev.buttons & 1))\r\n marker = false;\r\n\r\n if (marker) {\r\n var loc = v.cursorPoint(ev)\r\n loc.x = Math.round(loc.x / 20) * 20;\r\n loc.y = Math.round(loc.y / 20) * 20;\r\n marker.move(loc.x, loc.y)\r\n } else {\r\n var tmp = lastline;\r\n this.findLine(ev)\r\n if (lastline != tmp) {\r\n if (tmp) {\r\n tmp.setMarkers(false)\r\n tmp.highlight(false)\r\n }\r\n if (lastline) {\r\n lastline.setMarkers(true)\r\n lastline.highlight(true)\r\n }\r\n }\r\n }\r\n },\r\n mouseUp: function (ev) {\r\n if (!this.mousepressed)\r\n return;\r\n this.mousepressed = false;\r\n if (marker)\r\n marker = undefined;\r\n },\r\n mouseOut: function (ev) {\r\n if (ev.offsetY <= 0)\r\n this.mousepressed = false;\r\n },\r\n reset: function () {\r\n this.mousepressed = false;\r\n marker = undefined;\r\n lastline = undefined;\r\n }\r\n }\r\n return d;\r\n }\r\n function createObjDragger() {\r\n var d = {\r\n mouseDown: function (ev) {\r\n if(ev.lastmarker)\r\n return\r\n this.mousepressed = true;\r\n var lastrn = selectedObj;\r\n var obj = schema.findExact(ev.clientX, ev.clientY);\r\n if (!obj) {\r\n var loc = v.cursorPoint(ev)\r\n selectedObj = schema.createRect({ x: loc.x, y: loc.y, subtype: objType });\r\n selectedObj.highlight(true);\r\n } else {\r\n if (obj.parent)\r\n obj = obj.parent;\r\n if (obj.type != 'R')\r\n selectedObj = null;\r\n else {\r\n selectedObj = obj;\r\n selectedObj.highlight(true);\r\n if (selectedLine) {\r\n selectedLine.setMarkers(false)\r\n selectedLine.highlight(false)\r\n }\r\n }\r\n }\r\n //if (lastrn != selectedObj){\r\n cbSetObject(selectedObj)\r\n //}\r\n if (lastrn && lastrn != selectedObj)\r\n lastrn.highlight(false);\r\n },\r\n mouseMove: function (ev) {\r\n var loc = v.cursorPoint(ev);\r\n loc.x = Math.round(loc.x / 20) * 20;\r\n loc.y = Math.round(loc.y / 20) * 20;\r\n\r\n if (!selectedObj || !(ev.buttons & 1))\r\n // if(!rn)\r\n return false;\r\n\r\n schema.moveObj(selectedObj, loc.x, loc.y);\r\n l.moveObj(selectedObj.id);\r\n\r\n return true;\r\n },\r\n mouseUp: function (ev) {\r\n if (!this.mousepressed)\r\n return;\r\n this.mousepressed = false;\r\n if (selectedObj)\r\n selectedObj.shake()\r\n },\r\n mouseOut: function (ev) {\r\n if (ev.offsetY <= 0)\r\n this.mousepressed = false;\r\n },\r\n reset: function () {\r\n this.mousepressed = false;\r\n selectedObj = undefined;\r\n }\r\n }\r\n return d;\r\n }\r\n\r\n function createLineDragger() {\r\n var d = {\r\n findNearestMarker: function (ev) {\r\n var m;\r\n var nearestSizeMarker;\r\n\r\n //if(rn)\r\n {\r\n var o = schema.findObj(ev.clientX, ev.clientY);\r\n if (!o) {\r\n var x = Math.round(ev.clientX / 10) * 10;\r\n var y = Math.round((ev.clientY + 10) / 10) * 10;\r\n var o = schema.findObj(x, y);\r\n }\r\n if (!o) {\r\n var x = Math.round(ev.clientX / 10) * 10;\r\n var y = Math.round((ev.clientY - 10) / 10) * 10;\r\n var o = schema.findObj(x, y);\r\n }\r\n if (!o) {\r\n var x = Math.round((ev.clientX + 10) / 10) * 10;\r\n var y = Math.round(ev.clientY / 10) * 10;\r\n var o = schema.findObj(x, y);\r\n }\r\n if (!o) {\r\n var x = Math.round((ev.clientX - 10) / 10) * 10;\r\n var y = Math.round(ev.clientY / 10) * 10;\r\n var o = schema.findObj(x, y);\r\n }\r\n if (o) { // && o==rn){\r\n var loc = v.cursorPoint(ev)\r\n // loc.x = Math.round(loc.x / 20) * 20;\r\n // loc.y = Math.round(loc.y / 20) * 20;\r\n\r\n var dy = Math.abs(o.h / 2 - Math.abs(loc.y - o.y));\r\n var dx = Math.abs(o.w / 2 - Math.abs(loc.x - o.x));\r\n if (dx < dy) {\r\n if (loc.x < o.x)\r\n m = o.m[0]\r\n else\r\n m = o.m[1]\r\n } else {\r\n if (loc.y >= o.y)\r\n m = o.m[3]\r\n else\r\n m = o.m[2]\r\n }\r\n\r\n var minD = Math.sqrt(Math.pow(loc.x - m.x, 2) + Math.pow(loc.y - m.y, 2));\r\n o.sizeMarkers.forEach(function(marker) {\r\n var d = Math.sqrt(Math.pow(loc.x - marker.x, 2) + Math.pow(loc.y - marker.y, 2));\r\n if (minD > d)\r\n {\r\n minD = d;\r\n nearestSizeMarker = marker;\r\n m = undefined;\r\n }\r\n });\r\n }\r\n }\r\n if (m != this.lastMarker && this.lastMarker) {\r\n this.lastMarker.el.attr({ class: \"marker\" })\r\n this.lastMarker = false;\r\n }\r\n if (m && m.type == 'M') {\r\n m.el.attr({ class: \"marker-act\" })\r\n this.lastMarker = m\r\n }\r\n\r\n if (nearestSizeMarker != this.lastSizeMarker && this.lastSizeMarker) {\r\n this.lastSizeMarker.el.attr({ class: \"marker\" });\r\n this.lastSizeMarker = false;\r\n }\r\n if (nearestSizeMarker && nearestSizeMarker.type == 'M') {\r\n nearestSizeMarker.el.attr({ class: \"marker-act\" });\r\n this.lastSizeMarker = nearestSizeMarker;\r\n }\r\n },\r\n findMarker: function (ev) {\r\n var res = schema.findExact(ev.clientX, ev.clientY);\r\n if (res != this.lastMarker && this.lastMarker) {\r\n this.lastMarker.el.attr({ class: \"marker\" })\r\n this.lastMarker = false;\r\n }\r\n if (res != this.lastSizeMarker && this.lastSizeMarker) {\r\n this.lastSizeMarker.el.attr({ class: \"marker\" });\r\n this.lastSizeMarker = false;\r\n }\r\n if (res && res.type == 'M') {\r\n var parent = res.parent;\r\n\r\n if (parent.sizeMarkers && parent.sizeMarkers.includes(res)) {\r\n res.el.attr({ class: \"marker-act\" })\r\n this.lastSizeMarker = res\r\n } else {\r\n res.el.attr({ class: \"marker-act\" })\r\n this.lastMarker = res\r\n }\r\n }\r\n },\r\n mouseDown: function (ev) {\r\n this.resizeMode = false;\r\n if (ev.lastmarker)\r\n this.lastMarker = ev.lastmarker\r\n else\r\n this.findMarker(ev)\r\n if (this.lastMarker) {\r\n this.startMarker = this.lastMarker;\r\n l.startTmpLine(this.lastMarker.parent.id);\r\n }\r\n if (this.lastSizeMarker) {\r\n this.startSizeMarker = this.lastSizeMarker;\r\n this.resizeMode = true;\r\n this.mouseMove(ev);\r\n }\r\n if (ev.lastmarker)\r\n this.mouseMove(ev)\r\n },\r\n mouseMove: function (ev) {\r\n this.findNearestMarker(ev)\r\n\r\n if (!(ev.buttons & 1) || (!this.startMarker && !this.startSizeMarker))\r\n return false;\r\n\r\n if (this.resizeMode)\r\n {\r\n var parent = this.startSizeMarker.parent;\r\n\r\n var loc = v.cursorPoint(ev)\r\n loc.x = Math.round(loc.x / 20) * 20;\r\n loc.y = Math.round(loc.y / 20) * 20;\r\n var dx = loc.x - this.startSizeMarker.x;\r\n var dy = loc.y - this.startSizeMarker.y;\r\n dx = Math.round(dx / 40) * 40;\r\n dy = Math.round(dy / 40) * 40;\r\n\r\n switch (this.startSizeMarker.direct) {\r\n case direct.left:\r\n if ((parent.w - dx) < rectw) {\r\n dx = parent.w - rectw;\r\n } else {\r\n parent.w = parent.w - dx;\r\n }\r\n\r\n if ((parent.h + dy) < recth) {\r\n dy = recth - parent.h;\r\n } else {\r\n parent.h = parent.h + dy;\r\n }\r\n break;\r\n case direct.right:\r\n if ((parent.w + dx) < rectw) {\r\n dx = rectw - parent.w;\r\n } else {\r\n parent.w = parent.w + dx;\r\n }\r\n\r\n if ((parent.h - dy) < recth) {\r\n dy = parent.h - recth;\r\n } else {\r\n parent.h = parent.h - dy;\r\n }\r\n break;\r\n case direct.up:\r\n if ((parent.w - dx) < rectw) {\r\n dx = parent.w - rectw;\r\n } else {\r\n parent.w = parent.w - dx;\r\n }\r\n\r\n if ((parent.h - dy) < recth) {\r\n dy = parent.h - recth;\r\n } else {\r\n parent.h = parent.h - dy;\r\n }\r\n break;\r\n case direct.down:\r\n if ((parent.w + dx) < rectw) {\r\n dx = rectw - parent.w;\r\n } else {\r\n parent.w = parent.w + dx;\r\n }\r\n\r\n if ((parent.h + dy) < recth) {\r\n dy = recth - parent.h;\r\n } else {\r\n parent.h = parent.h + dy;\r\n }\r\n break;\r\n }\r\n\r\n if ((Math.abs(dx) > 0) || (Math.abs(dy) > 0))\r\n {\r\n parent.shake();\r\n schema.moveObj(parent, parent.x + dx/2, parent.y + dy/2);\r\n l.moveObj(parent.id)\r\n }\r\n\r\n return true;\r\n }\r\n\r\n if (!this.startMarker)\r\n return false;\r\n\r\n var loc1 = schema.rect2loc(this.startMarker.parent.id, this.startMarker.direct)\r\n\r\n if (this.lastMarker && this.lastMarker.parent != this.startMarker.parent)\r\n var loc2 = { x: this.lastMarker.x, y: this.lastMarker.y, direct: this.lastMarker.direct, height: this.lastMarker.parent.h, width: this.lastMarker.parent.w}\r\n else {\r\n var loc = v.cursorPoint(ev)\r\n loc.x = Math.round(loc.x / 20) * 20;\r\n loc.y = Math.round(loc.y / 20) * 20;\r\n var loc2 = { x: loc.x, y: loc.y, direct: direct.left, height: recth, width: rectw };\r\n }\r\n\r\n l.connect(loc1, loc2)\r\n l.draw()\r\n return true;\r\n },\r\n mouseUp: function (ev) {\r\n var loc = v.cursorPoint(ev)\r\n loc.x = Math.round(loc.x / 20) * 20;\r\n loc.y = Math.round(loc.y / 20) * 20;\r\n if (this.startMarker) {\r\n if (this.lastMarker && this.startMarker.parent != this.lastMarker.parent) {\r\n l.connectObj(this.startMarker.parent.id, this.startMarker.direct, this.lastMarker.parent.id, this.lastMarker.direct)\r\n this.lastMarker.parent.shake()\r\n }\r\n l.delTmpLine();\r\n this.startMarker = null;\r\n }\r\n },\r\n mouseOut: function (ev) {\r\n },\r\n reset: function () {\r\n this.startMarker = undefined;\r\n this.lastMarker = undefined;\r\n this.startSizeMarker = undefined;\r\n this.lastSizeMarker = undefined;\r\n this.resizeMode = undefined;\r\n }\r\n }\r\n return d;\r\n }\r\n\r\n var e = {\r\n s: null,\r\n div: null,\r\n\r\n lineDragger: createLineDragger(),\r\n objDragger: createObjDragger(),\r\n lineMarkerDragger: createLineMarkerDragger(),\r\n mouseMove: function (ev, x, y) {\r\n if (!viewonly) {\r\n if (this.lineDragger.mouseMove(ev))\r\n return;\r\n this.objDragger.mouseMove(ev);\r\n this.lineMarkerDragger.mouseMove(ev);\r\n }\r\n },\r\n mouseDown: function (ev, x, y) {\r\n ev.preventDefault();\r\n if (!(ev.buttons & 1))\r\n return;\r\n if (!viewonly) {\r\n this.lineMarkerDragger.mouseDown(ev);\r\n this.lineDragger.mouseDown(ev);\r\n this.objDragger.mouseDown(ev);\r\n }\r\n },\r\n mouseUp: function (ev, x, y) {\r\n if (!viewonly) {\r\n this.lineDragger.mouseUp(ev);\r\n this.objDragger.mouseUp(ev)\r\n }\r\n },\r\n mouseOut: function (ev, x, y) {\r\n this.objDragger.mouseOut(ev)\r\n },\r\n\r\n init: function () {\r\n this.s = s;\r\n this.v = v;\r\n this.schema = schema;\r\n this.l = l;\r\n s.mousemove(this.mouseMove.bind(this));\r\n s.mousedown(this.mouseDown.bind(this));\r\n s.mouseup(this.mouseUp.bind(this));\r\n s.mouseout(this.mouseOut.bind(this));\r\n\r\n },\r\n reset: function () {\r\n var a = schema.hash;\r\n var to = { rects: [], lines: [] }\r\n for (var i in a) {\r\n if (a[i].type != 'R')\r\n continue;\r\n\r\n l.removeLines(a[i].id)\r\n a[i].remove()\r\n selectedObj = undefined\r\n }\r\n schema.hash = {};\r\n schema.incid = 1;\r\n this.lineDragger.reset();\r\n this.objDragger.reset();\r\n this.lineMarkerDragger.reset();\r\n },\r\n setObjectType: function (type) {\r\n objType = type;\r\n },\r\n getSelectedObj: function () {\r\n return selectedObj;\r\n },\r\n load: function (data) {\r\n this.reset();\r\n // cbSetObject(undefined)\r\n var tmphash = {}\r\n var xmin = 1000, xmax = 0, ymin = 1000, ymax = 0;\r\n if (typeof data === 'string')\r\n data = JSON.parse(data)\r\n for (var i in data.rects) {\r\n var r = data.rects[i]\r\n var rect = schema.createRect(r)\r\n tmphash[r.id] = rect.id;\r\n if (!selectedObj)\r\n selectedObj = rect\r\n var bbox = rect.g.getBBox();\r\n if (bbox.x < xmin)\r\n xmin = bbox.x;\r\n if (bbox.x2 > xmax)\r\n xmax = bbox.x2;\r\n if (bbox.y < ymin)\r\n ymin = bbox.y;\r\n if (bbox.y2 > ymax)\r\n ymax = bbox.y2;\r\n }\r\n\r\n for (var i in data.lines) {\r\n var ln = data.lines[i]\r\n var id1 = tmphash[ln.id1]\r\n var id2 = tmphash[ln.id2]\r\n var line = l.connectObj(id1, ln.dir1, id2, ln.dir2, ln)\r\n\r\n var bbox = line.path.getBBox();\r\n if (bbox.x < xmin)\r\n xmin = bbox.x;\r\n if (bbox.x2 > xmax)\r\n xmax = bbox.x2;\r\n if (bbox.y < ymin)\r\n ymin = bbox.y;\r\n if (bbox.y2 > ymax)\r\n ymax = bbox.y2;\r\n }\r\n if (!viewonly && selectedObj)\r\n selectedObj.highlight(true);\r\n if (viewonly) {\r\n xmin -= 5\r\n ymin -= 5\r\n xmax += 10\r\n ymax += 10\r\n s.attr({ width: xmax - xmin, height: ymax - ymin, viewBox: \"\" + xmin + \" \" + ymin + \" \" + (xmax - xmin) + \" \" + (ymax - ymin) })\r\n }\r\n\r\n cbSetObject(selectedObj)\r\n\r\n\r\n },\r\n\r\n //функции для внешнего вызова\r\n up: function () {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.g.remove();\r\n s1.append(selectedObj.g);\r\n },\r\n\r\n down: function () {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.g.remove();\r\n s1.prepend(selectedObj.g);\r\n },\r\n settext: function (t) {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.setText(t);\r\n selectedObj.fitRectToText()\r\n },\r\n settexturl2: function (t) {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.setTextUrl2(t);\r\n selectedObj.fitRectToText()\r\n },\r\n settexturl3: function (t) {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.setTextUrl3(t);\r\n selectedObj.fitRectToText()\r\n },\r\n setBlockSize: function (bs) {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.setBlockSize(bs);\r\n schema.moveObj(selectedObj, selectedObj.x, selectedObj.y);\r\n l.moveObj(selectedObj.id);\r\n },\r\n remove: function () {\r\n if (!selectedObj) {\r\n if (!selectedLine)\r\n return;\r\n l.removeLine(selectedLine.id1, selectedLine.id2)\r\n } else {\r\n l.removeLines(selectedObj.id)\r\n selectedObj.remove()\r\n selectedObj = undefined\r\n cbSetObject(selectedObj)\r\n }\r\n },\r\n changeYesNo: function() {\r\n if (!selectedObj)\r\n return;\r\n selectedObj.changeYesNo();\r\n },\r\n setAnchors: function(hash){\r\n var a = schema.hash;\r\n\r\n for (var i in a) {\r\n if (!a[i])\r\n continue;\r\n if (a[i].type == 'R')\r\n a[i].setAnchors(hash)\r\n }\r\n }\r\n }\r\n e.init();\r\n return e;\r\n}\r\n\r\nexport { createEditor }","\r\n\r\n\r\n\r\n\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=js&\"","// Extensions\nimport { BaseItemGroup } from '../../components/VItemGroup/VItemGroup'\n\n/* @vue/component */\nexport default BaseItemGroup.extend({\n name: 'button-group',\n\n provide (): object {\n return {\n btnToggle: this,\n }\n },\n\n computed: {\n classes (): object {\n return BaseItemGroup.options.computed.classes.call(this)\n },\n },\n\n methods: {\n // Isn't being passed down through types\n genData: BaseItemGroup.options.methods.genData,\n },\n})\n","// Styles\nimport './VBtnToggle.sass'\n\n// Mixins\nimport ButtonGroup from '../../mixins/button-group'\nimport Colorable from '../../mixins/colorable'\n\n// Utilities\nimport mixins from '../../util/mixins'\n\n/* @vue/component */\nexport default mixins(\n ButtonGroup,\n Colorable\n).extend({\n name: 'v-btn-toggle',\n\n props: {\n backgroundColor: String,\n borderless: Boolean,\n dense: Boolean,\n group: Boolean,\n rounded: Boolean,\n shaped: Boolean,\n tile: Boolean,\n },\n\n computed: {\n classes (): object {\n return {\n ...ButtonGroup.options.computed.classes.call(this),\n 'v-btn-toggle': true,\n 'v-btn-toggle--borderless': this.borderless,\n 'v-btn-toggle--dense': this.dense,\n 'v-btn-toggle--group': this.group,\n 'v-btn-toggle--rounded': this.rounded,\n 'v-btn-toggle--shaped': this.shaped,\n 'v-btn-toggle--tile': this.tile,\n ...this.themeClasses,\n }\n },\n },\n\n methods: {\n genData () {\n const data = this.setTextColor(this.color, {\n ...ButtonGroup.options.methods.genData.call(this),\n })\n\n if (this.group) return data\n\n return this.setBackgroundColor(this.backgroundColor, data)\n },\n },\n})\n","// Styles\nimport './VRadio.sass'\n\n// Components\nimport VRadioGroup from './VRadioGroup'\nimport VLabel from '../VLabel'\nimport VIcon from '../VIcon'\nimport VInput from '../VInput'\n\n// Mixins\nimport BindsAttrs from '../../mixins/binds-attrs'\nimport Colorable from '../../mixins/colorable'\nimport { factory as GroupableFactory } from '../../mixins/groupable'\nimport Rippleable from '../../mixins/rippleable'\nimport Themeable from '../../mixins/themeable'\nimport Selectable from '../../mixins/selectable'\n\n// Utilities\nimport { getSlot } from '../../util/helpers'\n\n// Types\nimport { VNode, VNodeData } from 'vue'\nimport mixins from '../../util/mixins'\n\nconst baseMixins = mixins(\n BindsAttrs,\n Colorable,\n Rippleable,\n GroupableFactory('radioGroup'),\n Themeable\n)\n\ninterface options extends InstanceType {\n radioGroup: InstanceType\n}\n\n/* @vue/component */\nexport default baseMixins.extend().extend({\n name: 'v-radio',\n\n inheritAttrs: false,\n\n props: {\n disabled: Boolean,\n id: String,\n label: String,\n name: String,\n offIcon: {\n type: String,\n default: '$radioOff',\n },\n onIcon: {\n type: String,\n default: '$radioOn',\n },\n readonly: Boolean,\n value: {\n default: null,\n },\n },\n\n data: () => ({\n isFocused: false,\n }),\n\n computed: {\n classes (): object {\n return {\n 'v-radio--is-disabled': this.isDisabled,\n 'v-radio--is-focused': this.isFocused,\n ...this.themeClasses,\n ...this.groupClasses,\n }\n },\n computedColor (): string | undefined {\n return Selectable.options.computed.computedColor.call(this)\n },\n computedIcon (): string {\n return this.isActive\n ? this.onIcon\n : this.offIcon\n },\n computedId (): string {\n return VInput.options.computed.computedId.call(this)\n },\n hasLabel: VInput.options.computed.hasLabel,\n hasState (): boolean {\n return (this.radioGroup || {}).hasState\n },\n isDisabled (): boolean {\n return this.disabled || (\n !!this.radioGroup &&\n this.radioGroup.isDisabled\n )\n },\n isReadonly (): boolean {\n return this.readonly || (\n !!this.radioGroup &&\n this.radioGroup.isReadonly\n )\n },\n computedName (): string {\n if (this.name || !this.radioGroup) {\n return this.name\n }\n\n return this.radioGroup.name || `radio-${this.radioGroup._uid}`\n },\n rippleState (): string | undefined {\n return Selectable.options.computed.rippleState.call(this)\n },\n validationState (): string | undefined {\n return (this.radioGroup || {}).validationState || this.computedColor\n },\n },\n\n methods: {\n genInput (args: any) {\n // We can't actually use the mixin directly because\n // it's made for standalone components, but its\n // genInput method is exactly what we need\n return Selectable.options.methods.genInput.call(this, 'radio', args)\n },\n genLabel () {\n if (!this.hasLabel) return null\n\n return this.$createElement(VLabel, {\n on: {\n click: (e: Event) => {\n // Prevent label from\n // causing the input\n // to focus\n e.preventDefault()\n\n this.onChange()\n },\n },\n attrs: {\n for: this.computedId,\n },\n props: {\n color: this.validationState,\n focused: this.hasState,\n },\n }, getSlot(this, 'label') || this.label)\n },\n genRadio () {\n return this.$createElement('div', {\n staticClass: 'v-input--selection-controls__input',\n }, [\n this.$createElement(VIcon, this.setTextColor(this.validationState, {\n props: {\n dense: this.radioGroup && this.radioGroup.dense,\n },\n }), this.computedIcon),\n this.genInput({\n name: this.computedName,\n value: this.value,\n ...this.attrs$,\n }),\n this.genRipple(this.setTextColor(this.rippleState)),\n ])\n },\n onFocus (e: Event) {\n this.isFocused = true\n this.$emit('focus', e)\n },\n onBlur (e: Event) {\n this.isFocused = false\n this.$emit('blur', e)\n },\n onChange () {\n if (this.isDisabled || this.isReadonly || this.isActive) return\n\n this.toggle()\n },\n onKeydown: () => {}, // Override default with noop\n },\n\n render (h): VNode {\n const data = {\n staticClass: 'v-radio',\n class: this.classes,\n } as VNodeData\n\n return h('div', data, [\n this.genRadio(),\n this.genLabel(),\n ])\n },\n})\n","// Styles\nimport '../../styles/components/_selection-controls.sass'\nimport './VRadioGroup.sass'\n\n// Extensions\nimport VInput from '../VInput'\nimport { BaseItemGroup } from '../VItemGroup/VItemGroup'\n\n// Mixins\nimport Comparable from '../../mixins/comparable'\n\n// Types\nimport mixins from '../../util/mixins'\nimport { PropType } from 'vue'\n\nconst baseMixins = mixins(\n Comparable,\n BaseItemGroup,\n VInput\n)\n\n/* @vue/component */\nexport default baseMixins.extend({\n name: 'v-radio-group',\n\n provide () {\n return {\n radioGroup: this,\n }\n },\n\n props: {\n column: {\n type: Boolean,\n default: true,\n },\n height: {\n type: [Number, String],\n default: 'auto',\n },\n name: String,\n row: Boolean,\n // If no value set on VRadio\n // will match valueComparator\n // force default to null\n value: null as unknown as PropType,\n },\n\n computed: {\n classes (): object {\n return {\n ...VInput.options.computed.classes.call(this),\n 'v-input--selection-controls v-input--radio-group': true,\n 'v-input--radio-group--column': this.column && !this.row,\n 'v-input--radio-group--row': this.row,\n }\n },\n },\n\n methods: {\n genDefaultSlot () {\n return this.$createElement('div', {\n staticClass: 'v-input--radio-group__input',\n attrs: {\n id: this.id,\n role: 'radiogroup',\n 'aria-labelledby': this.computedId,\n },\n }, VInput.options.methods.genDefaultSlot.call(this))\n },\n genInputSlot () {\n const render = VInput.options.methods.genInputSlot.call(this)\n\n delete render.data!.on!.click\n\n return render\n },\n genLabel () {\n const label = VInput.options.methods.genLabel.call(this)\n\n if (!label) return null\n\n label.data!.attrs!.id = this.computedId\n // WAI considers this an orphaned label\n delete label.data!.attrs!.for\n label.tag = 'legend'\n\n return label\n },\n onClick: BaseItemGroup.options.methods.onClick,\n },\n})\n","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=7df343d2&scoped=true&lang=pug&\"\nimport script from \"./index.vue?vue&type=script&lang=js&\"\nexport * from \"./index.vue?vue&type=script&lang=js&\"\nimport style0 from \"./index.vue?vue&type=style&index=0&id=7df343d2&lang=stylus&scoped=true&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"7df343d2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VBtnToggle } from 'vuetify/lib/components/VBtnToggle';\nimport { VContainer } from 'vuetify/lib/components/VGrid';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VSnackbar } from 'vuetify/lib/components/VSnackbar';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTextarea } from 'vuetify/lib/components/VTextarea';\ninstallComponents(component, {VBtn,VBtnToggle,VContainer,VRadio,VRadioGroup,VSelect,VSnackbar,VTextField,VTextarea})\n"],"sourceRoot":""}