n20-common-lib 1.2.6 → 1.2.9

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 (202) hide show
  1. package/README.md +2 -2
  2. package/package.json +87 -87
  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 +454 -454
  18. package/src/assets/css/cl-general-card.scss +11 -11
  19. package/src/assets/css/cl-layout-aside.scss +88 -88
  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 +65 -65
  29. package/src/assets/css/cl-secondary-tab.scss +39 -39
  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 +9 -9
  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 -26
  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/iconFont/demo.css +539 -0
  51. package/src/assets/iconFont/demo_index.html +1614 -0
  52. package/src/assets/iconFont/iconfont.css +263 -0
  53. package/src/assets/iconFont/iconfont.js +1 -0
  54. package/src/assets/iconFont/iconfont.json +443 -0
  55. package/src/assets/iconFont/iconfont.ttf +0 -0
  56. package/src/assets/iconFont/iconfont.woff +0 -0
  57. package/src/assets/iconFont/iconfont.woff2 +0 -0
  58. package/src/assets/realUrl.js +12 -12
  59. package/src/components/.DS_Store +0 -0
  60. package/src/components/Anchor/AnchorItem.vue +29 -29
  61. package/src/components/Anchor/index.vue +185 -185
  62. package/src/components/ApprovalButtons/index.vue +232 -232
  63. package/src/components/ApprovalCard/index.vue +128 -128
  64. package/src/components/ApprovalRecord/approvalImg.vue +39 -39
  65. package/src/components/ApprovalRecord/index.vue +59 -59
  66. package/src/components/Button/button-group.vue +150 -150
  67. package/src/components/Button/icon-group-button.vue +61 -61
  68. package/src/components/Button/index.vue +56 -56
  69. package/src/components/CascaderArea/index.vue +81 -81
  70. package/src/components/ContentLoading/index.vue +41 -41
  71. package/src/components/ContentNull/index.vue +19 -19
  72. package/src/components/DatePicker/index.vue +27 -27
  73. package/src/components/DatePicker/por.vue +169 -169
  74. package/src/components/Dialog/index.vue +26 -26
  75. package/src/components/Dialog/indexO.vue +116 -116
  76. package/src/components/DragList/index.vue +68 -68
  77. package/src/components/Empty/img/abnormal.svg +108 -108
  78. package/src/components/Empty/img/dispose.svg +71 -71
  79. package/src/components/Empty/img/empty.svg +57 -57
  80. package/src/components/Empty/img/general.svg +58 -58
  81. package/src/components/Empty/img/lock.svg +57 -57
  82. package/src/components/Empty/img/network.svg +59 -59
  83. package/src/components/Empty/img/relevant.svg +68 -68
  84. package/src/components/Empty/img/search.svg +72 -72
  85. package/src/components/Empty/index.vue +92 -92
  86. package/src/components/Expandable/index.vue +49 -49
  87. package/src/components/Expandable/main.vue +52 -52
  88. package/src/components/FileExportAsync/index.vue +174 -0
  89. package/src/components/FileUploadTable/index.vue +484 -484
  90. package/src/components/Filters/index.vue +369 -369
  91. package/src/components/Filters/indexO.vue +104 -104
  92. package/src/components/FlowStep/index.vue +68 -68
  93. package/src/components/FooterBox/index.vue +21 -21
  94. package/src/components/GeneralCard/index.vue +15 -15
  95. package/src/components/InputNumber/index.vue +153 -153
  96. package/src/components/InputNumber/numberRange.vue +47 -47
  97. package/src/components/InputSearch/index.vue +75 -75
  98. package/src/components/Layout/.DS_Store +0 -0
  99. package/src/components/Layout/AsideNav/index.vue +119 -144
  100. package/src/components/Layout/AsideNav/menuItem.vue +34 -0
  101. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -0
  102. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  103. package/src/components/Layout/HeaderWrap/index.vue +348 -333
  104. package/src/components/Layout/HeaderWrap/noticePop.vue +300 -300
  105. package/src/components/Layout/SubContent/index.vue +131 -131
  106. package/src/components/Layout/TabsNav/index.vue +170 -170
  107. package/src/components/Layout/index.vue +529 -529
  108. package/src/components/Layout/utils.js +12 -12
  109. package/src/components/LoginTemporary/form.vue +537 -537
  110. package/src/components/LoginTemporary/index.vue +122 -122
  111. package/src/components/LoginTemporary/qrcode.vue +90 -90
  112. package/src/components/LoginTemporary/retrievePw.vue +28 -28
  113. package/src/components/LoginTemporary/utils.js +73 -73
  114. package/src/components/MicroApp/index.js +67 -67
  115. package/src/components/MicroFrame/index.vue +95 -95
  116. package/src/components/MoreTab/index.vue +232 -232
  117. package/src/components/NavMenu/index.vue +60 -60
  118. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +184 -184
  119. package/src/components/PageLayout/page.vue +15 -15
  120. package/src/components/Pagination/index.vue +96 -96
  121. package/src/components/SecondaryTab/index.vue +58 -58
  122. package/src/components/SelectLazy/index.vue +75 -75
  123. package/src/components/SelectTree/SelectTreeLazy.vue +241 -241
  124. package/src/components/SelectTree/index.vue +205 -205
  125. package/src/components/ShowColumn/index.vue +204 -204
  126. package/src/components/Sifting/index.vue +99 -99
  127. package/src/components/Statis/index.vue +97 -97
  128. package/src/components/Statis/statisItem.vue +54 -54
  129. package/src/components/Statis/statisPopover.vue +55 -55
  130. package/src/components/Step/index.vue +38 -38
  131. package/src/components/Suspend/index.vue +72 -72
  132. package/src/components/Table/index.vue +179 -179
  133. package/src/components/Table/indexO.vue +149 -149
  134. package/src/components/Task/index.vue +26 -26
  135. package/src/components/TertiaryTab/index.vue +53 -53
  136. package/src/components/TimePicker/index.vue +28 -28
  137. package/src/components/Upload/index.vue +242 -242
  138. package/src/components/WornPagination/index.vue +73 -73
  139. package/src/directives/VClickOutside/index.js +19 -19
  140. package/src/directives/VHas/index.js +32 -32
  141. package/src/directives/VMove/index.js +42 -42
  142. package/src/directives/VTitle/index.js +64 -56
  143. package/src/directives/VTitle/tooltip.vue +21 -21
  144. package/src/index.js +225 -218
  145. package/src/plugins/CompatibleOld/index.js +57 -57
  146. package/src/plugins/Print/index.js +4 -4
  147. package/src/plugins/Print/print-js/.babelrc +12 -12
  148. package/src/plugins/Print/print-js/LICENSE +21 -21
  149. package/src/plugins/Print/print-js/README.md +98 -98
  150. package/src/plugins/Print/print-js/dist/print.css +96 -96
  151. package/src/plugins/Print/print-js/dist/print.js +990 -990
  152. package/src/plugins/Print/print-js/package.json +60 -60
  153. package/src/plugins/Print/print-js/src/index.d.ts +45 -45
  154. package/src/plugins/Print/print-js/src/index.js +10 -10
  155. package/src/plugins/Print/print-js/src/js/browser.js +33 -33
  156. package/src/plugins/Print/print-js/src/js/functions.js +103 -103
  157. package/src/plugins/Print/print-js/src/js/html.js +70 -70
  158. package/src/plugins/Print/print-js/src/js/image.js +48 -48
  159. package/src/plugins/Print/print-js/src/js/init.js +168 -168
  160. package/src/plugins/Print/print-js/src/js/json.js +109 -109
  161. package/src/plugins/Print/print-js/src/js/modal.js +62 -62
  162. package/src/plugins/Print/print-js/src/js/pdf.js +62 -62
  163. package/src/plugins/Print/print-js/src/js/print.js +102 -102
  164. package/src/plugins/Print/print-js/src/js/raw-html.js +15 -15
  165. package/src/plugins/Print/print-js/src/sass/index.scss +13 -13
  166. package/src/plugins/Print/print-js/src/sass/modules/_colors.scss +9 -9
  167. package/src/plugins/Print/print-js/src/sass/partials/_modal.scss +40 -40
  168. package/src/plugins/Print/print-js/src/sass/partials/_spinner.scss +45 -45
  169. package/src/plugins/Print/print.js +2 -2
  170. package/src/plugins/Print/print.scss +1 -1
  171. package/src/plugins/SetMenuTree/index.vue +41 -41
  172. package/src/plugins/SetMenuTree/logoIcon.vue +37 -37
  173. package/src/plugins/SetMenuTree/setmenutree.vue +427 -427
  174. package/src/plugins/SetMenuTree/utils.js +74 -74
  175. package/src/plugins/Sign/InfosecNetSignCNGAgent.min.js +2000 -2000
  176. package/src/plugins/Sign/index.js +65 -65
  177. package/src/plugins/Sign/sign.js +1 -1
  178. package/src/plugins/setTabsForSub.js +2 -2
  179. package/src/utils/auth.js +53 -53
  180. package/src/utils/axios.js +203 -203
  181. package/src/utils/downloadBlob.js +19 -19
  182. package/src/utils/forEachs.js +16 -16
  183. package/src/utils/getScrollContainer.js +43 -43
  184. package/src/utils/i18n/cn2hk.json +1270 -1270
  185. package/src/utils/i18n/index.js +54 -54
  186. package/src/utils/list2tree.js +36 -36
  187. package/src/utils/msgboxPor.js +26 -26
  188. package/src/utils/print.js +161 -161
  189. package/src/utils/relaNo.js +69 -69
  190. package/src/utils/repairElementUI.js +66 -66
  191. package/src/utils/urlToGo.js +82 -82
  192. package/style/css/normalize.scss +723 -726
  193. package/style/fonts/iconfont.022f36c4.woff2 +0 -0
  194. package/style/fonts/iconfont.4a1b2c93.woff +0 -0
  195. package/style/fonts/iconfont.a9febaa2.ttf +0 -0
  196. package/style/index.css +3 -2
  197. package/style/index.css.map +1 -1
  198. package/style/pageDemo/demo-1.vue +130 -131
  199. package/style/pageDemo/demo-2.vue +35 -35
  200. package/style/pageDemo/demo-3.vue +22 -22
  201. package/style/pageDemo/seeCode.js +20 -20
  202. package/style/server-config.jsonc +663 -596
@@ -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
+ }