hayun-vite 0.0.3 → 0.1.0

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.
Files changed (42) hide show
  1. package/assets/styles-test.css +90 -90
  2. package/assets/styles.css +90 -90
  3. package/data/formData1.js +42 -42
  4. package/data/officesObjStore.js +56 -56
  5. package/data/patientsObjStore.js +73 -73
  6. package/data/sampleData.js +94 -94
  7. package/index.js +11 -11
  8. package/package.json +1 -1
  9. package/src/Audiogram/Audiogram.js +194 -197
  10. package/src/Audiogram/dims.js +83 -83
  11. package/src/Form/Form.js +268 -276
  12. package/src/Form/Form_N.js +158 -158
  13. package/src/Form/Forms-Test.html +124 -124
  14. package/src/Form/Forms.js +121 -134
  15. package/src/Form/Header.js +91 -91
  16. package/src/Form/Reflex.js +141 -141
  17. package/src/Form/Sections.js +71 -71
  18. package/src/Form/Speech.js +132 -132
  19. package/src/Form/TextBox.js +66 -82
  20. package/src/Form/Tympanogram.js +355 -355
  21. package/src/Form/formStyles.css +122 -122
  22. package/src/Form/globalinfo.js +68 -68
  23. package/src/Form/grid/drawGrid.js +84 -84
  24. package/src/Form/grid/hideGrid.js +8 -8
  25. package/src/Form/printForm.js +122 -75
  26. package/src/Form/templates/combo.js +248 -248
  27. package/src/Form/templates/dims.js +204 -204
  28. package/src/Form/templates/rasaAud.js +287 -287
  29. package/src/Symbol/Symbols.js +29 -29
  30. package/src/Symbol/createSymbolSVG.js +240 -240
  31. package/src/Symbol/getAllSymbolsSVG.js +21 -21
  32. package/src/Symbol/insertSymbol.js +10 -10
  33. package/src/Symbol/symbolChart.js +47 -47
  34. package/src/common/putLine.js +16 -16
  35. package/src/common/putPoint.js +12 -12
  36. package/src/common/putRect.js +13 -13
  37. package/src/common/putText.js +17 -16
  38. package/src/common/putTopLayer.js +17 -17
  39. package/src/main.js +88 -87
  40. package/src/note.css +62 -0
  41. package/src/style.css +189 -156
  42. package/src/note.html +0 -1
@@ -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
  }
@@ -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('style', 'direction: rtl !important; user-select: none;')
28
-
29
- style = `
30
- font-family: Arial, Helvetica, sans-serif !important;
31
- font-family: vazirmatn;
32
- font-size: 0.8mm;
33
- font-weight: bold;
34
- text-anchor: start; /*تراز افقی*/
35
- /* dominant-baseline: middle; /* تراز عمودی*/
36
- `;
37
- // اگر مقدار استروک درست بود لیبل ها را چاپ کن
38
- if (!dims.hideContext) {
39
- dims.elements.forEach(element => {
40
- switch (element.type) {
41
- case 'text':
42
- ({ x, y, value } = element);
43
- putText({ container: svg, value, x, y, style: style });
44
- break;
45
- case 'line':
46
- let { x1, y1, x2, y2 } = element;
47
- putLine({ container: svg, x1, y1, x2, y2 });
48
- break;
49
- }
50
- });
51
- }
52
-
53
- style = `
54
- font-family: Arial, Helvetica, sans-serif;
55
- font-family: vazirmatn;
56
- font-size: 0.8mm;
57
- text-anchor: start; /*تراز افقی*/
58
- /* dominant-baseline: middle; /* تراز عمودی*/
59
- `;
60
- // محل اینپوت‌های دیتا
61
-
62
- let name;
63
- this.inputs.forEach(input => {
64
- ({ name, x, y } = input);
65
- putText({ container: svg, x, y, style: style, name });
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
  }