n20-common-lib 1.2.33 → 1.2.36

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 (193) 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 +39 -39
  57. package/src/components/ApprovalRecord/index.vue +59 -59
  58. package/src/components/Button/button-group.vue +150 -150
  59. package/src/components/Button/icon-group-button.vue +61 -61
  60. package/src/components/Button/index.vue +56 -56
  61. package/src/components/CascaderArea/index.vue +103 -103
  62. package/src/components/ContentLoading/index.vue +41 -41
  63. package/src/components/ContentNull/index.vue +19 -19
  64. package/src/components/DatePicker/index.vue +27 -27
  65. package/src/components/DatePicker/por.vue +169 -169
  66. package/src/components/Dialog/index.vue +26 -26
  67. package/src/components/Dialog/indexO.vue +116 -116
  68. package/src/components/DragList/index.vue +75 -75
  69. package/src/components/Empty/.DS_Store +0 -0
  70. package/src/components/Empty/img/.DS_Store +0 -0
  71. package/src/components/Empty/img/abnormal.svg +108 -108
  72. package/src/components/Empty/img/dispose.svg +71 -71
  73. package/src/components/Empty/img/empty.svg +57 -57
  74. package/src/components/Empty/img/general.svg +58 -58
  75. package/src/components/Empty/img/lock.svg +57 -57
  76. package/src/components/Empty/img/network.svg +59 -59
  77. package/src/components/Empty/img/relevant.svg +68 -68
  78. package/src/components/Empty/img/search.svg +72 -72
  79. package/src/components/Empty/index.vue +92 -92
  80. package/src/components/Expandable/index.vue +49 -49
  81. package/src/components/Expandable/main.vue +52 -52
  82. package/src/components/FileExportAsync/index.vue +178 -178
  83. package/src/components/FileUploadTable/index.vue +484 -484
  84. package/src/components/Filters/index.vue +371 -371
  85. package/src/components/Filters/indexO.vue +104 -104
  86. package/src/components/FlowStep/index.vue +68 -68
  87. package/src/components/FooterBox/index.vue +21 -21
  88. package/src/components/GeneralCard/index.vue +15 -15
  89. package/src/components/InputNumber/index.vue +169 -169
  90. package/src/components/InputNumber/numberRange.vue +47 -47
  91. package/src/components/InputSearch/index.vue +75 -75
  92. package/src/components/Layout/.DS_Store +0 -0
  93. package/src/components/Layout/AsideNav/index.vue +119 -119
  94. package/src/components/Layout/AsideNav/menuItem.vue +34 -34
  95. package/src/components/Layout/AsideNav/submenuTitle.vue +26 -26
  96. package/src/components/Layout/HeaderWrap/changePwd.vue +215 -215
  97. package/src/components/Layout/HeaderWrap/index.vue +371 -371
  98. package/src/components/Layout/HeaderWrap/noticePop.vue +300 -300
  99. package/src/components/Layout/SubContent/index.vue +127 -131
  100. package/src/components/Layout/TabsNav/index.vue +170 -170
  101. package/src/components/Layout/index.vue +518 -522
  102. package/src/components/Layout/utils.js +12 -12
  103. package/src/components/LoginTemporary/form.vue +570 -570
  104. package/src/components/LoginTemporary/index.vue +139 -139
  105. package/src/components/LoginTemporary/qrcode.vue +90 -90
  106. package/src/components/LoginTemporary/retrievePw.vue +372 -372
  107. package/src/components/LoginTemporary/utils.js +73 -73
  108. package/src/components/MicroApp/index.js +67 -67
  109. package/src/components/MicroFrame/index.vue +95 -95
  110. package/src/components/MoreTab/index.vue +232 -232
  111. package/src/components/NavMenu/index.vue +60 -60
  112. package/src/components/NstcG6Components/.DS_Store +0 -0
  113. package/src/components/NstcG6Components/NstcDialog/NstcDialog.vue +184 -184
  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 +229 -229
  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 +66 -66
  186. package/src/utils/urlToGo.js +82 -82
  187. package/style/css/normalize.scss +726 -726
  188. package/style/index.css +3 -3
  189. package/style/pageDemo/demo-1.vue +131 -131
  190. package/style/pageDemo/demo-2.vue +35 -35
  191. package/style/pageDemo/demo-3.vue +22 -22
  192. package/style/pageDemo/seeCode.js +20 -20
  193. package/style/server-config.jsonc +717 -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
+ }