ele-admin-plus 1.2.1-beta.1 → 1.2.1-beta.2

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 (277) hide show
  1. package/es/ele-admin-layout/index.d.ts +19 -10
  2. package/es/ele-admin-layout/props.d.ts +4 -1
  3. package/es/ele-admin-layout/props.js +4 -1
  4. package/es/ele-admin-layout/style/index.scss +7 -2
  5. package/es/ele-admin-layout/style/sidebar.scss +2 -0
  6. package/es/ele-alert/index.d.ts +1 -1
  7. package/es/ele-alert/index.js +3 -3
  8. package/es/ele-app/components/message-body.d.ts +1 -1
  9. package/es/ele-app/components/message-body.js +2 -2
  10. package/es/ele-app/plus.d.ts +3 -0
  11. package/es/ele-avatar-group/index.d.ts +4 -4
  12. package/es/ele-avatar-group/index.js +15 -15
  13. package/es/ele-basic-select/index.d.ts +5 -5
  14. package/es/ele-basic-select/index.js +16 -16
  15. package/es/ele-check-card/index.d.ts +1 -1
  16. package/es/ele-check-card/index.js +4 -4
  17. package/es/ele-copyable/index.d.ts +2 -2
  18. package/es/ele-copyable/index.js +6 -6
  19. package/es/ele-cropper/components/cropper-tools.d.ts +3 -3
  20. package/es/ele-cropper/components/cropper-tools.js +10 -10
  21. package/es/ele-cropper/index.d.ts +13 -13
  22. package/es/ele-cropper/index.js +39 -39
  23. package/es/ele-cropper-modal/index.d.ts +1 -1
  24. package/es/ele-cropper-modal/index.js +3 -3
  25. package/es/ele-data-table/util.js +1 -1
  26. package/es/ele-drawer/index.d.ts +8 -8
  27. package/es/ele-drawer/index.js +18 -18
  28. package/es/ele-dropdown/index.d.ts +3 -3
  29. package/es/ele-dropdown/index.js +9 -9
  30. package/es/ele-ellipsis/index.d.ts +1 -1
  31. package/es/ele-ellipsis/index.js +3 -3
  32. package/es/ele-file-list/components/file-grid-item.d.ts +5 -5
  33. package/es/ele-file-list/components/file-grid-item.js +15 -15
  34. package/es/ele-file-list/components/file-grid.d.ts +6 -6
  35. package/es/ele-file-list/components/file-grid.js +15 -15
  36. package/es/ele-file-list/components/file-table-item.d.ts +5 -5
  37. package/es/ele-file-list/components/file-table-item.js +15 -15
  38. package/es/ele-file-list/components/file-table.d.ts +7 -7
  39. package/es/ele-file-list/components/file-table.js +19 -19
  40. package/es/ele-file-list/index.d.ts +6 -6
  41. package/es/ele-file-list/index.js +22 -22
  42. package/es/ele-file-list-tool/index.d.ts +1 -1
  43. package/es/ele-file-list-tool/index.js +2 -2
  44. package/es/ele-icon-select/components/icon-grid.d.ts +2 -2
  45. package/es/ele-icon-select/components/icon-grid.js +6 -6
  46. package/es/ele-icon-select/index.d.ts +7 -7
  47. package/es/ele-icon-select/index.js +23 -23
  48. package/es/ele-menus/index.js +15 -15
  49. package/es/ele-menus/style/index.scss +1 -0
  50. package/es/ele-menus/util.d.ts +7 -0
  51. package/es/ele-menus/util.js +49 -26
  52. package/es/ele-modal/index.d.ts +6 -6
  53. package/es/ele-modal/index.js +18 -18
  54. package/es/ele-pagination/index.d.ts +2 -2
  55. package/es/ele-pagination/index.js +6 -6
  56. package/es/ele-popconfirm/index.d.ts +7 -17
  57. package/es/ele-popconfirm/index.js +15 -15
  58. package/es/ele-popconfirm/props.d.ts +2 -7
  59. package/es/ele-popover/index.d.ts +7 -17
  60. package/es/ele-popover/index.js +15 -15
  61. package/es/ele-popover/props.d.ts +1 -6
  62. package/es/ele-popover/props.js +1 -0
  63. package/es/ele-printer/index.d.ts +1 -1
  64. package/es/ele-printer/index.js +19 -22
  65. package/es/ele-printer/style/index.scss +2 -2
  66. package/es/ele-printer/types.d.ts +0 -2
  67. package/es/ele-printer/util.d.ts +9 -30
  68. package/es/ele-printer/util.js +118 -109
  69. package/es/ele-pro-layout/index.d.ts +19 -19
  70. package/es/ele-pro-layout/index.js +2 -2
  71. package/es/ele-pro-layout/props.d.ts +1 -1
  72. package/es/ele-pro-layout/props.js +1 -1
  73. package/es/ele-pro-table/components/table-tools.d.ts +3 -3
  74. package/es/ele-pro-table/components/table-tools.js +6 -13
  75. package/es/ele-pro-table/components/tool-column-list.d.ts +9 -9
  76. package/es/ele-pro-table/components/tool-column-list.js +33 -33
  77. package/es/ele-pro-table/components/tool-column.d.ts +24 -38
  78. package/es/ele-pro-table/components/tool-column.js +80 -102
  79. package/es/ele-pro-table/components/tool-export.d.ts +4 -4
  80. package/es/ele-pro-table/components/tool-export.js +28 -40
  81. package/es/ele-pro-table/components/tool-print.d.ts +10 -7
  82. package/es/ele-pro-table/components/tool-print.js +36 -46
  83. package/es/ele-pro-table/index.d.ts +16 -13
  84. package/es/ele-pro-table/index.js +41 -64
  85. package/es/ele-pro-table/props.d.ts +2 -2
  86. package/es/ele-pro-table/props.js +1 -1
  87. package/es/ele-pro-table/style/index.scss +1 -0
  88. package/es/ele-pro-table/util.d.ts +38 -30
  89. package/es/ele-pro-table/util.js +111 -80
  90. package/es/ele-segmented/index.d.ts +1 -1
  91. package/es/ele-segmented/index.js +3 -3
  92. package/es/ele-split-panel/index.d.ts +1 -1
  93. package/es/ele-split-panel/index.js +3 -3
  94. package/es/ele-tab-wrap/components/tab-dropdown.d.ts +1 -1
  95. package/es/ele-tab-wrap/components/tab-dropdown.js +3 -3
  96. package/es/ele-table-select/index.d.ts +19 -19
  97. package/es/ele-table-select/index.js +42 -37
  98. package/es/ele-tool/index.d.ts +6 -3
  99. package/es/ele-tool/index.js +35 -32
  100. package/es/ele-tool/style/index.js +0 -1
  101. package/es/ele-tool/style/index.scss +0 -13
  102. package/es/ele-toolbar/index.d.ts +3247 -1
  103. package/es/ele-toolbar/index.js +44 -5
  104. package/es/ele-toolbar/props.d.ts +6 -2
  105. package/es/ele-toolbar/props.js +2 -0
  106. package/es/ele-toolbar/style/index.js +1 -0
  107. package/es/ele-toolbar/types.d.ts +15 -0
  108. package/es/ele-tooltip/index.d.ts +9 -9
  109. package/es/ele-tooltip/index.js +25 -25
  110. package/es/ele-tour/index.d.ts +3 -3
  111. package/es/ele-tour/index.js +10 -10
  112. package/es/ele-tree-select/index.d.ts +9 -9
  113. package/es/ele-tree-select/index.js +28 -28
  114. package/es/ele-upload-list/components/list-item.d.ts +3 -3
  115. package/es/ele-upload-list/components/list-item.js +7 -7
  116. package/es/ele-upload-list/index.d.ts +4 -4
  117. package/es/ele-upload-list/index.js +13 -13
  118. package/es/ele-virtual-table/components/body-cell.d.ts +8 -8
  119. package/es/ele-virtual-table/components/body-cell.js +24 -24
  120. package/es/ele-virtual-table/components/body-row.d.ts +7 -7
  121. package/es/ele-virtual-table/components/body-row.js +21 -21
  122. package/es/ele-virtual-table/components/cell-checkbox.d.ts +1 -1
  123. package/es/ele-virtual-table/components/cell-checkbox.js +3 -3
  124. package/es/ele-virtual-table/components/cell-filter.d.ts +5 -5
  125. package/es/ele-virtual-table/components/cell-filter.js +18 -18
  126. package/es/ele-virtual-table/components/footer-row.d.ts +1 -1
  127. package/es/ele-virtual-table/components/footer-row.js +3 -3
  128. package/es/ele-virtual-table/components/header-cell.d.ts +5 -5
  129. package/es/ele-virtual-table/components/header-cell.js +15 -15
  130. package/es/ele-virtual-table/components/header-row.d.ts +5 -5
  131. package/es/ele-virtual-table/components/header-row.js +15 -15
  132. package/es/ele-virtual-table/index.d.ts +23 -21
  133. package/es/ele-virtual-table/index.js +50 -48
  134. package/es/ele-virtual-table/util.js +3 -3
  135. package/es/ele-watermark/index.js +1 -0
  136. package/es/style/themes/default.scss +8 -8
  137. package/es/style/themes/rounded.scss +1 -7
  138. package/es/utils/core.d.ts +7 -1
  139. package/lib/ele-admin-layout/index.d.ts +19 -10
  140. package/lib/ele-admin-layout/props.cjs +4 -1
  141. package/lib/ele-admin-layout/props.d.ts +4 -1
  142. package/lib/ele-admin-layout/style/index.scss +7 -2
  143. package/lib/ele-admin-layout/style/sidebar.scss +2 -0
  144. package/lib/ele-alert/index.cjs +3 -3
  145. package/lib/ele-alert/index.d.ts +1 -1
  146. package/lib/ele-app/components/message-body.cjs +2 -2
  147. package/lib/ele-app/components/message-body.d.ts +1 -1
  148. package/lib/ele-app/plus.d.ts +3 -0
  149. package/lib/ele-avatar-group/index.cjs +15 -15
  150. package/lib/ele-avatar-group/index.d.ts +4 -4
  151. package/lib/ele-basic-select/index.cjs +16 -16
  152. package/lib/ele-basic-select/index.d.ts +5 -5
  153. package/lib/ele-check-card/index.cjs +4 -4
  154. package/lib/ele-check-card/index.d.ts +1 -1
  155. package/lib/ele-copyable/index.cjs +6 -6
  156. package/lib/ele-copyable/index.d.ts +2 -2
  157. package/lib/ele-cropper/components/cropper-tools.cjs +10 -10
  158. package/lib/ele-cropper/components/cropper-tools.d.ts +3 -3
  159. package/lib/ele-cropper/index.cjs +39 -39
  160. package/lib/ele-cropper/index.d.ts +13 -13
  161. package/lib/ele-cropper-modal/index.cjs +3 -3
  162. package/lib/ele-cropper-modal/index.d.ts +1 -1
  163. package/lib/ele-data-table/util.cjs +1 -1
  164. package/lib/ele-drawer/index.cjs +18 -18
  165. package/lib/ele-drawer/index.d.ts +8 -8
  166. package/lib/ele-dropdown/index.cjs +9 -9
  167. package/lib/ele-dropdown/index.d.ts +3 -3
  168. package/lib/ele-ellipsis/index.cjs +3 -3
  169. package/lib/ele-ellipsis/index.d.ts +1 -1
  170. package/lib/ele-file-list/components/file-grid-item.cjs +15 -15
  171. package/lib/ele-file-list/components/file-grid-item.d.ts +5 -5
  172. package/lib/ele-file-list/components/file-grid.cjs +15 -15
  173. package/lib/ele-file-list/components/file-grid.d.ts +6 -6
  174. package/lib/ele-file-list/components/file-table-item.cjs +15 -15
  175. package/lib/ele-file-list/components/file-table-item.d.ts +5 -5
  176. package/lib/ele-file-list/components/file-table.cjs +19 -19
  177. package/lib/ele-file-list/components/file-table.d.ts +7 -7
  178. package/lib/ele-file-list/index.cjs +22 -22
  179. package/lib/ele-file-list/index.d.ts +6 -6
  180. package/lib/ele-file-list-tool/index.cjs +2 -2
  181. package/lib/ele-file-list-tool/index.d.ts +1 -1
  182. package/lib/ele-icon-select/components/icon-grid.cjs +6 -6
  183. package/lib/ele-icon-select/components/icon-grid.d.ts +2 -2
  184. package/lib/ele-icon-select/index.cjs +23 -23
  185. package/lib/ele-icon-select/index.d.ts +7 -7
  186. package/lib/ele-menus/index.cjs +15 -15
  187. package/lib/ele-menus/style/index.scss +1 -0
  188. package/lib/ele-menus/util.cjs +49 -26
  189. package/lib/ele-menus/util.d.ts +7 -0
  190. package/lib/ele-modal/index.cjs +18 -18
  191. package/lib/ele-modal/index.d.ts +6 -6
  192. package/lib/ele-pagination/index.cjs +6 -6
  193. package/lib/ele-pagination/index.d.ts +2 -2
  194. package/lib/ele-popconfirm/index.cjs +15 -15
  195. package/lib/ele-popconfirm/index.d.ts +7 -17
  196. package/lib/ele-popconfirm/props.d.ts +2 -7
  197. package/lib/ele-popover/index.cjs +15 -15
  198. package/lib/ele-popover/index.d.ts +7 -17
  199. package/lib/ele-popover/props.cjs +1 -0
  200. package/lib/ele-popover/props.d.ts +1 -6
  201. package/lib/ele-printer/index.cjs +17 -20
  202. package/lib/ele-printer/index.d.ts +1 -1
  203. package/lib/ele-printer/style/index.scss +2 -2
  204. package/lib/ele-printer/types.d.ts +0 -2
  205. package/lib/ele-printer/util.cjs +118 -109
  206. package/lib/ele-printer/util.d.ts +9 -30
  207. package/lib/ele-pro-layout/index.cjs +2 -2
  208. package/lib/ele-pro-layout/index.d.ts +19 -19
  209. package/lib/ele-pro-layout/props.cjs +1 -1
  210. package/lib/ele-pro-layout/props.d.ts +1 -1
  211. package/lib/ele-pro-table/components/table-tools.cjs +6 -13
  212. package/lib/ele-pro-table/components/table-tools.d.ts +3 -3
  213. package/lib/ele-pro-table/components/tool-column-list.cjs +33 -33
  214. package/lib/ele-pro-table/components/tool-column-list.d.ts +9 -9
  215. package/lib/ele-pro-table/components/tool-column.cjs +79 -101
  216. package/lib/ele-pro-table/components/tool-column.d.ts +24 -38
  217. package/lib/ele-pro-table/components/tool-export.cjs +28 -40
  218. package/lib/ele-pro-table/components/tool-export.d.ts +4 -4
  219. package/lib/ele-pro-table/components/tool-print.cjs +36 -46
  220. package/lib/ele-pro-table/components/tool-print.d.ts +10 -7
  221. package/lib/ele-pro-table/index.cjs +41 -64
  222. package/lib/ele-pro-table/index.d.ts +16 -13
  223. package/lib/ele-pro-table/props.cjs +1 -1
  224. package/lib/ele-pro-table/props.d.ts +2 -2
  225. package/lib/ele-pro-table/style/index.scss +1 -0
  226. package/lib/ele-pro-table/util.cjs +111 -80
  227. package/lib/ele-pro-table/util.d.ts +38 -30
  228. package/lib/ele-segmented/index.cjs +3 -3
  229. package/lib/ele-segmented/index.d.ts +1 -1
  230. package/lib/ele-split-panel/index.cjs +3 -3
  231. package/lib/ele-split-panel/index.d.ts +1 -1
  232. package/lib/ele-tab-wrap/components/tab-dropdown.cjs +3 -3
  233. package/lib/ele-tab-wrap/components/tab-dropdown.d.ts +1 -1
  234. package/lib/ele-table-select/index.cjs +42 -37
  235. package/lib/ele-table-select/index.d.ts +19 -19
  236. package/lib/ele-tool/index.cjs +34 -31
  237. package/lib/ele-tool/index.d.ts +6 -3
  238. package/lib/ele-tool/style/index.cjs +0 -1
  239. package/lib/ele-tool/style/index.scss +0 -13
  240. package/lib/ele-toolbar/index.cjs +42 -3
  241. package/lib/ele-toolbar/index.d.ts +3247 -1
  242. package/lib/ele-toolbar/props.cjs +2 -0
  243. package/lib/ele-toolbar/props.d.ts +6 -2
  244. package/lib/ele-toolbar/style/index.cjs +1 -0
  245. package/lib/ele-toolbar/types.d.ts +15 -0
  246. package/lib/ele-tooltip/index.cjs +25 -25
  247. package/lib/ele-tooltip/index.d.ts +9 -9
  248. package/lib/ele-tour/index.cjs +10 -10
  249. package/lib/ele-tour/index.d.ts +3 -3
  250. package/lib/ele-tree-select/index.cjs +28 -28
  251. package/lib/ele-tree-select/index.d.ts +9 -9
  252. package/lib/ele-upload-list/components/list-item.cjs +7 -7
  253. package/lib/ele-upload-list/components/list-item.d.ts +3 -3
  254. package/lib/ele-upload-list/index.cjs +13 -13
  255. package/lib/ele-upload-list/index.d.ts +4 -4
  256. package/lib/ele-virtual-table/components/body-cell.cjs +24 -24
  257. package/lib/ele-virtual-table/components/body-cell.d.ts +8 -8
  258. package/lib/ele-virtual-table/components/body-row.cjs +21 -21
  259. package/lib/ele-virtual-table/components/body-row.d.ts +7 -7
  260. package/lib/ele-virtual-table/components/cell-checkbox.cjs +3 -3
  261. package/lib/ele-virtual-table/components/cell-checkbox.d.ts +1 -1
  262. package/lib/ele-virtual-table/components/cell-filter.cjs +18 -18
  263. package/lib/ele-virtual-table/components/cell-filter.d.ts +5 -5
  264. package/lib/ele-virtual-table/components/footer-row.cjs +3 -3
  265. package/lib/ele-virtual-table/components/footer-row.d.ts +1 -1
  266. package/lib/ele-virtual-table/components/header-cell.cjs +15 -15
  267. package/lib/ele-virtual-table/components/header-cell.d.ts +5 -5
  268. package/lib/ele-virtual-table/components/header-row.cjs +15 -15
  269. package/lib/ele-virtual-table/components/header-row.d.ts +5 -5
  270. package/lib/ele-virtual-table/index.cjs +50 -48
  271. package/lib/ele-virtual-table/index.d.ts +23 -21
  272. package/lib/ele-virtual-table/util.cjs +3 -3
  273. package/lib/ele-watermark/index.cjs +1 -0
  274. package/lib/style/themes/default.scss +8 -8
  275. package/lib/style/themes/rounded.scss +1 -7
  276. package/lib/utils/core.d.ts +7 -1
  277. package/package.json +1 -1
