n20-common-lib 1.2.43 → 1.2.44

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 (201) hide show
  1. package/README.md +2 -2
  2. package/package.json +88 -88
  3. package/src/_qiankun/index.js +113 -113
  4. package/src/_qiankun/postMessage.js +48 -48
  5. package/src/assets/css/_coreLib.scss +35 -35
  6. package/src/assets/css/cl-anchor.scss +23 -23
  7. package/src/assets/css/cl-approve-card.scss +58 -58
  8. package/src/assets/css/cl-dialog.scss +99 -99
  9. package/src/assets/css/cl-drag-list.scss +22 -22
  10. package/src/assets/css/cl-empty.scss +10 -10
  11. package/src/assets/css/cl-expandable-pane.scss +26 -26
  12. package/src/assets/css/cl-expandable.scss +24 -24
  13. package/src/assets/css/cl-file-upload-table.scss +11 -11
  14. package/src/assets/css/cl-filter.scss +4 -4
  15. package/src/assets/css/cl-flow-step.scss +185 -185
  16. package/src/assets/css/cl-footer-box.scss +10 -10
  17. package/src/assets/css/cl-form-item.scss +612 -612
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +92 -92
  20. package/src/assets/css/cl-layout-content.scss +16 -16
  21. package/src/assets/css/cl-layout-header.scss +73 -73
  22. package/src/assets/css/cl-layout-tabs.scss +87 -87
  23. package/src/assets/css/cl-layout.scss +97 -97
  24. package/src/assets/css/cl-login-temporary.scss +37 -37
  25. package/src/assets/css/cl-message.scss +75 -75
  26. package/src/assets/css/cl-more-tab.scss +98 -98
  27. package/src/assets/css/cl-nav-menu.scss +5 -5
  28. package/src/assets/css/cl-pagination.scss +128 -128
  29. package/src/assets/css/cl-secondary-tab.scss +53 -53
  30. package/src/assets/css/cl-showcolumn.scss +23 -23
  31. package/src/assets/css/cl-sifting.scss +51 -51
  32. package/src/assets/css/cl-statis.scss +42 -42
  33. package/src/assets/css/cl-step.scss +73 -73
  34. package/src/assets/css/cl-suspend.scss +19 -19
  35. package/src/assets/css/cl-tertiary-tab.scss +54 -54
  36. package/src/assets/css/cl-upload.scss +41 -41
  37. package/src/assets/css/cl-worn-pagination.scss +50 -50
  38. package/src/assets/css/el-button.scss +173 -173
  39. package/src/assets/css/el-table.scss +79 -79
  40. package/src/assets/css/element-variables.scss +1061 -1061
  41. package/src/assets/css/element.dev.scss +21 -21
  42. package/src/assets/css/font-icon.scss +27 -27
  43. package/src/assets/css/index.dev.scss +4 -4
  44. package/src/assets/css/index.scss +11 -11
  45. package/src/assets/css/normalize.scss +726 -726
  46. package/src/assets/css/rootvar.scss +139 -139
  47. package/src/assets/css/select.scss +25 -25
  48. package/src/assets/css/title-pop.scss +4 -4
  49. package/src/assets/getJsonc.js +50 -50
  50. package/src/assets/realUrl.js +12 -12
  51. package/src/components/.DS_Store +0 -0
  52. package/src/components/Anchor/AnchorItem.vue +29 -29
  53. package/src/components/Anchor/index.vue +185 -185
  54. package/src/components/ApprovalButtons/index.vue +233 -233
  55. package/src/components/ApprovalCard/index.vue +128 -128
  56. package/src/components/ApprovalRecord/approvalImg.vue +44 -44
  57. package/src/components/ApprovalRecord/flowDialog.vue +45 -45
  58. package/src/components/ApprovalRecord/index.vue +59 -59
  59. package/src/components/Button/button-group.vue +150 -150
  60. package/src/components/Button/icon-group-button.vue +61 -61
  61. package/src/components/Button/index.vue +56 -56
  62. package/src/components/CascaderArea/index.vue +103 -103
  63. package/src/components/ContentLoading/index.vue +41 -41
  64. package/src/components/ContentNull/index.vue +19 -19
  65. package/src/components/DatePicker/index.vue +27 -27
  66. package/src/components/DatePicker/por.vue +169 -169
  67. package/src/components/Dialog/index.vue +26 -26
  68. package/src/components/Dialog/indexO.vue +116 -116
  69. package/src/components/DragList/index.vue +75 -75
  70. package/src/components/Empty/.DS_Store +0 -0
  71. package/src/components/Empty/img/.DS_Store +0 -0
  72. package/src/components/Empty/img/abnormal.svg +108 -108
  73. package/src/components/Empty/img/dispose.svg +71 -71
  74. package/src/components/Empty/img/empty.svg +57 -57
  75. package/src/components/Empty/img/general.svg +58 -58
  76. package/src/components/Empty/img/lock.svg +57 -57
  77. package/src/components/Empty/img/network.svg +59 -59
  78. package/src/components/Empty/img/relevant.svg +68 -68
  79. package/src/components/Empty/img/search.svg +72 -72
  80. package/src/components/Empty/index.vue +92 -92
  81. package/src/components/Expandable/index.vue +49 -49
  82. package/src/components/Expandable/main.vue +52 -52
  83. package/src/components/FileExportAsync/index.vue +178 -178
  84. package/src/components/FileUploadTable/index.vue +484 -484
  85. package/src/components/Filters/index.vue +371 -371
  86. package/src/components/Filters/indexO.vue +104 -104
  87. package/src/components/FlowStep/index.vue +68 -68
  88. package/src/components/FooterBox/index.vue +21 -21
  89. package/src/components/GeneralCard/index.vue +15 -15
  90. package/src/components/InputNumber/index.vue +169 -169
  91. package/src/components/InputNumber/numberRange.vue +47 -47
  92. package/src/components/InputSearch/index.vue +75 -75
  93. package/src/components/Layout/.DS_Store +0 -0
  94. package/src/components/Layout/AsideNav/index.vue +120 -120
  95. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  96. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  97. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  98. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  99. package/src/components/Layout/HeaderWrap/noticePop.vue +316 -316
  100. package/src/components/Layout/SubContent/index.vue +127 -127
  101. package/src/components/Layout/TabsNav/index.vue +170 -170
  102. package/src/components/Layout/index.vue +518 -518
  103. package/src/components/Layout/utils.js +12 -12
  104. package/src/components/LoginTemporary/form.vue +566 -566
  105. package/src/components/LoginTemporary/index.vue +139 -139
  106. package/src/components/LoginTemporary/qrcode.vue +90 -90
  107. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  108. package/src/components/LoginTemporary/utils.js +73 -73
  109. package/src/components/MicroApp/index.js +67 -67
  110. package/src/components/MicroFrame/index.vue +95 -95
  111. package/src/components/MoreTab/index.vue +232 -232
  112. package/src/components/NavMenu/index.vue +60 -60
  113. package/src/components/NstcG6Components/.DS_Store +0 -0
  114. package/src/components/PageLayout/page.vue +15 -15
  115. package/src/components/Pagination/index.vue +165 -165
  116. package/src/components/SecondaryTab/index.vue +58 -58
  117. package/src/components/SelectLazy/index.vue +75 -75
  118. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  119. package/src/components/SelectTree/index.vue +205 -205
  120. package/src/components/ShowColumn/index.vue +213 -213
  121. package/src/components/Sifting/index.vue +99 -99
  122. package/src/components/Statis/index.vue +97 -97
  123. package/src/components/Statis/statisItem.vue +54 -54
  124. package/src/components/Statis/statisPopover.vue +55 -55
  125. package/src/components/Step/index.vue +38 -38
  126. package/src/components/Suspend/index.vue +72 -72
  127. package/src/components/Table/index.vue +209 -209
  128. package/src/components/Table/indexO.vue +149 -149
  129. package/src/components/Task/index.vue +26 -26
  130. package/src/components/TertiaryTab/index.vue +63 -63
  131. package/src/components/TimePicker/index.vue +28 -28
  132. package/src/components/Upload/index.vue +242 -242
  133. package/src/components/WornPagination/index.vue +73 -73
  134. package/src/directives/VClickOutside/index.js +19 -19
  135. package/src/directives/VHas/index.js +58 -58
  136. package/src/directives/VMove/index.js +42 -42
  137. package/src/directives/VTitle/index.js +69 -69
  138. package/src/directives/VTitle/tooltip.vue +21 -21
  139. package/src/index.js +232 -232
  140. package/src/plugins/CompatibleOld/index.js +57 -57
  141. package/src/plugins/Print/index.js +4 -4
  142. package/src/plugins/Print/print-js/.babelrc +12 -12
  143. package/src/plugins/Print/print-js/LICENSE +21 -21
  144. package/src/plugins/Print/print-js/README.md +98 -98
  145. package/src/plugins/Print/print-js/dist/print.css +96 -96
  146. package/src/plugins/Print/print-js/dist/print.js +990 -990
  147. package/src/plugins/Print/print-js/package.json +60 -60
  148. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  149. package/src/plugins/Print/print-js/src/index.js +10 -10
  150. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  151. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  152. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  153. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  154. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  155. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  156. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  157. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  158. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  159. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  160. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  161. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  162. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  163. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  164. package/src/plugins/Print/print.js +2 -2
  165. package/src/plugins/Print/print.scss +1 -1
  166. package/src/plugins/SetMenuTree/index.vue +41 -41
  167. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  168. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  169. package/src/plugins/SetMenuTree/utils.js +74 -74
  170. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  171. package/src/plugins/Sign/index.js +65 -65
  172. package/src/plugins/Sign/sign.js +1 -1
  173. package/src/plugins/setTabsForSub.js +2 -2
  174. package/src/utils/auth.js +53 -53
  175. package/src/utils/axios.js +203 -203
  176. package/src/utils/downloadBlob.js +19 -19
  177. package/src/utils/forEachs.js +16 -16
  178. package/src/utils/getScrollContainer.js +43 -43
  179. package/src/utils/i18n/cn2hk.json +1270 -1270
  180. package/src/utils/i18n/index.js +50 -50
  181. package/src/utils/list2tree.js +36 -36
  182. package/src/utils/msgboxPor.js +26 -26
  183. package/src/utils/print.js +161 -161
  184. package/src/utils/relaNo.js +72 -72
  185. package/src/utils/repairElementUI.js +95 -95
  186. package/src/utils/urlToGo.js +82 -82
  187. package/style/css/normalize.scss +0 -726
  188. package/style/fonts/element-icons.535877f5.woff +0 -0
  189. package/style/fonts/element-icons.732389de.ttf +0 -0
  190. package/style/fonts/iconfont.022f36c4.woff2 +0 -0
  191. package/style/fonts/iconfont.4a1b2c93.woff +0 -0
  192. package/style/fonts/iconfont.a9febaa2.ttf +0 -0
  193. package/style/index.css +0 -4
  194. package/style/index.css.map +0 -1
  195. package/style/index.umd.min.js +0 -2
  196. package/style/index.umd.min.js.map +0 -1
  197. package/style/pageDemo/demo-1.vue +0 -131
  198. package/style/pageDemo/demo-2.vue +0 -35
  199. package/style/pageDemo/demo-3.vue +0 -22
  200. package/style/pageDemo/seeCode.js +0 -20
  201. package/style/server-config.jsonc +0 -606
