@hailin-zheng/editor-core 1.0.4 → 1.0.7
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/{dist → lib}/doc-ruler.d.ts +0 -0
- package/{dist → lib}/doc-ruler.js +0 -0
- package/{dist → lib}/doc-ruler.js.map +0 -0
- package/{dist → lib}/framework/common-util.d.ts +0 -0
- package/{dist → lib}/framework/common-util.js +0 -0
- package/{dist → lib}/framework/common-util.js.map +0 -0
- package/{dist → lib}/framework/document-change.d.ts +0 -0
- package/{dist → lib}/framework/document-change.js +0 -0
- package/{dist → lib}/framework/document-change.js.map +0 -0
- package/{dist → lib}/framework/document-combine.d.ts +0 -0
- package/{dist → lib}/framework/document-combine.js +0 -0
- package/{dist → lib}/framework/document-combine.js.map +0 -0
- package/{dist → lib}/framework/document-comment.d.ts +0 -0
- package/{dist → lib}/framework/document-comment.js +0 -0
- package/{dist → lib}/framework/document-comment.js.map +0 -0
- package/{dist → lib}/framework/document-context.d.ts +0 -0
- package/{dist → lib}/framework/document-context.js +0 -0
- package/{dist → lib}/framework/document-context.js.map +0 -0
- package/{dist → lib}/framework/document-eval-func.d.ts +0 -0
- package/{dist → lib}/framework/document-eval-func.js +0 -0
- package/{dist → lib}/framework/document-eval-func.js.map +0 -0
- package/{dist → lib}/framework/document-event.d.ts +0 -0
- package/{dist → lib}/framework/document-event.js +0 -0
- package/{dist → lib}/framework/document-event.js.map +0 -0
- package/{dist → lib}/framework/document-history.d.ts +0 -0
- package/{dist → lib}/framework/document-history.js +0 -0
- package/{dist → lib}/framework/document-history.js.map +0 -0
- package/{dist → lib}/framework/document-images-loader.d.ts +0 -0
- package/{dist → lib}/framework/document-images-loader.js +0 -0
- package/{dist → lib}/framework/document-images-loader.js.map +0 -0
- package/{dist → lib}/framework/document-input-cursor.d.ts +0 -0
- package/{dist → lib}/framework/document-input-cursor.js +0 -0
- package/{dist → lib}/framework/document-input-cursor.js.map +0 -0
- package/{dist → lib}/framework/document-paint.d.ts +0 -0
- package/{dist → lib}/framework/document-paint.js +0 -0
- package/{dist → lib}/framework/document-paint.js.map +0 -0
- package/{dist → lib}/framework/document-print-offscreen.d.ts +0 -0
- package/{dist → lib}/framework/document-print-offscreen.js +0 -0
- package/{dist → lib}/framework/document-print-offscreen.js.map +0 -0
- package/{dist → lib}/framework/document-print.d.ts +0 -0
- package/{dist → lib}/framework/document-print.js +0 -0
- package/{dist → lib}/framework/document-print.js.map +0 -0
- package/{dist → lib}/framework/document-segmenter.d.ts +0 -0
- package/{dist → lib}/framework/document-segmenter.js +0 -0
- package/{dist → lib}/framework/document-segmenter.js.map +0 -0
- package/{dist → lib}/framework/document-selection.d.ts +0 -0
- package/{dist → lib}/framework/document-selection.js +0 -0
- package/{dist → lib}/framework/document-selection.js.map +0 -0
- package/{dist → lib}/framework/document-template.d.ts +0 -0
- package/{dist → lib}/framework/document-template.js +0 -0
- package/{dist → lib}/framework/document-template.js.map +0 -0
- package/{dist → lib}/framework/document-textline-mode.d.ts +0 -0
- package/{dist → lib}/framework/document-textline-mode.js +0 -0
- package/{dist → lib}/framework/document-textline-mode.js.map +0 -0
- package/{dist → lib}/framework/element-define.d.ts +0 -0
- package/{dist → lib}/framework/element-define.js +0 -0
- package/{dist → lib}/framework/element-define.js.map +0 -0
- package/{dist → lib}/framework/element-event-define.d.ts +0 -0
- package/{dist → lib}/framework/element-event-define.js +0 -0
- package/{dist → lib}/framework/element-event-define.js.map +0 -0
- package/{dist → lib}/framework/element-measure.d.ts +0 -0
- package/{dist → lib}/framework/element-measure.js +0 -0
- package/{dist → lib}/framework/element-measure.js.map +0 -0
- package/{dist → lib}/framework/element-paint.d.ts +0 -0
- package/{dist → lib}/framework/element-paint.js +0 -0
- package/{dist → lib}/framework/element-paint.js.map +0 -0
- package/{dist → lib}/framework/element-props.d.ts +0 -0
- package/{dist → lib}/framework/element-props.js +0 -0
- package/{dist → lib}/framework/element-props.js.map +0 -0
- package/{dist → lib}/framework/element-reader.d.ts +0 -0
- package/{dist → lib}/framework/element-reader.js +0 -0
- package/{dist → lib}/framework/element-reader.js.map +0 -0
- package/{dist → lib}/framework/element-render-cut.d.ts +0 -0
- package/{dist → lib}/framework/element-render-cut.js +0 -0
- package/{dist → lib}/framework/element-render-cut.js.map +0 -0
- package/{dist → lib}/framework/element-serialize.d.ts +0 -0
- package/{dist → lib}/framework/element-serialize.js +0 -0
- package/{dist → lib}/framework/element-serialize.js.map +0 -0
- package/{dist → lib}/framework/element-util.d.ts +0 -0
- package/{dist → lib}/framework/element-util.js +0 -0
- package/{dist → lib}/framework/element-util.js.map +0 -0
- package/{dist → lib}/framework/impl/checkbox/checkbox-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/checkbox/checkbox-impl.js +0 -0
- package/{dist → lib}/framework/impl/checkbox/checkbox-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/comments/comment-content-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/comments/comment-content-impl.js +0 -0
- package/{dist → lib}/framework/impl/comments/comment-content-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/comments/comment-element-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/comments/comment-element-impl.js +0 -0
- package/{dist → lib}/framework/impl/comments/comment-element-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/comments/comments-container-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/comments/comments-container-impl.js +0 -0
- package/{dist → lib}/framework/impl/comments/comments-container-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/comments/comments-util.d.ts +0 -0
- package/{dist → lib}/framework/impl/comments/comments-util.js +0 -0
- package/{dist → lib}/framework/impl/comments/comments-util.js.map +0 -0
- package/{dist → lib}/framework/impl/comments/validate-msg-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/comments/validate-msg-impl.js +0 -0
- package/{dist → lib}/framework/impl/comments/validate-msg-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-decorate-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-decorate-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-decorate-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-barcode.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-barcode.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-barcode.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-base-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-base-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-base-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-check-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-check-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-check-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-date-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-date-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-date-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-group-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-group-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-group-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-image-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-image-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-image-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-list-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-list-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-list-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-text-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-text-impl.js +0 -0
- package/{dist → lib}/framework/impl/data-element/data-element-text-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.d.ts +0 -0
- package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.js +0 -0
- package/{dist → lib}/framework/impl/decorate/fill-null-space-imple.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-part-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-part-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-body-part-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-container-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-container-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-container-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-footer-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-footer-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-footer-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-header-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-header-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-header-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/document/doc-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/document/doc-impl.js +0 -0
- package/{dist → lib}/framework/impl/document/doc-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/media-formula/menstrual-history.d.ts +0 -0
- package/{dist → lib}/framework/impl/media-formula/menstrual-history.js +0 -0
- package/{dist → lib}/framework/impl/media-formula/menstrual-history.js.map +0 -0
- package/{dist → lib}/framework/impl/paragraph/p-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/paragraph/p-impl.js +0 -0
- package/{dist → lib}/framework/impl/paragraph/p-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/picture/image-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/picture/image-impl.js +0 -0
- package/{dist → lib}/framework/impl/picture/image-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/radio/radio-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/radio/radio-impl.js +0 -0
- package/{dist → lib}/framework/impl/radio/radio-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/symbol/br-symbol-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/symbol/br-symbol-impl.js +0 -0
- package/{dist → lib}/framework/impl/symbol/br-symbol-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/symbol/p-symbol-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/symbol/p-symbol-impl.js +0 -0
- package/{dist → lib}/framework/impl/symbol/p-symbol-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-cell-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-cell-impl.js +0 -0
- package/{dist → lib}/framework/impl/table/table-cell-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-impl.js +0 -0
- package/{dist → lib}/framework/impl/table/table-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-row-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-row-impl.js +0 -0
- package/{dist → lib}/framework/impl/table/table-row-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell-patch.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell-patch.js +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell-patch.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell.js +0 -0
- package/{dist → lib}/framework/impl/table/table-split-cell.js.map +0 -0
- package/{dist → lib}/framework/impl/table/table-util.d.ts +0 -0
- package/{dist → lib}/framework/impl/table/table-util.js +0 -0
- package/{dist → lib}/framework/impl/table/table-util.js.map +0 -0
- package/{dist → lib}/framework/impl/text/text-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/text/text-impl.js +0 -0
- package/{dist → lib}/framework/impl/text/text-impl.js.map +0 -0
- package/{dist → lib}/framework/impl/text/track-run-impl.d.ts +0 -0
- package/{dist → lib}/framework/impl/text/track-run-impl.js +0 -0
- package/{dist → lib}/framework/impl/text/track-run-impl.js.map +0 -0
- package/{dist → lib}/framework/notify.d.ts +0 -0
- package/{dist → lib}/framework/notify.js +0 -0
- package/{dist → lib}/framework/notify.js.map +0 -0
- package/{dist → lib}/framework/range-util.d.ts +0 -0
- package/{dist → lib}/framework/range-util.js +0 -0
- package/{dist → lib}/framework/range-util.js.map +0 -0
- package/{dist → lib}/framework/render-context.d.ts +0 -0
- package/{dist → lib}/framework/render-context.js +0 -0
- package/{dist → lib}/framework/render-context.js.map +0 -0
- package/{dist → lib}/framework/render-define.d.ts +0 -0
- package/{dist → lib}/framework/render-define.js +0 -0
- package/{dist → lib}/framework/render-define.js.map +0 -0
- package/{dist → lib}/framework/selection-overlays.d.ts +0 -0
- package/{dist → lib}/framework/selection-overlays.js +0 -0
- package/{dist → lib}/framework/selection-overlays.js.map +0 -0
- package/{dist → lib}/texteditor.d.ts +0 -0
- package/{dist → lib}/texteditor.js +0 -0
- package/{dist → lib}/texteditor.js.map +0 -0
- package/{dist → lib}/util/subject.d.ts +0 -0
- package/{dist → lib}/util/subject.js +0 -0
- package/{dist → lib}/util/subject.js.map +0 -0
- package/{dist → lib}/util/table-bind.d.ts +0 -0
- package/{dist → lib}/util/table-bind.js +0 -0
- package/{dist → lib}/util/table-bind.js.map +0 -0
- package/package.json +7 -2
- package/src/med_editor/doc-ruler.ts +0 -340
- package/src/med_editor/framework/common-util.ts +0 -200
- package/src/med_editor/framework/document-change.ts +0 -1392
- package/src/med_editor/framework/document-combine.ts +0 -44
- package/src/med_editor/framework/document-comment.ts +0 -168
- package/src/med_editor/framework/document-context.ts +0 -410
- package/src/med_editor/framework/document-eval-func.ts +0 -53
- package/src/med_editor/framework/document-event.ts +0 -1082
- package/src/med_editor/framework/document-history.ts +0 -76
- package/src/med_editor/framework/document-images-loader.ts +0 -74
- package/src/med_editor/framework/document-input-cursor.ts +0 -244
- package/src/med_editor/framework/document-paint.ts +0 -110
- package/src/med_editor/framework/document-print-offscreen.ts +0 -134
- package/src/med_editor/framework/document-print.ts +0 -219
- package/src/med_editor/framework/document-segmenter.ts +0 -211
- package/src/med_editor/framework/document-selection.ts +0 -391
- package/src/med_editor/framework/document-template.ts +0 -20
- package/src/med_editor/framework/document-textline-mode.ts +0 -34
- package/src/med_editor/framework/element-define.ts +0 -674
- package/src/med_editor/framework/element-event-define.ts +0 -142
- package/src/med_editor/framework/element-measure.ts +0 -573
- package/src/med_editor/framework/element-paint.ts +0 -176
- package/src/med_editor/framework/element-props.ts +0 -938
- package/src/med_editor/framework/element-reader.ts +0 -159
- package/src/med_editor/framework/element-render-cut.ts +0 -456
- package/src/med_editor/framework/element-serialize.ts +0 -128
- package/src/med_editor/framework/element-util.ts +0 -1565
- package/src/med_editor/framework/impl/checkbox/checkbox-impl.ts +0 -71
- package/src/med_editor/framework/impl/comments/comment-content-impl.ts +0 -119
- package/src/med_editor/framework/impl/comments/comment-element-impl.ts +0 -65
- package/src/med_editor/framework/impl/comments/comments-container-impl.ts +0 -68
- package/src/med_editor/framework/impl/comments/comments-util.ts +0 -84
- package/src/med_editor/framework/impl/comments/validate-msg-impl.ts +0 -94
- package/src/med_editor/framework/impl/data-element/data-decorate-impl.ts +0 -95
- package/src/med_editor/framework/impl/data-element/data-element-barcode.ts +0 -127
- package/src/med_editor/framework/impl/data-element/data-element-base-impl.ts +0 -234
- package/src/med_editor/framework/impl/data-element/data-element-check-impl.ts +0 -146
- package/src/med_editor/framework/impl/data-element/data-element-date-impl.ts +0 -128
- package/src/med_editor/framework/impl/data-element/data-element-group-impl.ts +0 -150
- package/src/med_editor/framework/impl/data-element/data-element-image-impl.ts +0 -147
- package/src/med_editor/framework/impl/data-element/data-element-list-impl.ts +0 -142
- package/src/med_editor/framework/impl/data-element/data-element-text-impl.ts +0 -117
- package/src/med_editor/framework/impl/decorate/fill-null-space-imple.ts +0 -48
- package/src/med_editor/framework/impl/document/doc-body-impl.ts +0 -95
- package/src/med_editor/framework/impl/document/doc-body-part-impl.ts +0 -104
- package/src/med_editor/framework/impl/document/doc-container-impl.ts +0 -24
- package/src/med_editor/framework/impl/document/doc-footer-impl.ts +0 -88
- package/src/med_editor/framework/impl/document/doc-header-impl.ts +0 -100
- package/src/med_editor/framework/impl/document/doc-impl.ts +0 -226
- package/src/med_editor/framework/impl/media-formula/menstrual-history.ts +0 -175
- package/src/med_editor/framework/impl/paragraph/p-impl.ts +0 -190
- package/src/med_editor/framework/impl/picture/image-impl.ts +0 -136
- package/src/med_editor/framework/impl/radio/radio-impl.ts +0 -79
- package/src/med_editor/framework/impl/symbol/br-symbol-impl.ts +0 -60
- package/src/med_editor/framework/impl/symbol/p-symbol-impl.ts +0 -57
- package/src/med_editor/framework/impl/table/table-cell-impl.ts +0 -156
- package/src/med_editor/framework/impl/table/table-impl.ts +0 -401
- package/src/med_editor/framework/impl/table/table-row-impl.ts +0 -83
- package/src/med_editor/framework/impl/table/table-split-cell-patch.ts +0 -98
- package/src/med_editor/framework/impl/table/table-split-cell.ts +0 -475
- package/src/med_editor/framework/impl/table/table-util.ts +0 -716
- package/src/med_editor/framework/impl/text/text-impl.ts +0 -164
- package/src/med_editor/framework/impl/text/track-run-impl.ts +0 -135
- package/src/med_editor/framework/notify.ts +0 -130
- package/src/med_editor/framework/range-util.ts +0 -321
- package/src/med_editor/framework/render-context.ts +0 -431
- package/src/med_editor/framework/render-define.ts +0 -224
- package/src/med_editor/framework/selection-overlays.ts +0 -134
- package/src/med_editor/texteditor.ts +0 -1011
- package/src/med_editor/util/subject.ts +0 -118
- package/src/med_editor/util/table-bind.ts +0 -6
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225.json +0 -3573
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225bug.json +0 -315
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/211/271/346/263/250.json +0 -122
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/346/226/207/346/241/243/351/252/214/350/257/201.json +0 -3599
- package/src/med_editor//345/205/245/351/231/242/350/256/260/345/275/225/346/265/213/350/257/225/351/225/277/346/226/207/346/234/254.json +0 -24586
- package/src/med_editor//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225.json +0 -2874
- package/src/med_editor//346/211/213/346/234/257/350/256/260/345/275/225.json +0 -341
- package/src/med_editor//346/231/256/351/200/232doc/347/261/273/346/226/207/346/241/243.json +0 -2201
- package/src/med_editor//346/243/200/351/252/214/347/224/263/350/257/267/345/215/225.json +0 -1069
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/206/205/351/225/234/344/270/213/346/262/273/347/226/227/350/256/260/345/275/225.json +0 -125
- package/src/med_editor//347/227/205/347/250/213/345/275/225//345/220/210/345/271/266/347/227/205/347/250/213/345/275/225/346/250/241/346/235/277.json +0 -86
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/227/245/345/270/270/347/227/205/347/250/213/350/256/260/345/275/225.json +0 -115
- package/src/med_editor//347/227/205/347/250/213/345/275/225//346/237/245/346/210/277/350/256/260/345/275/2251.json +0 -108
- package/src/med_editor//347/227/205/347/250/213/345/275/225//351/246/226/346/254/241/344/270/212/347/272/247/345/214/273/345/270/210/346/237/245/346/210/277/350/256/260/345/275/225.json +0 -272
- package/src/med_editor//351/225/277/346/234/237/345/214/273/345/230/261/345/215/225.json +0 -1070
- package/webpack.config.js +0 -46
@@ -1,127 +0,0 @@
|
|
1
|
-
import { Element, ElementFactory, Position, readElementProps, ResizeLeafRenderObject, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
|
2
|
-
import { DataElementBarcodeProps } from "@/med_editor/framework/element-props";
|
3
|
-
import { ElementUtil } from "@/med_editor/framework/element-util";
|
4
|
-
import { RenderContenxtType } from "@/med_editor/framework/render-context";
|
5
|
-
import { LeafRenderObject, RenderObject } from "@/med_editor/framework/render-define";
|
6
|
-
import { DataElementLeaf } from "./data-element-base-impl";
|
7
|
-
import bwipjs from "bwip-js";
|
8
|
-
import { watchChanged } from "../../notify";
|
9
|
-
|
10
|
-
|
11
|
-
export class DataElementBarcode extends DataElementLeaf<DataElementBarcodeProps> {
|
12
|
-
resizeable: boolean = true;
|
13
|
-
private barCodeCanvas!: HTMLCanvasElement | null;
|
14
|
-
private cache = false;
|
15
|
-
constructor() {
|
16
|
-
super('data-ele-barcode');
|
17
|
-
this.props = new DataElementBarcodeProps();
|
18
|
-
this.props.width = 100;
|
19
|
-
this.props.height = 30;
|
20
|
-
this.focusable = true;
|
21
|
-
watchChanged(this.props, () => {
|
22
|
-
this.cache = false;
|
23
|
-
});
|
24
|
-
}
|
25
|
-
createRenderObject(): LeafRenderObject {
|
26
|
-
const render = new DataElementBarcodeRenderObject(this);
|
27
|
-
render.rect.width = this.props.width + 2;
|
28
|
-
render.rect.height = this.props.height + 2;
|
29
|
-
return render;
|
30
|
-
}
|
31
|
-
serialize(options: ViewOptions): SerializeProps {
|
32
|
-
return {
|
33
|
-
type: this.type,
|
34
|
-
props: {
|
35
|
-
...this.props.getSerializeProps()
|
36
|
-
}
|
37
|
-
}
|
38
|
-
}
|
39
|
-
clone(data: boolean): Element {
|
40
|
-
const clone = new DataElementBarcode();
|
41
|
-
this.props.clone(clone.props);
|
42
|
-
return clone;
|
43
|
-
}
|
44
|
-
|
45
|
-
setValue(val: string): void {
|
46
|
-
this.props.text = val;
|
47
|
-
}
|
48
|
-
|
49
|
-
getValue(): string {
|
50
|
-
return this.props.text;
|
51
|
-
}
|
52
|
-
|
53
|
-
drawBarcode(renderCtx: RenderContenxtType, pos: Position): void {
|
54
|
-
this.createBarcodeCache();
|
55
|
-
renderCtx.contentContext.ctx.drawImage(this.barCodeCanvas as HTMLCanvasElement, pos.x, pos.y, this.props.width, this.props.height);
|
56
|
-
}
|
57
|
-
|
58
|
-
createBarcodeCache(): void {
|
59
|
-
if (this.cache) {
|
60
|
-
return;
|
61
|
-
}
|
62
|
-
this.cache = true;
|
63
|
-
if (!this.barCodeCanvas) {
|
64
|
-
this.barCodeCanvas = document.createElement('canvas');
|
65
|
-
}
|
66
|
-
this.barCodeCanvas = bwipjs.toCanvas(this.barCodeCanvas, {
|
67
|
-
bcid: this.props.type, // Barcode type
|
68
|
-
text: this.props.text || "0123456789", // Text to encode
|
69
|
-
height: 10, // Bar height, in millimeters
|
70
|
-
includetext: true, // Show human-readable text
|
71
|
-
textxalign: "center", // Always good to set this
|
72
|
-
});
|
73
|
-
}
|
74
|
-
}
|
75
|
-
|
76
|
-
export class DataElementBarcodeRenderObject extends ResizeLeafRenderObject {
|
77
|
-
render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
78
|
-
const barcodeEle = this.element as DataElementBarcode;
|
79
|
-
barcodeEle.drawBarcode(ctx, position);
|
80
|
-
}
|
81
|
-
clone(): RenderObject {
|
82
|
-
const clone = new DataElementBarcodeRenderObject(this.element);
|
83
|
-
clone.rect = ElementUtil.cloneRect(this.rect);
|
84
|
-
return clone;
|
85
|
-
}
|
86
|
-
|
87
|
-
pagePaintCompleted(ctx: RenderContenxtType, pos: Position): void {
|
88
|
-
if (this.element.isFocused) {
|
89
|
-
const { width, height } = this.rect;
|
90
|
-
ctx.contentContext.strokeRect(pos.x, pos.y, this.rect.width, this.rect.height, '#1890ff', 0.5);
|
91
|
-
this.drawResizeCircle(ctx, pos.x, pos.y);
|
92
|
-
this.drawResizeCircle(ctx, pos.x + width, pos.y);
|
93
|
-
this.drawResizeCircle(ctx, pos.x, pos.y + height);
|
94
|
-
this.drawResizeCircle(ctx, pos.x + width, pos.y + height);
|
95
|
-
this.drawResizeCircle(ctx, pos.x + (Math.floor(width / 2)), pos.y);
|
96
|
-
this.drawResizeCircle(ctx, pos.x + (Math.floor(width / 2)), pos.y + height);
|
97
|
-
this.drawResizeCircle(ctx, pos.x, pos.y + (Math.floor(height / 2)));
|
98
|
-
this.drawResizeCircle(ctx, pos.x + width, pos.y + (Math.floor(height / 2)));
|
99
|
-
}
|
100
|
-
}
|
101
|
-
|
102
|
-
private drawResizeCircle(ctx: RenderContenxtType, x: number, y: number): void {
|
103
|
-
const ctxNative = ctx.contentContext.ctx;
|
104
|
-
ctxNative.save();
|
105
|
-
ctxNative.fillStyle = '#69c0ff';
|
106
|
-
ctxNative.beginPath();
|
107
|
-
ctxNative.arc(x, y, Math.floor(4 / 5 * 4), 0, 2 * Math.PI);
|
108
|
-
ctxNative.closePath();
|
109
|
-
ctxNative.fill();
|
110
|
-
ctxNative.restore();
|
111
|
-
}
|
112
|
-
}
|
113
|
-
|
114
|
-
|
115
|
-
export class DataElementBarcodeFactory extends ElementFactory<DataElementBarcodeProps> {
|
116
|
-
match(type: string): boolean {
|
117
|
-
return type === 'data-ele-barcode';
|
118
|
-
}
|
119
|
-
createElement(data: readElementProps<DataElementBarcodeProps>, renderCtx: RenderContenxtType): Element {
|
120
|
-
const ele = new DataElementBarcode();
|
121
|
-
ele.props.width = data.props?.width || 100;
|
122
|
-
ele.props.height = data.props?.height || 30;
|
123
|
-
ele.props.type = data.props?.type || 'code128';
|
124
|
-
ele.props.text = data.props?.text || '';
|
125
|
-
return ele;
|
126
|
-
}
|
127
|
-
}
|
@@ -1,234 +0,0 @@
|
|
1
|
-
import { DocMode, Element, InlineGroupElement, LeafElement } from "@/med_editor/framework/element-define";
|
2
|
-
import { InlineGroupRenderObject, RenderObject } from "@/med_editor/framework/render-define";
|
3
|
-
import { ContextMenuElementEvent, GotCursorEvent, KeyboradElementEvent } from "../../element-event-define";
|
4
|
-
import { DataEleBaseProps, TextProps } from "../../element-props";
|
5
|
-
import { DataDecorateElement } from "./data-decorate-impl";
|
6
|
-
import { RenderContenxtType } from "@/med_editor/framework/render-context";
|
7
|
-
import { ElementUtil } from "../../element-util";
|
8
|
-
|
9
|
-
/**
|
10
|
-
* 所有的数据元继承上述两个抽象类
|
11
|
-
*/
|
12
|
-
export abstract class DataElementLeaf<P extends object = any> extends LeafElement<P> {
|
13
|
-
abstract setValue(val: any): void;
|
14
|
-
abstract getValue(): any;
|
15
|
-
}
|
16
|
-
|
17
|
-
/**
|
18
|
-
* 可供输入的内联块
|
19
|
-
* 使用场景:数据元,数据组
|
20
|
-
*/
|
21
|
-
export abstract class InlineGroupInputElement<P extends object = any> extends InlineGroupElement<P>{
|
22
|
-
startDecorate!: DataDecorateElement;
|
23
|
-
endDecorate!: DataDecorateElement;
|
24
|
-
constructor(type: string) {
|
25
|
-
super(type);
|
26
|
-
//行内块不允许换行
|
27
|
-
this.addEvent<KeyboradElementEvent>('ElementKeyDown', (evt) => {
|
28
|
-
const { selectionState, sourceEvent, source } = evt;
|
29
|
-
const { startControl, startOffset } = selectionState;
|
30
|
-
if (IsInSideDataElement(startControl as LeafElement, startOffset)) {
|
31
|
-
if (sourceEvent.shiftKey && sourceEvent.keyCode === 13) {
|
32
|
-
//this.removeNullText();
|
33
|
-
} else if (!sourceEvent.shiftKey && sourceEvent.keyCode === 13) {
|
34
|
-
evt.isCancel = true;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
}, true);
|
38
|
-
|
39
|
-
this.addEvent('GotCursor', (evt) => {
|
40
|
-
const { startControl, startOffset } = evt.selectionState;
|
41
|
-
if (IsInSideDataElement(startControl, startOffset)) {
|
42
|
-
this.isFocused = true;
|
43
|
-
}
|
44
|
-
});
|
45
|
-
this.addEvent('LostCursor', (evt) => { this.isFocused = false; });
|
46
|
-
}
|
47
|
-
|
48
|
-
fillDecorate(): void {
|
49
|
-
if (!this.startDecorate) {
|
50
|
-
const { startDecorate, endDecorate } = this.createDataDecorate();
|
51
|
-
this.addChild(startDecorate, 0);
|
52
|
-
this.addChild(endDecorate);
|
53
|
-
this.startDecorate = startDecorate;
|
54
|
-
this.endDecorate = endDecorate;
|
55
|
-
}
|
56
|
-
}
|
57
|
-
|
58
|
-
createDataDecorate(): { startDecorate: DataDecorateElement, endDecorate: DataDecorateElement } {
|
59
|
-
const startDecorate = new DataDecorateElement(this, true);
|
60
|
-
const endDecorate = new DataDecorateElement(this, false);
|
61
|
-
return {
|
62
|
-
startDecorate,
|
63
|
-
endDecorate
|
64
|
-
}
|
65
|
-
}
|
66
|
-
|
67
|
-
beginMeasure(): void {
|
68
|
-
this.fillDecorate();
|
69
|
-
super.beginMeasure();
|
70
|
-
}
|
71
|
-
|
72
|
-
addChild(child: Element<any>, index: number = -1): void {
|
73
|
-
index = index === -1 ? this.length : index;
|
74
|
-
index = index > this.length ? this.length : index;
|
75
|
-
if (index === 0 && this.startDecorate) {
|
76
|
-
this.parent?.addChild(child, this.getIndex());
|
77
|
-
return;
|
78
|
-
}
|
79
|
-
if (index === this.length && this.endDecorate) {
|
80
|
-
this.parent?.addChild(child, this.getIndex() + 1);
|
81
|
-
return;
|
82
|
-
}
|
83
|
-
super.addChild(child, index);
|
84
|
-
}
|
85
|
-
|
86
|
-
clearInnerItems(): void {
|
87
|
-
const removeItems: Array<Element> = [];
|
88
|
-
for (let i = this.length - 1; i >= 0; i--) {
|
89
|
-
const child = this.getChild(i);
|
90
|
-
if (child !== this.startDecorate && child !== this.endDecorate) {
|
91
|
-
removeItems.push(child);
|
92
|
-
}
|
93
|
-
}
|
94
|
-
removeItems.forEach(item => this.removeChild(item));
|
95
|
-
}
|
96
|
-
}
|
97
|
-
|
98
|
-
export abstract class DataElementInlineGroup<P extends DataEleBaseProps = DataEleBaseProps & { valueTextProps: TextProps }> extends InlineGroupInputElement<P> {
|
99
|
-
constructor(type: string) {
|
100
|
-
super(type);
|
101
|
-
this.addEvent('ElementMousemove', (evt) => {
|
102
|
-
this.isMouseenter = true;
|
103
|
-
this.refreshView();
|
104
|
-
});
|
105
|
-
this.addEvent('ElementMouseLeave', (evt) => {
|
106
|
-
this.isMouseenter = false;
|
107
|
-
this.refreshView()
|
108
|
-
});
|
109
|
-
this.addEvent<GotCursorEvent>('GotCursor', (evt) => { this.onGotCursorEvent(evt) });
|
110
|
-
this.addEvent<ContextMenuElementEvent>('ElementContextMenu', (evt) => {
|
111
|
-
evt.menus.push({
|
112
|
-
icon: 'Settings', caption: '内容控制设置', eventObj: {}
|
113
|
-
});
|
114
|
-
}, true);
|
115
|
-
}
|
116
|
-
|
117
|
-
onGotCursorEvent(evt: GotCursorEvent): void {
|
118
|
-
const { source, selectionState } = evt;
|
119
|
-
if (evt.ctx.viewOptions.docMode === DocMode.FormEdit) {
|
120
|
-
//当前数据元不可编辑
|
121
|
-
if (selectionState.editable && !this.props.editable) {
|
122
|
-
const { startControl, startOffset } = selectionState;
|
123
|
-
if (startControl === this.startDecorate && startOffset === 0 || startControl === this.endDecorate && startOffset === 1) {
|
124
|
-
return;
|
125
|
-
}
|
126
|
-
selectionState.editable = false;
|
127
|
-
const range = selectionState.range?.clone();
|
128
|
-
if (range) {
|
129
|
-
range.editable = false;
|
130
|
-
selectionState.addRange(range);
|
131
|
-
}
|
132
|
-
return
|
133
|
-
}
|
134
|
-
}
|
135
|
-
|
136
|
-
if (source === this.endDecorate && selectionState.startOffset === 0 && this.length === 2) {
|
137
|
-
evt.isCancel = true;
|
138
|
-
selectionState.resetRange(this.startDecorate, 1);
|
139
|
-
}
|
140
|
-
}
|
141
|
-
|
142
|
-
abstract setValue(val: any): void;
|
143
|
-
abstract getValue(): string;
|
144
|
-
|
145
|
-
/**
|
146
|
-
* 验证数据元的值是否合法
|
147
|
-
* @returns
|
148
|
-
*/
|
149
|
-
validate(): string {
|
150
|
-
if (this.props.required && this.props.editable && !this.getValue()) {
|
151
|
-
return '该字段不能为空';
|
152
|
-
}
|
153
|
-
return '';
|
154
|
-
}
|
155
|
-
|
156
|
-
}
|
157
|
-
|
158
|
-
export abstract class DataElementRenderObject<T extends DataElementInlineGroup = DataElementInlineGroup> extends InlineGroupRenderObject<T> {
|
159
|
-
beginRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
160
|
-
ctx.contentContext.save();
|
161
|
-
//绘制数据元区域底色
|
162
|
-
if (this.element.isMouseenter) {
|
163
|
-
const overlayColor = this.element.props.editable ? ctx.viewOptions.dataEleOverlaysColor : ctx.viewOptions.dataEleReadOnlyOverlayColor;
|
164
|
-
ctx.overlaysContext.fillRect(position.x, position.y - 2, this.rect.width, this.rect.height + 4, overlayColor);
|
165
|
-
}
|
166
|
-
if (this.element.props.secretBrowse && ctx.viewOptions.secretBrowse) {
|
167
|
-
ctx.contentContext.ctx.filter = "blur(10px)"
|
168
|
-
}
|
169
|
-
if (this.element.props.underline) {
|
170
|
-
const y = position.y + 2 + this.rect.height;
|
171
|
-
ctx.contentContext.strokeLines([{ x: position.x, y }, { x: position.x + this.rect.width, y }], 1, '#595959')
|
172
|
-
}
|
173
|
-
}
|
174
|
-
|
175
|
-
endRender(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
176
|
-
ctx.contentContext.restore();
|
177
|
-
if (!this.element.props.printable && ctx.drawMode === 'print') {
|
178
|
-
ctx.contentContext.clearRect(position.x, position.y, this.rect.width, this.rect.height);
|
179
|
-
}
|
180
|
-
}
|
181
|
-
}
|
182
|
-
|
183
|
-
|
184
|
-
export const validateDataEle = (ele: Element) => {
|
185
|
-
return ele instanceof DataElementLeaf || ele instanceof DataElementInlineGroup;
|
186
|
-
};
|
187
|
-
|
188
|
-
export const validateDataEleRenderObj = (renderObj: RenderObject) => {
|
189
|
-
if (renderObj.element) {
|
190
|
-
return validateDataEle(renderObj.element);
|
191
|
-
}
|
192
|
-
return false;
|
193
|
-
};
|
194
|
-
|
195
|
-
export const validateInlineInputRenderObj = (renderObj: RenderObject) => {
|
196
|
-
if (renderObj.element) {
|
197
|
-
return renderObj.element instanceof InlineGroupInputElement;
|
198
|
-
}
|
199
|
-
return false;
|
200
|
-
};
|
201
|
-
|
202
|
-
/**
|
203
|
-
* 是否在数据元内部
|
204
|
-
* @param control
|
205
|
-
* @param offset
|
206
|
-
*/
|
207
|
-
export function IsInSideDataElement(control: LeafElement, offset: number): boolean {
|
208
|
-
const mathEle = ElementUtil.getParent(control, (item) => item instanceof DataElementInlineGroup) as DataElementInlineGroup;
|
209
|
-
if (mathEle) {
|
210
|
-
if ((control === mathEle.startDecorate && offset === 0) || (control === mathEle.endDecorate && offset === 1)) {
|
211
|
-
return false;
|
212
|
-
}
|
213
|
-
return true;
|
214
|
-
}
|
215
|
-
return false;
|
216
|
-
}
|
217
|
-
|
218
|
-
|
219
|
-
/**
|
220
|
-
* 是否在内联块内部
|
221
|
-
* @param control
|
222
|
-
* @param offset
|
223
|
-
*/
|
224
|
-
export function IsInSideInlineGroupInputElement(control: LeafElement, offset: number): boolean {
|
225
|
-
const mathEle = ElementUtil.getParent(control, (item) => item instanceof InlineGroupInputElement) as InlineGroupInputElement;
|
226
|
-
if (mathEle) {
|
227
|
-
if ((control === mathEle.startDecorate && offset === 0) || (control === mathEle.endDecorate && offset === 1)) {
|
228
|
-
return false;
|
229
|
-
}
|
230
|
-
return true;
|
231
|
-
}
|
232
|
-
return false;
|
233
|
-
}
|
234
|
-
|
@@ -1,146 +0,0 @@
|
|
1
|
-
import { DocMode, Element, ElementFactory, LeafElement, readElementProps, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
|
2
|
-
import { ContextMenuElementEvent, ElementEvent } from "@/med_editor/framework/element-event-define";
|
3
|
-
import { DataEleCheckProps } from "@/med_editor/framework/element-props";
|
4
|
-
import { ElementUtil } from "@/med_editor/framework/element-util";
|
5
|
-
import { RenderContenxtType } from "@/med_editor/framework/render-context";
|
6
|
-
import { LeafRenderObject, RenderObject } from "@/med_editor/framework/render-define";
|
7
|
-
import { DataElementLeaf } from "./data-element-base-impl";
|
8
|
-
|
9
|
-
export class DataElementCheck extends DataElementLeaf<DataEleCheckProps> {
|
10
|
-
//props: DataEleCheckProps;
|
11
|
-
constructor() {
|
12
|
-
super('data-ele-check');
|
13
|
-
this.cursorType = 'default'
|
14
|
-
this.props = new DataEleCheckProps();
|
15
|
-
this.addEvent<ContextMenuElementEvent>('ElementContextMenu', (evt) => {
|
16
|
-
evt.menus.push({
|
17
|
-
icon: 'Settings', caption: '内容控制设置', eventObj: {}
|
18
|
-
});
|
19
|
-
});
|
20
|
-
this.addEvent('ElementClick', (evt) => { this.onClickHandler(evt) });
|
21
|
-
}
|
22
|
-
|
23
|
-
createRenderObject(): RenderObject {
|
24
|
-
const render = new DataElementCheckRenderObject(this);
|
25
|
-
render.rect.width = this.props.size + 4;
|
26
|
-
render.rect.height = this.props.size;
|
27
|
-
return render;
|
28
|
-
}
|
29
|
-
|
30
|
-
onClickHandler(evt: ElementEvent): void {
|
31
|
-
if (!this.props.editable && evt.ctx.viewOptions.docMode === DocMode.FormEdit) {
|
32
|
-
return;
|
33
|
-
}
|
34
|
-
//如果当前是单选框并且当前已经被选中,则不作处理
|
35
|
-
if (this.props.groupName && !this.props.multiSelect && this.props.checked) {
|
36
|
-
return;
|
37
|
-
}
|
38
|
-
this.props.checked = !this.props.checked;
|
39
|
-
const docCtx = evt.ctx;
|
40
|
-
//复选框存在组时,并且为单选模式时
|
41
|
-
if (this.props.groupName && !this.props.multiSelect) {
|
42
|
-
const ckbs = docCtx.getCurrentCtx(this).getCheckBoxList(this.props.groupName);
|
43
|
-
ckbs.forEach(item => { if (item !== this) { item.setValue(!this.props.checked) } });
|
44
|
-
}
|
45
|
-
}
|
46
|
-
|
47
|
-
serialize(viewOptions: ViewOptions): SerializeProps {
|
48
|
-
return {
|
49
|
-
type: this.type,
|
50
|
-
props: {
|
51
|
-
...this.props.getSerializeProps(viewOptions)
|
52
|
-
}
|
53
|
-
}
|
54
|
-
}
|
55
|
-
|
56
|
-
clone(data: boolean): DataElementCheck {
|
57
|
-
const clone = new DataElementCheck();
|
58
|
-
this.props.clone(clone.props);
|
59
|
-
return clone;
|
60
|
-
}
|
61
|
-
|
62
|
-
setValue(val: any): void {
|
63
|
-
if (typeof val === 'boolean') {
|
64
|
-
this.props.checked = val;
|
65
|
-
} else {
|
66
|
-
const trueValue = val === 'true';
|
67
|
-
this.props.checked = trueValue;
|
68
|
-
}
|
69
|
-
}
|
70
|
-
|
71
|
-
getValue(): any {
|
72
|
-
if (this.props.checked) {
|
73
|
-
return this.props.checkedValue;
|
74
|
-
} else {
|
75
|
-
return '';
|
76
|
-
}
|
77
|
-
}
|
78
|
-
}
|
79
|
-
|
80
|
-
|
81
|
-
export class DataElementCheckRenderObject extends LeafRenderObject {
|
82
|
-
constructor(element: Element) {
|
83
|
-
super(element);
|
84
|
-
}
|
85
|
-
|
86
|
-
clone(): RenderObject {
|
87
|
-
const cloneRender = new DataElementCheckRenderObject(this.element);
|
88
|
-
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
89
|
-
return cloneRender;
|
90
|
-
}
|
91
|
-
|
92
|
-
render(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
93
|
-
const element = this.element as DataElementCheck;
|
94
|
-
if (this.element.props.multiSelect) {
|
95
|
-
ctx.contentContext.drawCheckBox(position.x + 2, position.y, element.props.size, element.props.size, element.props.checked);
|
96
|
-
}
|
97
|
-
else {
|
98
|
-
ctx.contentContext.drawRadioBox(position.x + 2, position.y, element.props.size, element.props.size, element.props.checked);
|
99
|
-
}
|
100
|
-
if (ctx.drawMode === 'view') {
|
101
|
-
//this.renderCkbDecoreate(ctx, position);
|
102
|
-
}
|
103
|
-
}
|
104
|
-
|
105
|
-
/**
|
106
|
-
* 绘制复选框装饰符号
|
107
|
-
*/
|
108
|
-
renderCkbDecoreate(ctx: RenderContenxtType, position: { x: number; y: number; }): void {
|
109
|
-
let { x, y } = position;
|
110
|
-
const { width, height } = this.rect;
|
111
|
-
const lineWidth = 5;
|
112
|
-
const paintColor = '#0050b3';
|
113
|
-
ctx.contentContext.strokeLines([{ x: x + lineWidth, y }, { x, y }, { x, y: y + height }, { x: x + lineWidth, y: y + height }], 1, paintColor);
|
114
|
-
x += width;
|
115
|
-
ctx.contentContext.strokeLines([{ x: x - lineWidth, y }, { x, y }, { x, y: y + height }, { x: x - lineWidth, y: y + height }], 1, paintColor);
|
116
|
-
}
|
117
|
-
|
118
|
-
}
|
119
|
-
|
120
|
-
export class DataElementCheckFactory extends ElementFactory<DataEleCheckProps> {
|
121
|
-
match(type: string): boolean {
|
122
|
-
return type === "data-ele-check"
|
123
|
-
}
|
124
|
-
createElement(data: readElementProps<DataEleCheckProps>, renderCtx: RenderContenxtType): Element {
|
125
|
-
const props = data.props as DataEleCheckProps;
|
126
|
-
const ele = new DataElementCheck();
|
127
|
-
this.createDataEleProps(ele.props, props);
|
128
|
-
return ele;
|
129
|
-
}
|
130
|
-
|
131
|
-
createDataEleProps(dest: DataEleCheckProps, props: DataEleCheckProps): DataEleCheckProps {
|
132
|
-
const dataEleProps: DataEleCheckProps = dest;
|
133
|
-
ElementUtil.readEleBaseProps(dataEleProps, props);
|
134
|
-
//dataEleProps.id = props.id ?? nanoid(5);
|
135
|
-
//dataEleProps.name = props.name;
|
136
|
-
//dataEleProps.caption = props.caption;
|
137
|
-
//dataEleProps.type = props.type;
|
138
|
-
dataEleProps.checked = props.checked;
|
139
|
-
dataEleProps.size = props.size;
|
140
|
-
dataEleProps.groupName = props.groupName;
|
141
|
-
dataEleProps.multiSelect = props.multiSelect ?? false;
|
142
|
-
dataEleProps.checkedValue = props.checkedValue;
|
143
|
-
return dataEleProps;
|
144
|
-
}
|
145
|
-
|
146
|
-
}
|
@@ -1,128 +0,0 @@
|
|
1
|
-
import { Element, ElementFactory, SerializeProps, ViewOptions } from "@/med_editor/framework/element-define";
|
2
|
-
import { DataEleDateProps } from "@/med_editor/framework/element-props";
|
3
|
-
import { ElementUtil } from "@/med_editor/framework/element-util";
|
4
|
-
import { RenderContenxtType } from "@/med_editor/framework/render-context";
|
5
|
-
import { RenderObject } from "@/med_editor/framework/render-define";
|
6
|
-
import { ElementSerialize } from "../../element-serialize";
|
7
|
-
import { TextGroupElement } from "../text/text-impl";
|
8
|
-
import { DataElementInlineGroup, DataElementRenderObject } from "./data-element-base-impl";
|
9
|
-
import moment from 'moment'
|
10
|
-
|
11
|
-
export class DataElementDate extends DataElementInlineGroup<DataEleDateProps> {
|
12
|
-
constructor() {
|
13
|
-
super('data-ele-date');
|
14
|
-
this.props = new DataEleDateProps();
|
15
|
-
}
|
16
|
-
|
17
|
-
createRenderObject(): RenderObject {
|
18
|
-
return new DataElementDateRenderObject(this);
|
19
|
-
}
|
20
|
-
|
21
|
-
serialize(viewOptions: ViewOptions): SerializeProps & any {
|
22
|
-
return {
|
23
|
-
type: this.type,
|
24
|
-
props: {
|
25
|
-
...this.props.getSerializeProps(viewOptions)
|
26
|
-
}
|
27
|
-
}
|
28
|
-
}
|
29
|
-
|
30
|
-
clone(data: boolean): DataElementDate {
|
31
|
-
const clone = new DataElementDate();
|
32
|
-
this.props.clone(clone.props);
|
33
|
-
if (data) {
|
34
|
-
const length = this.length;
|
35
|
-
for (let i = 0; i < length; i++) {
|
36
|
-
const child = this.getChild(i);
|
37
|
-
if (child !== this.startDecorate && child !== this.endDecorate) {
|
38
|
-
clone.addChild(child.clone(true));
|
39
|
-
}
|
40
|
-
}
|
41
|
-
}
|
42
|
-
return clone;
|
43
|
-
}
|
44
|
-
|
45
|
-
|
46
|
-
setValue(val: Date | string): void {
|
47
|
-
const format = this.props.format ?? 'YYYY-MM-DD';
|
48
|
-
const date = moment(val, format);
|
49
|
-
if (!date.isValid()) {
|
50
|
-
return;
|
51
|
-
}
|
52
|
-
const formatStr = date.format(format);
|
53
|
-
if (this.getValue() === formatStr) {
|
54
|
-
return;
|
55
|
-
}
|
56
|
-
this.pubOnChange('self');
|
57
|
-
this.clearInnerItems();
|
58
|
-
const valueText = new TextGroupElement();
|
59
|
-
this.props.valueTextProps.clone(valueText.props);
|
60
|
-
valueText.text = formatStr;
|
61
|
-
this.addChild(valueText, this.length - 1);
|
62
|
-
this.beginMeasure();
|
63
|
-
}
|
64
|
-
|
65
|
-
getValue(): string {
|
66
|
-
return ElementSerialize.serializeString(this)
|
67
|
-
}
|
68
|
-
|
69
|
-
validate(): string {
|
70
|
-
let res = super.validate();
|
71
|
-
if (res) {
|
72
|
-
return res;
|
73
|
-
}
|
74
|
-
const format = this.props.format ?? 'YYYY-MM-DD';
|
75
|
-
const date = moment(this.getValue(), format);
|
76
|
-
if (!date.isValid()) {
|
77
|
-
return '日期格式不正确';
|
78
|
-
}
|
79
|
-
return '';
|
80
|
-
}
|
81
|
-
|
82
|
-
}
|
83
|
-
|
84
|
-
|
85
|
-
export class DataElementDateRenderObject extends DataElementRenderObject<DataElementDate> {
|
86
|
-
constructor(element: DataElementDate) {
|
87
|
-
super(element);
|
88
|
-
}
|
89
|
-
clone(): RenderObject {
|
90
|
-
const cloneRender = new DataElementDateRenderObject(this.element);
|
91
|
-
cloneRender.rect = ElementUtil.cloneRect(this.rect);
|
92
|
-
for (let i = 0; i < this.length; i++) {
|
93
|
-
cloneRender.addChild(this.getChild(i).clone());
|
94
|
-
}
|
95
|
-
return cloneRender;
|
96
|
-
}
|
97
|
-
|
98
|
-
}
|
99
|
-
|
100
|
-
export class DataElementDateFactory extends ElementFactory<DataEleDateProps> {
|
101
|
-
match(type: string): boolean {
|
102
|
-
return type === "data-ele-date"
|
103
|
-
}
|
104
|
-
createElement(data: any, renderCtx: RenderContenxtType): Element {
|
105
|
-
const props = data.props as DataEleDateProps;
|
106
|
-
const ele = new DataElementDate();
|
107
|
-
this.createDataEleProps(ele.props, props);
|
108
|
-
return ele;
|
109
|
-
}
|
110
|
-
|
111
|
-
createDataEleProps(dest: DataEleDateProps, props: DataEleDateProps): DataEleDateProps {
|
112
|
-
const dataEleProps: DataEleDateProps = dest;
|
113
|
-
ElementUtil.readEleBaseProps(dataEleProps, props);
|
114
|
-
//dataEleProps.id = props.id ?? nanoid(5);
|
115
|
-
//dataEleProps.name = props.name;
|
116
|
-
dataEleProps.minValue = props.minValue;
|
117
|
-
dataEleProps.maxValue = props.maxValue;
|
118
|
-
dataEleProps.format = props.format;
|
119
|
-
//dataEleProps.caption = props.caption;
|
120
|
-
//dataEleProps.type = props.type;
|
121
|
-
dataEleProps.nullText = props.nullText;
|
122
|
-
dataEleProps.nullTextProps = ElementUtil.readTextProps(null, props.nullTextProps, this.options);
|
123
|
-
dataEleProps.valueTextProps = ElementUtil.readTextProps(null, props.valueTextProps, this.options);
|
124
|
-
return dataEleProps;
|
125
|
-
}
|
126
|
-
|
127
|
-
|
128
|
-
}
|