@@ -54,12 +54,6 @@ declare const _default: import('vue').DefineComponent<{
54
54
  visible: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
55
55
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
56
56
  content: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
57
- popperStyle: {
58
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
59
- readonly required: false;
60
- readonly validator: ((val: unknown) => boolean) | undefined;
61
- __epPropKey: true;
62
- };
63
57
  enterable: {
64
58
  readonly default: true;
65
59
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
@@ -72,6 +66,7 @@ declare const _default: import('vue').DefineComponent<{
72
66
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
73
67
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
74
68
  persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
69
+ popperStyle: import('vue').PropType<Partial<import('vue').CSSProperties>>;
75
70
  popperClass: StringConstructor;
76
71
  ariaLabel: StringConstructor;
77
72
  bg: StringConstructor;
@@ -104,11 +99,11 @@ declare const _default: import('vue').DefineComponent<{
104
99
  hidePopper: () => void;
105
100
  confirm: (e: MouseEvent) => void;
106
101
  cancel: (e: MouseEvent) => void;
107
- onUpdateVisible: (visible: boolean) => void;
108
- onPopBeforeEnter: () => void;
109
- onPopBeforeLeave: () => void;
110
- onPopAfterEnter: () => void;
111
- onPopAfterLeave: () => void;
102
+ handleUpdateVisible: (visible: boolean) => void;
103
+ handlePopBeforeEnter: () => void;
104
+ handlePopBeforeLeave: () => void;
105
+ handlePopAfterEnter: () => void;
106
+ handlePopAfterLeave: () => void;
112
107
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
113
108
  confirm: (_e: MouseEvent) => boolean;
114
109
  cancel: (_e: MouseEvent) => boolean;
@@ -170,12 +165,6 @@ declare const _default: import('vue').DefineComponent<{
170
165
  visible: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
171
166
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
172
167
  content: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
173
- popperStyle: {
174
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
175
- readonly required: false;
176
- readonly validator: ((val: unknown) => boolean) | undefined;
177
- __epPropKey: true;
178
- };
179
168
  enterable: {
180
169
  readonly default: true;
181
170
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
@@ -188,6 +177,7 @@ declare const _default: import('vue').DefineComponent<{
188
177
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
189
178
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
190
179
  persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
180
+ popperStyle: import('vue').PropType<Partial<import('vue').CSSProperties>>;
191
181
  popperClass: StringConstructor;
192
182
  ariaLabel: StringConstructor;
193
183
  bg: StringConstructor;
@@ -49,7 +49,7 @@ export declare const popconfirmProps: {
49
49
  transition: {
50
50
  type: StringConstructor;
51
51
  default: string;
52
- };
52
+ }; /** 取消按钮类型 */
53
53
  bodyClass: StringConstructor;
54
54
  bodyStyle: PropType<Partial<import('vue').CSSProperties>>;
55
55
  titleStyle: PropType<Partial<import('vue').CSSProperties>>;
@@ -71,12 +71,6 @@ export declare const popconfirmProps: {
71
71
  visible: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => boolean) | (() => boolean | null) | ((new (...args: any[]) => boolean) | (() => boolean | null))[], unknown, unknown, null, boolean>;
72
72
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
73
73
  content: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
74
- popperStyle: {
75
- readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
76
- readonly required: false;
77
- readonly validator: ((val: unknown) => boolean) | undefined;
78
- __epPropKey: true;
79
- };
80
74
  enterable: {
81
75
  readonly default: true;
82
76
  readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
@@ -89,6 +83,7 @@ export declare const popconfirmProps: {
89
83
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
90
84
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
91
85
  persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
86
+ popperStyle: PropType<Partial<import('vue').CSSProperties>>;
92
87
  popperClass: StringConstructor;
93
88
  ariaLabel: StringConstructor;
94
89
  bg: StringConstructor;
@@ -23,30 +23,30 @@ const _sfc_main = vue.defineComponent({
23
23
  const hide = () => {
24
24
  tooltipRef.value && tooltipRef.value.hide();
25
25
  };
26
- const onUpdateVisible = (visible) => {
26
+ const handleUpdateVisible = (visible) => {
27
27
  emit("update:visible", visible);
28
28
  };
29
- const onPopBeforeEnter = () => {
29
+ const handlePopBeforeEnter = () => {
30
30
  emit("before-enter");
31
31
  };
32
- const onPopBeforeLeave = () => {
32
+ const handlePopBeforeLeave = () => {
33
33
  emit("before-leave");
34
34
  };
35
- const onPopAfterEnter = () => {
35
+ const handlePopAfterEnter = () => {
36
36
  emit("after-enter");
37
37
  };
38
- const onPopAfterLeave = () => {
38
+ const handlePopAfterLeave = () => {
39
39
  emit("after-leave");
40
40
  };
41
41
  return {
42
42
  tooltipRef,
43
43
  tooltipProps,
44
44
  hide,
45
- onUpdateVisible,
46
- onPopBeforeEnter,
47
- onPopBeforeLeave,
48
- onPopAfterEnter,
49
- onPopAfterLeave
45
+ handleUpdateVisible,
46
+ handlePopBeforeEnter,
47
+ handlePopBeforeLeave,
48
+ handlePopAfterEnter,
49
+ handlePopAfterLeave
50
50
  };
51
51
  }
52
52
  });
@@ -62,11 +62,11 @@ function _sfc_render(_ctx, _cache, $props, $setup, $data, $options) {
62
62
  return vue.openBlock(), vue.createBlock(_component_EleTooltip, vue.mergeProps({ tabindex: _ctx.tabindex }, _ctx.tooltipProps, {
63
63
  ref: "tooltipRef",
64
64
  isPopover: true,
65
- "onUpdate:visible": _ctx.onUpdateVisible,
66
- onBeforeShow: _ctx.onPopBeforeEnter,
67
- onBeforeHide: _ctx.onPopBeforeLeave,
68
- onShow: _ctx.onPopAfterEnter,
69
- onHide: _ctx.onPopAfterLeave
65
+ "onUpdate:visible": _ctx.handleUpdateVisible,
66
+ onBeforeShow: _ctx.handlePopBeforeEnter,
67
+ onBeforeHide: _ctx.handlePopBeforeLeave,
68
+ onShow: _ctx.handlePopAfterEnter,
69
+ onHide: _ctx.handlePopAfterLeave
70
70
  }), {
71
71
  body: vue.withCtx(() => [
72
72
  vue.createElementVNode("div", {
@@ -27,12 +27,6 @@ declare const _default: import('vue').DefineComponent<{
27
27
  trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
28
28
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
29
29
  content: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
30
- popperStyle: {
31
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
32
- readonly required: false;
33
- readonly validator: ((val: unknown) => boolean) | undefined;
34
- __epPropKey: true;
35
- };
36
30
  enterable: {
37
31
  readonly default: true;
38
32
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
@@ -45,6 +39,7 @@ declare const _default: import('vue').DefineComponent<{
45
39
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
46
40
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
47
41
  persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
42
+ popperStyle: import('vue').PropType<Partial<import('vue').CSSProperties>>;
48
43
  popperClass: StringConstructor;
49
44
  ariaLabel: StringConstructor;
50
45
  bg: StringConstructor;
@@ -72,11 +67,11 @@ declare const _default: import('vue').DefineComponent<{
72
67
  tooltipRef: import('vue').Ref<EleTooltipInstance>;
73
68
  tooltipProps: import('vue').ComputedRef<Partial<import('../ele-tooltip/props').TooltipProps>>;
74
69
  hide: () => void;
75
- onUpdateVisible: (visible: boolean) => void;
76
- onPopBeforeEnter: () => void;
77
- onPopBeforeLeave: () => void;
78
- onPopAfterEnter: () => void;
79
- onPopAfterLeave: () => void;
70
+ handleUpdateVisible: (visible: boolean) => void;
71
+ handlePopBeforeEnter: () => void;
72
+ handlePopBeforeLeave: () => void;
73
+ handlePopAfterEnter: () => void;
74
+ handlePopAfterLeave: () => void;
80
75
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
81
76
  'update:visible': (value: boolean) => boolean;
82
77
  'before-enter': () => boolean;
@@ -110,12 +105,6 @@ declare const _default: import('vue').DefineComponent<{
110
105
  trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => "click" | "contextmenu" | "focus" | "hover" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
111
106
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
112
107
  content: import('element-plus/es/utils/index').EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
113
- popperStyle: {
114
- readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
115
- readonly required: false;
116
- readonly validator: ((val: unknown) => boolean) | undefined;
117
- __epPropKey: true;
118
- };
119
108
  enterable: {
120
109
  readonly default: true;
121
110
  readonly type: import('vue').PropType<import('element-plus/es/utils/index').EpPropMergeType<BooleanConstructor, unknown, unknown>>;
@@ -128,6 +117,7 @@ declare const _default: import('vue').DefineComponent<{
128
117
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
129
118
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
130
119
  persistent: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
120
+ popperStyle: import('vue').PropType<Partial<import('vue').CSSProperties>>;
131
121
  popperClass: StringConstructor;
132
122
  ariaLabel: StringConstructor;
133
123
  bg: StringConstructor;
@@ -6,6 +6,7 @@ const props = require("../ele-tooltip/props");
6
6
  const normalizeProps = core.omit(elementPlus.popoverProps, ["onUpdate:visible"]);
7
7
  const popoverProps = {
8
8
  ...core.omit(props.tooltipProps, ["rawContent"]),
9
+ popperStyle: [String, Array, Object],
9
10
  popperClass: String,
10
11
  ...normalizeProps,
11
12
  transition: {
@@ -18,12 +18,6 @@ export declare const popoverProps: {
18
18
  contentStyle: PropType<Partial<import('vue').CSSProperties>>;
19
19
  width: import('element-plus/es/utils/index').EpPropFinalized<readonly [StringConstructor, NumberConstructor], unknown, unknown, 150, boolean>;
20
20
  title: StringConstructor;
21
- popperStyle: {
22
- readonly type: PropType<import('element-plus/es/utils/index').EpPropMergeType<(new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue) | ((new (...args: any[]) => string | false | import('vue').CSSProperties | import('vue').StyleValue[]) | (() => import('vue').StyleValue))[], unknown, unknown>>;
23
- readonly required: false;
24
- readonly validator: ((val: unknown) => boolean) | undefined;
25
- __epPropKey: true;
26
- };
27
21
  showArrow: import('element-plus/es/utils/index').EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
28
22
  disabled: BooleanConstructor;
29
23
  trigger: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>) | ((new (...args: any[]) => "hover" | "focus" | "click" | "contextmenu" | import('element-plus').TooltipTriggerType[]) | (() => import('element-plus/es/utils/typescript').Arrayable<import('element-plus').TooltipTriggerType>))[], unknown, unknown, "hover", boolean>;
@@ -52,6 +46,7 @@ export declare const popoverProps: {
52
46
  hideAfter: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 200, boolean>;
53
47
  autoClose: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 0, boolean>;
54
48
  tabindex: import('element-plus/es/utils/index').EpPropFinalized<(new (...args: any[]) => string | number) | (() => string | number) | ((new (...args: any[]) => string | number) | (() => string | number))[], unknown, unknown, 0, boolean>;
49
+ popperStyle: PropType<Partial<import('vue').CSSProperties>>;
55
50
  popperClass: StringConstructor;
56
51
  className: StringConstructor;
57
52
  arrowOffset: import('element-plus/es/utils/index').EpPropFinalized<NumberConstructor, unknown, unknown, 5, boolean>;
@@ -9,38 +9,31 @@ const _sfc_main = vue.defineComponent({
9
9
  props: props.printerProps,
10
10
  emits: props.printerEmits,
11
11
  setup(props2, { emit }) {
12
- const { printId } = util.usePrinter(() => {
12
+ const doPrint = util.usePrinter(() => {
13
+ visible.value = false;
13
14
  updateModelValue(false);
14
- onDone();
15
+ handleDone();
15
16
  });
16
17
  const container = vue.shallowRef(util.getPrintContainer());
17
18
  const visible = vue.ref(false);
18
- const isStatic = vue.computed(() => {
19
- return props2.static;
20
- });
19
+ const isStatic = vue.computed(() => props2.static);
21
20
  const print = (options) => {
21
+ if (visible.value) {
22
+ return;
23
+ }
22
24
  visible.value = true;
23
25
  vue.nextTick(() => {
24
26
  const option = {
25
- printId,
26
27
  title: props2.title,
27
28
  margin: props2.margin,
28
29
  direction: props2.direction,
29
30
  orientation: props2.orientation,
30
31
  options: util.mergeOptions(props2.options, options)
31
32
  };
32
- if (props2.target === "_iframe") {
33
- util.doPrintOnFrame(option);
34
- visible.value = false;
35
- } else {
36
- util.doPrint(option);
37
- visible.value = false;
38
- updateModelValue(false);
39
- onDone();
40
- }
33
+ doPrint(option, props2.target);
41
34
  });
42
35
  };
43
- const onDone = () => {
36
+ const handleDone = () => {
44
37
  emit("done");
45
38
  };
46
39
  const updateModelValue = (value) => {
@@ -48,13 +41,17 @@ const _sfc_main = vue.defineComponent({
48
41
  };
49
42
  vue.watch(
50
43
  () => props2.modelValue,
51
- (value) => {
52
- if (value) {
44
+ (modelValue) => {
45
+ if (modelValue) {
53
46
  print();
54
47
  }
55
- },
56
- { immediate: true }
48
+ }
57
49
  );
50
+ vue.onMounted(() => {
51
+ if (props2.modelValue) {
52
+ print();
53
+ }
54
+ });
58
55
  return { container, visible, isStatic, print };
59
56
  }
60
57
  });
@@ -16,7 +16,7 @@ declare const _default: import('vue').DefineComponent<{
16
16
  isStatic: import('vue').ComputedRef<boolean>;
17
17
  print: (options?: any) => void;
18
18
  }, unknown, {}, {}, import('vue').ComponentOptionsMixin, import('vue').ComponentOptionsMixin, {
19
- 'update:modelValue': (_value: boolean) => boolean; /** 打印 */
19
+ 'update:modelValue': (_value: boolean) => boolean;
20
20
  done: () => boolean;
21
21
  }, string, import('vue').PublicProps, Readonly<import('vue').ExtractPropTypes<{
22
22
  modelValue: BooleanConstructor;
@@ -46,10 +46,10 @@ html.ele-printing > body {
46
46
  background: #fff !important;
47
47
  height: auto !important;
48
48
  min-height: auto !important;
49
- max-height: auto !important;
49
+ max-height: none !important;
50
50
  width: auto !important;
51
51
  min-width: auto !important;
52
- max-width: auto !important;
52
+ max-width: none !important;
53
53
  overflow: visible !important;
54
54
  }
55
55
 
@@ -17,8 +17,6 @@ export type PrintTarget = '_self' | '_blank' | '_iframe';
17
17
  * 打印参数
18
18
  */
19
19
  export interface PrintOption {
20
- /** id */
21
- printId: string;
22
20
  /** 页面标题 */
23
21
  title?: string;
24
22
  /** 页间距 */
@@ -1,10 +1,54 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
3
3
  const vue = require("vue");
4
- const core = require("../utils/core");
4
+ const hook = require("../utils/hook");
5
5
  const printContainerId = "ele-printer-container";
6
6
  const printFrameId = "ele-printer-iframe";
7
7
  const printingClass = "ele-printing";
8
+ let printIdNum = 0;
9
+ function printPdf(option) {
10
+ const pFrame = getPrintFrame();
11
+ pFrame.onload = () => {
12
+ const url = pFrame.getAttribute("src");
13
+ if (!!url) {
14
+ pFrame.focus();
15
+ pFrame.contentWindow && pFrame.contentWindow.print(option.options);
16
+ option.done && option.done();
17
+ window.URL.revokeObjectURL(url);
18
+ }
19
+ };
20
+ const doPrint = (buffer) => {
21
+ const blob = new window.Blob([buffer], { type: "application/pdf" });
22
+ if (window.navigator && window.navigator["msSaveOrOpenBlob"]) {
23
+ window.navigator["msSaveOrOpenBlob"](blob, "print.pdf");
24
+ return;
25
+ }
26
+ pFrame.setAttribute("src", window.URL.createObjectURL(blob));
27
+ };
28
+ if (option.arraybuffer) {
29
+ doPrint(option.arraybuffer);
30
+ return;
31
+ }
32
+ if (option.url) {
33
+ const req = new window.XMLHttpRequest();
34
+ req.open("GET", option.url, true);
35
+ req.responseType = "arraybuffer";
36
+ req.onload = () => {
37
+ if ([200, 201].indexOf(req.status) !== -1) {
38
+ doPrint(req.response);
39
+ return;
40
+ }
41
+ option.error && option.error(req.status, req.statusText);
42
+ };
43
+ req.send();
44
+ }
45
+ }
46
+ function mergeOptions(options, userOptions) {
47
+ if (options == null) {
48
+ return userOptions;
49
+ }
50
+ return Object.assign({}, options, userOptions);
51
+ }
8
52
  function getPrintContainer() {
9
53
  const container = document.getElementById(printContainerId);
10
54
  if (container) {
@@ -15,28 +59,40 @@ function getPrintContainer() {
15
59
  document.body.appendChild(elem);
16
60
  return elem;
17
61
  }
18
- function doPrint(option) {
19
- const $html = document.querySelector("html");
20
- if ($html) {
21
- $html.classList.add(printingClass);
22
- const elem = document.createElement("style");
23
- elem.setAttribute("type", "text/css");
24
- elem.setAttribute("media", "print");
25
- elem.innerHTML = getOptionCss(option);
26
- document.body.appendChild(elem);
27
- const title = document.title;
28
- if (option.title != null && option.title !== "") {
29
- document.title = option.title;
30
- }
31
- window.print(option.options);
32
- $html.classList.remove(printingClass);
33
- document.body.removeChild(elem);
34
- if (option.title != null) {
35
- document.title = title;
36
- }
62
+ function getOptionCss(opt) {
63
+ const css = ["@page {"];
64
+ if (opt.margin != null && opt.margin !== "") {
65
+ const v = typeof opt.margin === "number" ? opt.margin + "px" : opt.margin;
66
+ css.push(`margin: ${v};`);
67
+ }
68
+ if (opt.direction != null && opt.direction !== "") {
69
+ css.push(`size: ${opt.direction};`);
37
70
  }
71
+ if (opt.orientation != null && opt.orientation !== "") {
72
+ css.push(`page-orientation: ${opt.orientation};`);
73
+ }
74
+ css.push("}");
75
+ return css.join(" ");
38
76
  }
39
- function doPrintOnFrame(opt) {
77
+ function removePrintFrame() {
78
+ const pFrame = document.getElementById(printFrameId);
79
+ if (pFrame && pFrame.parentNode) {
80
+ pFrame.parentNode.removeChild(pFrame);
81
+ }
82
+ }
83
+ function getPrintFrame() {
84
+ removePrintFrame();
85
+ const elem = document.createElement("iframe");
86
+ elem.id = printFrameId;
87
+ elem.style.width = "0px";
88
+ elem.style.height = "0px";
89
+ elem.style.position = "fixed";
90
+ elem.style.visibility = "hidden";
91
+ document.body.appendChild(elem);
92
+ elem.focus();
93
+ return elem;
94
+ }
95
+ function doPrintOnFrame(opt, printId) {
40
96
  var _a;
41
97
  const pFrame = getPrintFrame();
42
98
  const pWin = pFrame.contentWindow;
@@ -70,7 +126,7 @@ function doPrintOnFrame(opt) {
70
126
  document.title = '${opt.title}';
71
127
  }
72
128
  window.print(${printOption});
73
- window.parent.postMessage('elePrintDone_${opt.printId}', '*');
129
+ window.parent.postMessage('elePrintDone_${printId}', '*');
74
130
  };
75
131
  <\/script>
76
132
  `;
@@ -80,105 +136,58 @@ function doPrintOnFrame(opt) {
80
136
  pDoc.close();
81
137
  return pWin;
82
138
  }
83
- function getPrintFrame() {
84
- removePrintFrame();
85
- const elem = document.createElement("iframe");
86
- elem.id = printFrameId;
87
- elem.style.width = "0px";
88
- elem.style.height = "0px";
89
- elem.style.position = "fixed";
90
- elem.style.visibility = "hidden";
91
- document.body.appendChild(elem);
92
- elem.focus();
93
- return elem;
94
- }
95
- function removePrintFrame() {
96
- const pFrame = document.getElementById(printFrameId);
97
- if (pFrame && pFrame.parentNode) {
98
- pFrame.parentNode.removeChild(pFrame);
99
- }
100
- }
101
- function getOptionCss(opt) {
102
- const css = ["@page {"];
103
- if (opt.margin != null && opt.margin !== "") {
104
- const v = typeof opt.margin === "number" ? opt.margin + "px" : opt.margin;
105
- css.push(`margin: ${v};`);
106
- }
107
- if (opt.direction != null && opt.direction !== "") {
108
- css.push(`size: ${opt.direction};`);
109
- }
110
- if (opt.orientation != null && opt.orientation !== "") {
111
- css.push(`page-orientation: ${opt.orientation};`);
112
- }
113
- css.push("}");
114
- return css.join(" ");
115
- }
116
- function mergeOptions(options, userOptions) {
117
- if (options == null) {
118
- return userOptions;
119
- }
120
- return Object.assign({}, options, userOptions);
121
- }
122
139
  function usePrinter(done) {
123
- const printId = core.uuid(8);
124
- const onMessage = (e) => {
125
- if (e.data === `elePrintDone_${printId}`) {
126
- removePrintFrame();
140
+ printIdNum++;
141
+ const printId = printIdNum;
142
+ const [startPrintTimer] = hook.useTimer(200);
143
+ const doPrint = (option, target) => {
144
+ if (target === "_iframe") {
145
+ doPrintOnFrame(option, printId);
146
+ return;
147
+ }
148
+ const $html = document.querySelector("html");
149
+ if (!$html) {
127
150
  done && done();
151
+ return;
128
152
  }
129
- };
130
- window.addEventListener("message", onMessage);
131
- vue.onBeforeUnmount(() => {
132
- window.removeEventListener("message", onMessage);
133
- });
134
- return { printId };
135
- }
136
- function printPdf(option) {
137
- const pFrame = getPrintFrame();
138
- pFrame.onload = () => {
139
- const url = pFrame.getAttribute("src");
140
- if (!!url) {
141
- pFrame.focus();
142
- pFrame.contentWindow && pFrame.contentWindow.print(option.options);
143
- option.done && option.done();
144
- URL.revokeObjectURL(url);
153
+ $html.classList.add(printingClass);
154
+ const elem = document.createElement("style");
155
+ elem.setAttribute("type", "text/css");
156
+ elem.setAttribute("media", "print");
157
+ elem.innerHTML = getOptionCss(option);
158
+ document.body.appendChild(elem);
159
+ const title = document.title;
160
+ if (option.title != null && option.title !== "") {
161
+ document.title = option.title;
145
162
  }
163
+ window.print(option.options);
164
+ startPrintTimer(() => {
165
+ $html.classList.remove(printingClass);
166
+ document.body.removeChild(elem);
167
+ if (option.title != null) {
168
+ document.title = title;
169
+ }
170
+ done && done();
171
+ });
146
172
  };
147
- const doPrint2 = (buffer) => {
148
- const blob = new window.Blob([buffer], { type: "application/pdf" });
149
- if (window.navigator && window.navigator["msSaveOrOpenBlob"]) {
150
- window.navigator["msSaveOrOpenBlob"](blob, "print.pdf");
151
- return;
173
+ const handleMessage = (e) => {
174
+ if (e.data === `elePrintDone_${printId}`) {
175
+ startPrintTimer(() => {
176
+ removePrintFrame();
177
+ done && done();
178
+ });
152
179
  }
153
- pFrame.setAttribute("src", window.URL.createObjectURL(blob));
154
180
  };
155
- if (option.arraybuffer) {
156
- doPrint2(option.arraybuffer);
157
- return;
158
- }
159
- if (option.url) {
160
- const req = new window.XMLHttpRequest();
161
- req.open("GET", option.url, true);
162
- req.responseType = "arraybuffer";
163
- req.onload = () => {
164
- if ([200, 201].indexOf(req.status) !== -1) {
165
- doPrint2(req.response);
166
- return;
167
- }
168
- option.error && option.error(req.status, req.statusText);
169
- };
170
- req.send();
171
- }
181
+ vue.onBeforeUnmount(() => {
182
+ window.removeEventListener("message", handleMessage);
183
+ });
184
+ window.addEventListener("message", handleMessage);
185
+ return doPrint;
172
186
  }
173
- exports.doPrint = doPrint;
174
- exports.doPrintOnFrame = doPrintOnFrame;
175
- exports.getOptionCss = getOptionCss;
176
187
  exports.getPrintContainer = getPrintContainer;
177
- exports.getPrintFrame = getPrintFrame;
178
188
  exports.mergeOptions = mergeOptions;
179
189
  exports.printContainerId = printContainerId;
180
190
  exports.printFrameId = printFrameId;
181
191
  exports.printPdf = printPdf;
182
192
  exports.printingClass = printingClass;
183
- exports.removePrintFrame = removePrintFrame;
184
193
  exports.usePrinter = usePrinter;