hayun-vite 0.0.3 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/styles-test.css +90 -90
- package/assets/styles.css +90 -90
- package/data/formData1.js +42 -42
- package/data/officesObjStore.js +56 -56
- package/data/patientsObjStore.js +73 -73
- package/data/sampleData.js +94 -94
- package/index.js +11 -11
- package/package.json +1 -1
- package/src/Audiogram/Audiogram.js +194 -197
- package/src/Audiogram/dims.js +83 -83
- package/src/Form/Form.js +268 -276
- package/src/Form/Form_N.js +158 -158
- package/src/Form/Forms-Test.html +124 -124
- package/src/Form/Forms.js +121 -134
- package/src/Form/Header.js +91 -91
- package/src/Form/Reflex.js +141 -141
- package/src/Form/Sections.js +71 -71
- package/src/Form/Speech.js +132 -132
- package/src/Form/TextBox.js +66 -82
- package/src/Form/Tympanogram.js +355 -355
- package/src/Form/formStyles.css +122 -122
- package/src/Form/globalinfo.js +68 -68
- package/src/Form/grid/drawGrid.js +84 -84
- package/src/Form/grid/hideGrid.js +8 -8
- package/src/Form/printForm.js +122 -75
- package/src/Form/templates/combo.js +248 -248
- package/src/Form/templates/dims.js +204 -204
- package/src/Form/templates/rasaAud.js +287 -287
- package/src/Symbol/Symbols.js +29 -29
- package/src/Symbol/createSymbolSVG.js +240 -240
- package/src/Symbol/getAllSymbolsSVG.js +21 -21
- package/src/Symbol/insertSymbol.js +10 -10
- package/src/Symbol/symbolChart.js +47 -47
- package/src/common/putLine.js +16 -16
- package/src/common/putPoint.js +12 -12
- package/src/common/putRect.js +13 -13
- package/src/common/putText.js +17 -16
- package/src/common/putTopLayer.js +17 -17
- package/src/main.js +88 -87
- package/src/note.css +62 -0
- package/src/style.css +152 -157
- package/src/note.html +0 -1
package/src/Form/Speech.js
CHANGED
@@ -1,133 +1,133 @@
|
|
1
|
-
import putRect from "../common/putRect.js";
|
2
|
-
import putText from "../common/putText.js";
|
3
|
-
|
4
|
-
const svgNS = "http://www.w3.org/2000/svg";
|
5
|
-
|
6
|
-
export default class Speech {
|
7
|
-
constructor({ container, side = 'R' }) {
|
8
|
-
this.container = container;
|
9
|
-
}
|
10
|
-
|
11
|
-
draw({ dims, stroke = true }) {
|
12
|
-
// دریافت اطلاعات مختصات چاپ ورودی ها به جز عادی محاسبه شده
|
13
|
-
this.inputs = (dims.forceInsert) ? dims.forceInputs : dims.inputs
|
14
|
-
|
15
|
-
let style;
|
16
|
-
|
17
|
-
let width = dims.width;
|
18
|
-
let height = dims.height;
|
19
|
-
let x = dims.margin.left;
|
20
|
-
let y = dims.margin.top;
|
21
|
-
|
22
|
-
const labels = dims.labels;
|
23
|
-
// const inputs = dims.inputs;
|
24
|
-
const cn = labels.length;
|
25
|
-
|
26
|
-
this.labels = labels;
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
let sideCaption = this.side === "R" ? "Right" : "Left";
|
31
|
-
// یک جدول 6*2 - ۲ سطر و ۶ ستون
|
32
|
-
// const cw = width / 6; // پهنای هر خانه
|
33
|
-
const cw = width / (cn + 1); // پهنای هر خانه
|
34
|
-
const ch = height / 2; // ارتفاع هر خانه
|
35
|
-
// بوردر کل چارت
|
36
|
-
const svg = document.createElementNS(svgNS, "svg");
|
37
|
-
// svg.setAttribute("id", id);
|
38
|
-
svg.setAttribute("x", x);
|
39
|
-
svg.setAttribute("y", y);
|
40
|
-
svg.setAttribute("width", width);
|
41
|
-
svg.setAttribute("height", height);
|
42
|
-
svg.setAttribute("class", "speach");
|
43
|
-
|
44
|
-
style = `
|
45
|
-
user-select: none;
|
46
|
-
direction: ltr !important;
|
47
|
-
/* text-align: center; */
|
48
|
-
font-family: Arial, Helvetica, sans-serif !important;
|
49
|
-
font-size: 0.8mm;
|
50
|
-
font-weight: bold;
|
51
|
-
text-anchor: middle; /*تراز افقی*/
|
52
|
-
dominant-baseline: hanging; /* تراز عمودی*/
|
53
|
-
`;
|
54
|
-
// const lables = ["SAT", "SRT", "MCL", "UCL", "SDS"]; // مقادیر برچسبهای سطر اول
|
55
|
-
// let cw1 = width / 6; // پهنای خانههای سطر اول
|
56
|
-
let cw1 = width / (cn + 1); // پهنای خانههای سطر اول
|
57
|
-
let ch1 = height / 2; // ارتفاع خانههای سطر اول
|
58
|
-
let ch2 = height / 2; // ارتفاع خانههای سطر دوم
|
59
|
-
|
60
|
-
if (!dims.hideContext) {
|
61
|
-
// چاپ برچسبهای سطر اول
|
62
|
-
labels.forEach((value, i) => {
|
63
|
-
let x = cw1 / 2 + cw1 * (i + 1);
|
64
|
-
let y = ch1 / 2;
|
65
|
-
putText({ container: svg, value, x, y, style });
|
66
|
-
})
|
67
|
-
//چاپ پنج باکس سطر دوم
|
68
|
-
for (let i = 1; i <= 5; i++) {
|
69
|
-
let x = cw1 / 2 + cw1 * i;
|
70
|
-
let y = ch1 + ch2 / 2;
|
71
|
-
let bw = cw1 * 0.80; // پهنای هر باکس
|
72
|
-
let bh = ch2 * 0.80; // ارتفاع هر باکس
|
73
|
-
//رسم باکس با مختصات مرکز باکس
|
74
|
-
putBox({ x, y, w: bw, h: bh });
|
75
|
-
}
|
76
|
-
|
77
|
-
style += 'text-anchor: start; dominant-baseline: middle; /* تراز عمودی*/ ';
|
78
|
-
// برچسب راست و چپ سطر دوم
|
79
|
-
putText({ container: svg, value: sideCaption, x: cw1 / 2, y: ch1 + ch2 / 2, style: style }); //با استایل تراز عمودی وسط نسبت به خط پایه
|
80
|
-
}
|
81
|
-
// در سطر دوم
|
82
|
-
// اینپوتها
|
83
|
-
style += 'text-anchor: middle; dominant-baseline: middle; /* تراز عمودی*/ ';
|
84
|
-
|
85
|
-
|
86
|
-
// New
|
87
|
-
if (!dims.forceInsert) {
|
88
|
-
let index = 0;
|
89
|
-
labels.forEach(label => {
|
90
|
-
index++
|
91
|
-
x = cw1 / 2 + cw1 * index;
|
92
|
-
y = ch1 + ch2 / 2;
|
93
|
-
putText({ container: svg, value: "", x: x, y: y, style: style, name: label })
|
94
|
-
})
|
95
|
-
} else {
|
96
|
-
// برای فرم های مثل رسا استفاده میشود
|
97
|
-
let name;
|
98
|
-
this.inputs.forEach(input => {
|
99
|
-
({ name, x, y } = input);
|
100
|
-
putText({ container: svg, x, y, style: style, name });
|
101
|
-
});
|
102
|
-
}
|
103
|
-
// مربع احاطهکننده کل جدول برای راهنمای توسعه
|
104
|
-
style = 'fill: transparent; stroke: green; stroke-width: 0.5;';
|
105
|
-
putRect({ container: svg, x: 0, y: 0, width, height, style, name: dims.name })
|
106
|
-
this.chart = svg;
|
107
|
-
this.container.appendChild(svg);
|
108
|
-
|
109
|
-
// توابع داخلی مورد نیاز
|
110
|
-
// تابع رسم نقطه برای راهنمای نقاط
|
111
|
-
function putBox({ x, y, w, h, style }) {
|
112
|
-
let rect = document.createElementNS(svgNS, "rect");
|
113
|
-
rect.setAttribute("x", x - w / 2);
|
114
|
-
rect.setAttribute("y", y - h / 2);
|
115
|
-
rect.setAttribute("width", w);
|
116
|
-
rect.setAttribute("height", h);
|
117
|
-
rect.setAttribute("style", "fill: transparent; stroke: black; stroke-width: 0.2;");
|
118
|
-
svg.appendChild(rect);
|
119
|
-
}
|
120
|
-
}
|
121
|
-
|
122
|
-
update(data) {
|
123
|
-
this.labels.forEach((label) => {
|
124
|
-
this.chart.querySelector(`text[data-name=${label}]`).innerHTML = data?.[label] || "";
|
125
|
-
})
|
126
|
-
// this.chart.querySelector(`text[data-name="SAT"]`).innerHTML = data?.SAT || "";
|
127
|
-
// this.chart.querySelector(`text[data-name="SRT"]`).innerHTML = data?.SRT || "";
|
128
|
-
// this.chart.querySelector(`text[data-name="MCL"]`).innerHTML = data?.MCL || "";
|
129
|
-
// this.chart.querySelector(`text[data-name="UCL"]`).innerHTML = data?.UCL || "";
|
130
|
-
// this.chart.querySelector(`text[data-name="SDS"]`).innerHTML = data?.SDS || "";
|
131
|
-
}
|
132
|
-
|
1
|
+
import putRect from "../common/putRect.js";
|
2
|
+
import putText from "../common/putText.js";
|
3
|
+
|
4
|
+
const svgNS = "http://www.w3.org/2000/svg";
|
5
|
+
|
6
|
+
export default class Speech {
|
7
|
+
constructor({ container, side = 'R' }) {
|
8
|
+
this.container = container;
|
9
|
+
}
|
10
|
+
|
11
|
+
draw({ dims, stroke = true }) {
|
12
|
+
// دریافت اطلاعات مختصات چاپ ورودی ها به جز عادی محاسبه شده
|
13
|
+
this.inputs = (dims.forceInsert) ? dims.forceInputs : dims.inputs
|
14
|
+
|
15
|
+
let style;
|
16
|
+
|
17
|
+
let width = dims.width;
|
18
|
+
let height = dims.height;
|
19
|
+
let x = dims.margin.left;
|
20
|
+
let y = dims.margin.top;
|
21
|
+
|
22
|
+
const labels = dims.labels;
|
23
|
+
// const inputs = dims.inputs;
|
24
|
+
const cn = labels.length;
|
25
|
+
|
26
|
+
this.labels = labels;
|
27
|
+
|
28
|
+
|
29
|
+
|
30
|
+
let sideCaption = this.side === "R" ? "Right" : "Left";
|
31
|
+
// یک جدول 6*2 - ۲ سطر و ۶ ستون
|
32
|
+
// const cw = width / 6; // پهنای هر خانه
|
33
|
+
const cw = width / (cn + 1); // پهنای هر خانه
|
34
|
+
const ch = height / 2; // ارتفاع هر خانه
|
35
|
+
// بوردر کل چارت
|
36
|
+
const svg = document.createElementNS(svgNS, "svg");
|
37
|
+
// svg.setAttribute("id", id);
|
38
|
+
svg.setAttribute("x", x);
|
39
|
+
svg.setAttribute("y", y);
|
40
|
+
svg.setAttribute("width", width);
|
41
|
+
svg.setAttribute("height", height);
|
42
|
+
svg.setAttribute("class", "speach");
|
43
|
+
|
44
|
+
style = `
|
45
|
+
user-select: none;
|
46
|
+
direction: ltr !important;
|
47
|
+
/* text-align: center; */
|
48
|
+
font-family: Arial, Helvetica, sans-serif !important;
|
49
|
+
font-size: 0.8mm;
|
50
|
+
font-weight: bold;
|
51
|
+
text-anchor: middle; /*تراز افقی*/
|
52
|
+
dominant-baseline: hanging; /* تراز عمودی*/
|
53
|
+
`;
|
54
|
+
// const lables = ["SAT", "SRT", "MCL", "UCL", "SDS"]; // مقادیر برچسبهای سطر اول
|
55
|
+
// let cw1 = width / 6; // پهنای خانههای سطر اول
|
56
|
+
let cw1 = width / (cn + 1); // پهنای خانههای سطر اول
|
57
|
+
let ch1 = height / 2; // ارتفاع خانههای سطر اول
|
58
|
+
let ch2 = height / 2; // ارتفاع خانههای سطر دوم
|
59
|
+
|
60
|
+
if (!dims.hideContext) {
|
61
|
+
// چاپ برچسبهای سطر اول
|
62
|
+
labels.forEach((value, i) => {
|
63
|
+
let x = cw1 / 2 + cw1 * (i + 1);
|
64
|
+
let y = ch1 / 2;
|
65
|
+
putText({ container: svg, value, x, y, style });
|
66
|
+
})
|
67
|
+
//چاپ پنج باکس سطر دوم
|
68
|
+
for (let i = 1; i <= 5; i++) {
|
69
|
+
let x = cw1 / 2 + cw1 * i;
|
70
|
+
let y = ch1 + ch2 / 2;
|
71
|
+
let bw = cw1 * 0.80; // پهنای هر باکس
|
72
|
+
let bh = ch2 * 0.80; // ارتفاع هر باکس
|
73
|
+
//رسم باکس با مختصات مرکز باکس
|
74
|
+
putBox({ x, y, w: bw, h: bh });
|
75
|
+
}
|
76
|
+
|
77
|
+
style += 'text-anchor: start; dominant-baseline: middle; /* تراز عمودی*/ ';
|
78
|
+
// برچسب راست و چپ سطر دوم
|
79
|
+
putText({ container: svg, value: sideCaption, x: cw1 / 2, y: ch1 + ch2 / 2, style: style }); //با استایل تراز عمودی وسط نسبت به خط پایه
|
80
|
+
}
|
81
|
+
// در سطر دوم
|
82
|
+
// اینپوتها
|
83
|
+
style += 'text-anchor: middle; dominant-baseline: middle; /* تراز عمودی*/ ';
|
84
|
+
|
85
|
+
|
86
|
+
// New
|
87
|
+
if (!dims.forceInsert) {
|
88
|
+
let index = 0;
|
89
|
+
labels.forEach(label => {
|
90
|
+
index++
|
91
|
+
x = cw1 / 2 + cw1 * index;
|
92
|
+
y = ch1 + ch2 / 2;
|
93
|
+
putText({ container: svg, value: "", x: x, y: y, style: style, name: label })
|
94
|
+
})
|
95
|
+
} else {
|
96
|
+
// برای فرم های مثل رسا استفاده میشود
|
97
|
+
let name;
|
98
|
+
this.inputs.forEach(input => {
|
99
|
+
({ name, x, y } = input);
|
100
|
+
putText({ container: svg, x, y, style: style, name });
|
101
|
+
});
|
102
|
+
}
|
103
|
+
// مربع احاطهکننده کل جدول برای راهنمای توسعه
|
104
|
+
style = 'fill: transparent; stroke: green; stroke-width: 0.5;';
|
105
|
+
putRect({ container: svg, x: 0, y: 0, width, height, style, name: dims.name })
|
106
|
+
this.chart = svg;
|
107
|
+
this.container.appendChild(svg);
|
108
|
+
|
109
|
+
// توابع داخلی مورد نیاز
|
110
|
+
// تابع رسم نقطه برای راهنمای نقاط
|
111
|
+
function putBox({ x, y, w, h, style }) {
|
112
|
+
let rect = document.createElementNS(svgNS, "rect");
|
113
|
+
rect.setAttribute("x", x - w / 2);
|
114
|
+
rect.setAttribute("y", y - h / 2);
|
115
|
+
rect.setAttribute("width", w);
|
116
|
+
rect.setAttribute("height", h);
|
117
|
+
rect.setAttribute("style", "fill: transparent; stroke: black; stroke-width: 0.2;");
|
118
|
+
svg.appendChild(rect);
|
119
|
+
}
|
120
|
+
}
|
121
|
+
|
122
|
+
update(data) {
|
123
|
+
this.labels.forEach((label) => {
|
124
|
+
this.chart.querySelector(`text[data-name=${label}]`).innerHTML = data?.[label] || "";
|
125
|
+
})
|
126
|
+
// this.chart.querySelector(`text[data-name="SAT"]`).innerHTML = data?.SAT || "";
|
127
|
+
// this.chart.querySelector(`text[data-name="SRT"]`).innerHTML = data?.SRT || "";
|
128
|
+
// this.chart.querySelector(`text[data-name="MCL"]`).innerHTML = data?.MCL || "";
|
129
|
+
// this.chart.querySelector(`text[data-name="UCL"]`).innerHTML = data?.UCL || "";
|
130
|
+
// this.chart.querySelector(`text[data-name="SDS"]`).innerHTML = data?.SDS || "";
|
131
|
+
}
|
132
|
+
|
133
133
|
}
|
package/src/Form/TextBox.js
CHANGED
@@ -1,83 +1,67 @@
|
|
1
|
-
import putLine from "../common/putLine.js";
|
2
|
-
import putRect from "../common/putRect.js";
|
3
|
-
import putText from "../common/putText.js";
|
4
|
-
const svgNS = "http://www.w3.org/2000/svg";
|
5
|
-
|
6
|
-
export default class TextBox {
|
7
|
-
constructor({ container }) {
|
8
|
-
this.container = container;
|
9
|
-
}
|
10
|
-
draw({ dims, stroke = true }) {
|
11
|
-
// دریافت اطلاعات مختصات چاپ ورودی ها به جز عادی محاسبه شده
|
12
|
-
this.inputs = (dims.forceInsert) ? dims.forceInputs : dims.inputs
|
13
|
-
|
14
|
-
let value;
|
15
|
-
let width = dims.width;
|
16
|
-
let height = dims.height;
|
17
|
-
let x = dims.margin.left;
|
18
|
-
let y = dims.margin.top;
|
19
|
-
|
20
|
-
let style;
|
21
|
-
// بوردر کل چارت
|
22
|
-
const svg = document.createElementNS(svgNS, "svg");
|
23
|
-
svg.setAttribute("x", x);
|
24
|
-
svg.setAttribute("y", y);
|
25
|
-
svg.setAttribute("width", width);
|
26
|
-
svg.setAttribute("height", height);
|
27
|
-
svg.setAttribute('
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
this.inputs.forEach(input => {
|
64
|
-
({
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
// مربع احاطهکننده کل جدول برای راهنمای توسعه
|
69
|
-
const borderRect = putRect({ container: svg, x: 0, y: 0, width, height, name: dims.name });
|
70
|
-
this.borderRect = borderRect;
|
71
|
-
// console.log(dims);
|
72
|
-
|
73
|
-
this.container.appendChild(svg)
|
74
|
-
// this.patient = svg;
|
75
|
-
|
76
|
-
}
|
77
|
-
|
78
|
-
update(data) {
|
79
|
-
this.inputs.forEach(input => {
|
80
|
-
this.container.querySelector(`text[data-name=${input.name}]`).innerHTML = data?.[input.name] || "";
|
81
|
-
});
|
82
|
-
}
|
1
|
+
import putLine from "../common/putLine.js";
|
2
|
+
import putRect from "../common/putRect.js";
|
3
|
+
import putText from "../common/putText.js";
|
4
|
+
const svgNS = "http://www.w3.org/2000/svg";
|
5
|
+
|
6
|
+
export default class TextBox {
|
7
|
+
constructor({ container }) {
|
8
|
+
this.container = container;
|
9
|
+
}
|
10
|
+
draw({ dims, stroke = true }) {
|
11
|
+
// دریافت اطلاعات مختصات چاپ ورودی ها به جز عادی محاسبه شده
|
12
|
+
this.inputs = (dims.forceInsert) ? dims.forceInputs : dims.inputs
|
13
|
+
|
14
|
+
let value;
|
15
|
+
let width = dims.width;
|
16
|
+
let height = dims.height;
|
17
|
+
let x = dims.margin.left;
|
18
|
+
let y = dims.margin.top;
|
19
|
+
|
20
|
+
let style, className;
|
21
|
+
// بوردر کل چارت
|
22
|
+
const svg = document.createElementNS(svgNS, "svg");
|
23
|
+
svg.setAttribute("x", x);
|
24
|
+
svg.setAttribute("y", y);
|
25
|
+
svg.setAttribute("width", width);
|
26
|
+
svg.setAttribute("height", height);
|
27
|
+
svg.setAttribute('class', 'text-box')
|
28
|
+
|
29
|
+
// اگر مقدار استروک درست بود لیبل ها را چاپ کن
|
30
|
+
if (!dims.hideContext) {
|
31
|
+
dims.elements.forEach(element => {
|
32
|
+
switch (element.type) {
|
33
|
+
case 'text':
|
34
|
+
({ x, y, value } = element);
|
35
|
+
putText({ container: svg, value, x, y, className: 'persian bold' });
|
36
|
+
break;
|
37
|
+
case 'line':
|
38
|
+
let { x1, y1, x2, y2 } = element;
|
39
|
+
putLine({ container: svg, x1, y1, x2, y2 });
|
40
|
+
break;
|
41
|
+
}
|
42
|
+
});
|
43
|
+
}
|
44
|
+
|
45
|
+
// محل اینپوتهای دیتا
|
46
|
+
let name;
|
47
|
+
this.inputs.forEach(input => {
|
48
|
+
({ name, x, y } = input);
|
49
|
+
putText({ container: svg, x, y, className: 'persian', name });
|
50
|
+
});
|
51
|
+
|
52
|
+
// مربع احاطهکننده کل جدول برای راهنمای توسعه
|
53
|
+
const borderRect = putRect({ container: svg, x: 0, y: 0, width, height, name: dims.name });
|
54
|
+
this.borderRect = borderRect;
|
55
|
+
// console.log(dims);
|
56
|
+
|
57
|
+
this.container.appendChild(svg)
|
58
|
+
// this.patient = svg;
|
59
|
+
|
60
|
+
}
|
61
|
+
|
62
|
+
update(data) {
|
63
|
+
this.inputs.forEach(input => {
|
64
|
+
this.container.querySelector(`text[data-name=${input.name}]`).innerHTML = data?.[input.name] || "";
|
65
|
+
});
|
66
|
+
}
|
83
67
|
}
|