@@ -1,60 +1,60 @@
1
- {
2
- "name": "print-js",
3
- "homepage": "http://printjs.crabbly.com",
4
- "description": "A tiny javascript library to help printing from the web.",
5
- "version": "1.6.0",
6
- "main": "dist/print.js",
7
- "types": "src/index.d.ts",
8
- "repository": "https://github.com/crabbly/Print.js",
9
- "license": "MIT",
10
- "devDependencies": {
11
- "@babel/core": "7.11.6",
12
- "@babel/preset-env": "7.11.5",
13
- "babel-loader": "8.1.0",
14
- "coveralls": "3.1.0",
15
- "css-loader": "4.2.2",
16
- "istanbul-instrumenter-loader": "3.0.1",
17
- "jasmine-core": "3.6.0",
18
- "karma": "5.2.1",
19
- "karma-chrome-launcher": "3.1.0",
20
- "karma-coverage": "2.0.3",
21
- "karma-jasmine": "4.0.1",
22
- "karma-phantomjs-launcher": "1.0.4",
23
- "karma-sourcemap-loader": "0.3.8",
24
- "karma-webpack": "4.0.2",
25
- "mini-css-extract-plugin": "0.11.0",
26
- "node-sass": "4.14.1",
27
- "optimize-css-assets-webpack-plugin": "5.0.4",
28
- "sass-loader": "10.0.2",
29
- "standard": "14.3.4",
30
- "terser-webpack-plugin": "4.1.0",
31
- "webpack": "4.44.1",
32
- "webpack-cli": "3.3.12",
33
- "webpack-dev-server": "3.11.0"
34
- },
35
- "scripts": {
36
- "test": "standard && karma start",
37
- "dev": "webpack --mode development --progress --hide-modules --devtool source-map",
38
- "watch": "webpack --mode development --watch --progress --hide-modules",
39
- "production": "webpack --mode production --progress --hide-modules",
40
- "coverage": "open coverage/lcov-report/index.html",
41
- "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
42
- "start": "webpack-dev-server --public http://localhost:8080/test/manual --open",
43
- "standard:fix": "standard --fix"
44
- },
45
- "author": "Rodrigo Vieira <rodrigo@crabbly.com>",
46
- "standard": {
47
- "ignore": [
48
- "/dist/print.js"
49
- ],
50
- "env": {
51
- "browser": true,
52
- "jasmine": true
53
- }
54
- },
55
- "keywords": [
56
- "printjs",
57
- "print.js",
58
- "print-js"
59
- ]
60
- }
1
+ {
2
+ "name": "print-js",
3
+ "homepage": "http://printjs.crabbly.com",
4
+ "description": "A tiny javascript library to help printing from the web.",
5
+ "version": "1.6.0",
6
+ "main": "dist/print.js",
7
+ "types": "src/index.d.ts",
8
+ "repository": "https://github.com/crabbly/Print.js",
9
+ "license": "MIT",
10
+ "devDependencies": {
11
+ "@babel/core": "7.11.6",
12
+ "@babel/preset-env": "7.11.5",
13
+ "babel-loader": "8.1.0",
14
+ "coveralls": "3.1.0",
15
+ "css-loader": "4.2.2",
16
+ "istanbul-instrumenter-loader": "3.0.1",
17
+ "jasmine-core": "3.6.0",
18
+ "karma": "5.2.1",
19
+ "karma-chrome-launcher": "3.1.0",
20
+ "karma-coverage": "2.0.3",
21
+ "karma-jasmine": "4.0.1",
22
+ "karma-phantomjs-launcher": "1.0.4",
23
+ "karma-sourcemap-loader": "0.3.8",
24
+ "karma-webpack": "4.0.2",
25
+ "mini-css-extract-plugin": "0.11.0",
26
+ "node-sass": "4.14.1",
27
+ "optimize-css-assets-webpack-plugin": "5.0.4",
28
+ "sass-loader": "10.0.2",
29
+ "standard": "14.3.4",
30
+ "terser-webpack-plugin": "4.1.0",
31
+ "webpack": "4.44.1",
32
+ "webpack-cli": "3.3.12",
33
+ "webpack-dev-server": "3.11.0"
34
+ },
35
+ "scripts": {
36
+ "test": "standard && karma start",
37
+ "dev": "webpack --mode development --progress --hide-modules --devtool source-map",
38
+ "watch": "webpack --mode development --watch --progress --hide-modules",
39
+ "production": "webpack --mode production --progress --hide-modules",
40
+ "coverage": "open coverage/lcov-report/index.html",
41
+ "coveralls": "cat coverage/lcov.info | ./node_modules/coveralls/bin/coveralls.js",
42
+ "start": "webpack-dev-server --public http://localhost:8080/test/manual --open",
43
+ "standard:fix": "standard --fix"
44
+ },
45
+ "author": "Rodrigo Vieira <rodrigo@crabbly.com>",
46
+ "standard": {
47
+ "ignore": [
48
+ "/dist/print.js"
49
+ ],
50
+ "env": {
51
+ "browser": true,
52
+ "jasmine": true
53
+ }
54
+ },
55
+ "keywords": [
56
+ "printjs",
57
+ "print.js",
58
+ "print-js"
59
+ ]
60
+ }
@@ -1,45 +1,45 @@
1
- declare function printJS(configuration: printJS.Configuration): void;
2
- declare function printJS(source: string, type?: printJS.PrintTypes): void;
3
-
4
- declare namespace printJS {
5
- type PrintTypes = 'pdf' | 'html' | 'image' | 'json' | 'raw-html';
6
-
7
- interface Configuration {
8
- printable: any;
9
- fallbackPrintable?: string;
10
- type?: PrintTypes;
11
- documentTitle?: string;
12
- header?: any;
13
- headerStyle?: string;
14
- maxWidth?: number;
15
- targetStyle?: string | string[];
16
- targetStyles?: string | string[];
17
- properties?: any;
18
- gridHeaderStyle?: string;
19
- gridStyle?: string;
20
- showModal?: boolean;
21
- onLoadingStart?: () => void;
22
- onLoadingEnd?: () => void;
23
- modalMessage?: string;
24
- frameId?: string;
25
- ignoreElements?: string | string[];
26
- repeatTableHeader?: boolean;
27
- css?: string | string[];
28
- style?: string;
29
- scanStyles?: boolean;
30
- onError?: (error: any, xmlHttpRequest?: XMLHttpRequest) => void;
31
- onPrintDialogClose?: () => void;
32
- onIncompatibleBrowser?: () => void;
33
- base64?: boolean;
34
-
35
- // Deprecated
36
- onPdfOpen?: () => void;
37
- font?: string;
38
- font_size?: string;
39
- honorMarginPadding?: boolean;
40
- honorColor?: boolean;
41
- imageStyle?: string;
42
- }
43
- }
44
-
45
- export = printJS;
1
+ declare function printJS(configuration: printJS.Configuration): void;
2
+ declare function printJS(source: string, type?: printJS.PrintTypes): void;
3
+
4
+ declare namespace printJS {
5
+ type PrintTypes = 'pdf' | 'html' | 'image' | 'json' | 'raw-html';
6
+
7
+ interface Configuration {
8
+ printable: any;
9
+ fallbackPrintable?: string;
10
+ type?: PrintTypes;
11
+ documentTitle?: string;
12
+ header?: any;
13
+ headerStyle?: string;
14
+ maxWidth?: number;
15
+ targetStyle?: string | string[];
16
+ targetStyles?: string | string[];
17
+ properties?: any;
18
+ gridHeaderStyle?: string;
19
+ gridStyle?: string;
20
+ showModal?: boolean;
21
+ onLoadingStart?: () => void;
22
+ onLoadingEnd?: () => void;
23
+ modalMessage?: string;
24
+ frameId?: string;
25
+ ignoreElements?: string | string[];
26
+ repeatTableHeader?: boolean;
27
+ css?: string | string[];
28
+ style?: string;
29
+ scanStyles?: boolean;
30
+ onError?: (error: any, xmlHttpRequest?: XMLHttpRequest) => void;
31
+ onPrintDialogClose?: () => void;
32
+ onIncompatibleBrowser?: () => void;
33
+ base64?: boolean;
34
+
35
+ // Deprecated
36
+ onPdfOpen?: () => void;
37
+ font?: string;
38
+ font_size?: string;
39
+ honorMarginPadding?: boolean;
40
+ honorColor?: boolean;
41
+ imageStyle?: string;
42
+ }
43
+ }
44
+
45
+ export = printJS;
@@ -1,10 +1,10 @@
1
- import './sass/index.scss'
2
- import print from './js/init'
3
-
4
- const printJS = print.init
5
-
6
- if (typeof window !== 'undefined') {
7
- window.printJS = printJS
8
- }
9
-
10
- export default printJS
1
+ import './sass/index.scss'
2
+ import print from './js/init'
3
+
4
+ const printJS = print.init
5
+
6
+ if (typeof window !== 'undefined') {
7
+ window.printJS = printJS
8
+ }
9
+
10
+ export default printJS
@@ -1,33 +1,33 @@
1
- const Browser = {
2
- // Firefox 1.0+
3
- isFirefox: () => {
4
- return typeof InstallTrigger !== 'undefined'
5
- },
6
- // Internet Explorer 6-11
7
- isIE: () => {
8
- return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode
9
- },
10
- // Edge 20+
11
- isEdge: () => {
12
- return !Browser.isIE() && !!window.StyleMedia
13
- },
14
- // Chrome 1+
15
- isChrome: (context = window) => {
16
- return !!context.chrome
17
- },
18
- // At least Safari 3+: "[object HTMLElementConstructor]"
19
- isSafari: () => {
20
- return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 ||
21
- navigator.userAgent.toLowerCase().indexOf('safari') !== -1
22
- },
23
- // IOS Chrome
24
- isIOSChrome: () => {
25
- return navigator.userAgent.toLowerCase().indexOf('crios') !== -1
26
- },
27
- // QiCheng
28
- isNstc: () => {
29
- return navigator.userAgent.indexOf('NSTC-WebEntry') !== -1
30
- }
31
- }
32
-
33
- export default Browser
1
+ const Browser = {
2
+ // Firefox 1.0+
3
+ isFirefox: () => {
4
+ return typeof InstallTrigger !== 'undefined'
5
+ },
6
+ // Internet Explorer 6-11
7
+ isIE: () => {
8
+ return navigator.userAgent.indexOf('MSIE') !== -1 || !!document.documentMode
9
+ },
10
+ // Edge 20+
11
+ isEdge: () => {
12
+ return !Browser.isIE() && !!window.StyleMedia
13
+ },
14
+ // Chrome 1+
15
+ isChrome: (context = window) => {
16
+ return !!context.chrome
17
+ },
18
+ // At least Safari 3+: "[object HTMLElementConstructor]"
19
+ isSafari: () => {
20
+ return Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0 ||
21
+ navigator.userAgent.toLowerCase().indexOf('safari') !== -1
22
+ },
23
+ // IOS Chrome
24
+ isIOSChrome: () => {
25
+ return navigator.userAgent.toLowerCase().indexOf('crios') !== -1
26
+ },
27
+ // QiCheng
28
+ isNstc: () => {
29
+ return navigator.userAgent.indexOf('NSTC-WebEntry') !== -1
30
+ }
31
+ }
32
+
33
+ export default Browser
@@ -1,103 +1,103 @@
1
- import Modal from './modal'
2
- import Browser from './browser'
3
-
4
- export function addWrapper (htmlData, params) {
5
- const bodyStyle = 'font-family:' + params.font + ' !important; font-size: ' + params.font_size + ' !important; width:100%;'
6
- return '<div style="' + bodyStyle + '">' + htmlData + '</div>'
7
- }
8
-
9
- export function capitalizePrint (obj) {
10
- return obj.charAt(0).toUpperCase() + obj.slice(1)
11
- }
12
-
13
- export function collectStyles (element, params) {
14
- const win = document.defaultView || window
15
-
16
- // String variable to hold styling for each element
17
- let elementStyle = ''
18
-
19
- // Loop over computed styles
20
- const styles = win.getComputedStyle(element, '')
21
-
22
- for (let key = 0; key < styles.length; key++) {
23
- // Check if style should be processed
24
- if (params.targetStyles.indexOf('*') !== -1 || params.targetStyle.indexOf(styles[key]) !== -1 || targetStylesMatch(params.targetStyles, styles[key])) {
25
- if (styles.getPropertyValue(styles[key])) elementStyle += styles[key] + ':' + styles.getPropertyValue(styles[key]) + ';'
26
- }
27
- }
28
-
29
- // Print friendly defaults (deprecated)
30
- elementStyle += 'max-width: ' + params.maxWidth + 'px !important; font-size: ' + params.font_size + ' !important;'
31
-
32
- return elementStyle
33
- }
34
-
35
- function targetStylesMatch (styles, value) {
36
- for (let i = 0; i < styles.length; i++) {
37
- if (typeof value === 'object' && value.indexOf(styles[i]) !== -1) return true
38
- }
39
- return false
40
- }
41
-
42
- export function addHeader (printElement, params) {
43
- // Create the header container div
44
- const headerContainer = document.createElement('div')
45
-
46
- // Check if the header is text or raw html
47
- if (isRawHTML(params.header)) {
48
- headerContainer.innerHTML = params.header
49
- } else {
50
- // Create header element
51
- const headerElement = document.createElement('h1')
52
-
53
- // Create header text node
54
- const headerNode = document.createTextNode(params.header)
55
-
56
- // Build and style
57
- headerElement.appendChild(headerNode)
58
- headerElement.setAttribute('style', params.headerStyle)
59
- headerContainer.appendChild(headerElement)
60
- }
61
-
62
- printElement.insertBefore(headerContainer, printElement.childNodes[0])
63
- }
64
-
65
- export function cleanUp (params) {
66
- // If we are showing a feedback message to user, remove it
67
- if (params.showModal) Modal.close()
68
-
69
- // Check for a finished loading hook function
70
- if (params.onLoadingEnd) params.onLoadingEnd()
71
-
72
- // If preloading pdf files, clean blob url
73
- if (params.showModal || params.onLoadingStart) window.URL.revokeObjectURL(params.printable)
74
-
75
- // Run onPrintDialogClose callback
76
- let event = 'mouseover'
77
-
78
- if (Browser.isChrome() || Browser.isFirefox()) {
79
- // Ps.: Firefox will require an extra click in the document to fire the focus event.
80
- event = 'focus'
81
- }
82
-
83
- const handler = () => {
84
- // Make sure the event only happens once.
85
- window.removeEventListener(event, handler)
86
-
87
- params.onPrintDialogClose()
88
-
89
- // Remove iframe from the DOM
90
- const iframe = document.getElementById(params.frameId)
91
-
92
- if (iframe) {
93
- iframe.remove()
94
- }
95
- }
96
-
97
- window.addEventListener(event, handler)
98
- }
99
-
100
- export function isRawHTML (raw) {
101
- const regexHtml = new RegExp('<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>')
102
- return regexHtml.test(raw)
103
- }
1
+ import Modal from './modal'
2
+ import Browser from './browser'
3
+
4
+ export function addWrapper (htmlData, params) {
5
+ const bodyStyle = 'font-family:' + params.font + ' !important; font-size: ' + params.font_size + ' !important; width:100%;'
6
+ return '<div style="' + bodyStyle + '">' + htmlData + '</div>'
7
+ }
8
+
9
+ export function capitalizePrint (obj) {
10
+ return obj.charAt(0).toUpperCase() + obj.slice(1)
11
+ }
12
+
13
+ export function collectStyles (element, params) {
14
+ const win = document.defaultView || window
15
+
16
+ // String variable to hold styling for each element
17
+ let elementStyle = ''
18
+
19
+ // Loop over computed styles
20
+ const styles = win.getComputedStyle(element, '')
21
+
22
+ for (let key = 0; key < styles.length; key++) {
23
+ // Check if style should be processed
24
+ if (params.targetStyles.indexOf('*') !== -1 || params.targetStyle.indexOf(styles[key]) !== -1 || targetStylesMatch(params.targetStyles, styles[key])) {
25
+ if (styles.getPropertyValue(styles[key])) elementStyle += styles[key] + ':' + styles.getPropertyValue(styles[key]) + ';'
26
+ }
27
+ }
28
+
29
+ // Print friendly defaults (deprecated)
30
+ elementStyle += 'max-width: ' + params.maxWidth + 'px !important; font-size: ' + params.font_size + ' !important;'
31
+
32
+ return elementStyle
33
+ }
34
+
35
+ function targetStylesMatch (styles, value) {
36
+ for (let i = 0; i < styles.length; i++) {
37
+ if (typeof value === 'object' && value.indexOf(styles[i]) !== -1) return true
38
+ }
39
+ return false
40
+ }
41
+
42
+ export function addHeader (printElement, params) {
43
+ // Create the header container div
44
+ const headerContainer = document.createElement('div')
45
+
46
+ // Check if the header is text or raw html
47
+ if (isRawHTML(params.header)) {
48
+ headerContainer.innerHTML = params.header
49
+ } else {
50
+ // Create header element
51
+ const headerElement = document.createElement('h1')
52
+
53
+ // Create header text node
54
+ const headerNode = document.createTextNode(params.header)
55
+
56
+ // Build and style
57
+ headerElement.appendChild(headerNode)
58
+ headerElement.setAttribute('style', params.headerStyle)
59
+ headerContainer.appendChild(headerElement)
60
+ }
61
+
62
+ printElement.insertBefore(headerContainer, printElement.childNodes[0])
63
+ }
64
+
65
+ export function cleanUp (params) {
66
+ // If we are showing a feedback message to user, remove it
67
+ if (params.showModal) Modal.close()
68
+
69
+ // Check for a finished loading hook function
70
+ if (params.onLoadingEnd) params.onLoadingEnd()
71
+
72
+ // If preloading pdf files, clean blob url
73
+ if (params.showModal || params.onLoadingStart) window.URL.revokeObjectURL(params.printable)
74
+
75
+ // Run onPrintDialogClose callback
76
+ let event = 'mouseover'
77
+
78
+ if (Browser.isChrome() || Browser.isFirefox()) {
79
+ // Ps.: Firefox will require an extra click in the document to fire the focus event.
80
+ event = 'focus'
81
+ }
82
+
83
+ const handler = () => {
84
+ // Make sure the event only happens once.
85
+ window.removeEventListener(event, handler)
86
+
87
+ params.onPrintDialogClose()
88
+
89
+ // Remove iframe from the DOM
90
+ const iframe = document.getElementById(params.frameId)
91
+
92
+ if (iframe) {
93
+ iframe.remove()
94
+ }
95
+ }
96
+
97
+ window.addEventListener(event, handler)
98
+ }
99
+
100
+ export function isRawHTML (raw) {
101
+ const regexHtml = new RegExp('<([A-Za-z][A-Za-z0-9]*)\\b[^>]*>(.*?)</\\1>')
102
+ return regexHtml.test(raw)
103
+ }
@@ -1,70 +1,70 @@
1
- import { collectStyles, addHeader } from './functions'
2
- import Print from './print'
3
-
4
- export default {
5
- print: (params, printFrame) => {
6
- // Get the DOM printable element
7
- const printElement = isHtmlElement(params.printable) ? params.printable : document.getElementById(params.printable)
8
-
9
- // Check if the element exists
10
- if (!printElement) {
11
- window.console.error('Invalid HTML element id: ' + params.printable)
12
- return
13
- }
14
-
15
- // Clone the target element including its children (if available)
16
- params.printableElement = cloneElement(printElement, params)
17
-
18
- // Add header
19
- if (params.header) {
20
- addHeader(params.printableElement, params)
21
- }
22
-
23
- // Print html element contents
24
- Print.send(params, printFrame)
25
- }
26
- }
27
-
28
- function cloneElement (element, params) {
29
- // Clone the main node (if not already inside the recursion process)
30
- const clone = element.cloneNode()
31
-
32
- // Loop over and process the children elements / nodes (including text nodes)
33
- const childNodesArray = Array.prototype.slice.call(element.childNodes)
34
- for (let i = 0; i < childNodesArray.length; i++) {
35
- // Check if we are skipping the current element
36
- if (params.ignoreElements.indexOf(childNodesArray[i].id) !== -1) {
37
- continue
38
- }
39
-
40
- // Clone the child element
41
- const clonedChild = cloneElement(childNodesArray[i], params)
42
-
43
- // Attach the cloned child to the cloned parent node
44
- clone.appendChild(clonedChild)
45
- }
46
-
47
- // Get all styling for print element (for nodes of type element only)
48
- if (params.scanStyles && element.nodeType === 1) {
49
- clone.setAttribute('style', collectStyles(element, params))
50
- }
51
-
52
- // Check if the element needs any state processing (copy user input data)
53
- switch (element.tagName) {
54
- case 'SELECT':
55
- // Copy the current selection value to its clone
56
- clone.value = element.value
57
- break
58
- case 'CANVAS':
59
- // Copy the canvas content to its clone
60
- clone.getContext('2d').drawImage(element, 0, 0)
61
- break
62
- }
63
-
64
- return clone
65
- }
66
-
67
- function isHtmlElement (printable) {
68
- // Check if element is instance of HTMLElement or has nodeType === 1 (for elements in iframe)
69
- return typeof printable === 'object' && printable && (printable instanceof HTMLElement || printable.nodeType === 1)
70
- }
1
+ import { collectStyles, addHeader } from './functions'
2
+ import Print from './print'
3
+
4
+ export default {
5
+ print: (params, printFrame) => {
6
+ // Get the DOM printable element
7
+ const printElement = isHtmlElement(params.printable) ? params.printable : document.getElementById(params.printable)
8
+
9
+ // Check if the element exists
10
+ if (!printElement) {
11
+ window.console.error('Invalid HTML element id: ' + params.printable)
12
+ return
13
+ }
14
+
15
+ // Clone the target element including its children (if available)
16
+ params.printableElement = cloneElement(printElement, params)
17
+
18
+ // Add header
19
+ if (params.header) {
20
+ addHeader(params.printableElement, params)
21
+ }
22
+
23
+ // Print html element contents
24
+ Print.send(params, printFrame)
25
+ }
26
+ }
27
+
28
+ function cloneElement (element, params) {
29
+ // Clone the main node (if not already inside the recursion process)
30
+ const clone = element.cloneNode()
31
+
32
+ // Loop over and process the children elements / nodes (including text nodes)
33
+ const childNodesArray = Array.prototype.slice.call(element.childNodes)
34
+ for (let i = 0; i < childNodesArray.length; i++) {
35
+ // Check if we are skipping the current element
36
+ if (params.ignoreElements.indexOf(childNodesArray[i].id) !== -1) {
37
+ continue
38
+ }
39
+
40
+ // Clone the child element
41
+ const clonedChild = cloneElement(childNodesArray[i], params)
42
+
43
+ // Attach the cloned child to the cloned parent node
44
+ clone.appendChild(clonedChild)
45
+ }
46
+
47
+ // Get all styling for print element (for nodes of type element only)
48
+ if (params.scanStyles && element.nodeType === 1) {
49
+ clone.setAttribute('style', collectStyles(element, params))
50
+ }
51
+
52
+ // Check if the element needs any state processing (copy user input data)
53
+ switch (element.tagName) {
54
+ case 'SELECT':
55
+ // Copy the current selection value to its clone
56
+ clone.value = element.value
57
+ break
58
+ case 'CANVAS':
59
+ // Copy the canvas content to its clone
60
+ clone.getContext('2d').drawImage(element, 0, 0)
61
+ break
62
+ }
63
+
64
+ return clone
65
+ }
66
+
67
+ function isHtmlElement (printable) {
68
+ // Check if element is instance of HTMLElement or has nodeType === 1 (for elements in iframe)
69
+ return typeof printable === 'object' && printable && (printable instanceof HTMLElement || printable.nodeType === 1)
70
+ }