vue2-client 1.16.4 → 1.16.6

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 (327) hide show
  1. package/.claude/settings.local.json +4 -2
  2. package/.cursorrules +19 -19
  3. package/.env.apply +19 -19
  4. package/.env.gaslink +19 -19
  5. package/.env.his +19 -19
  6. package/.env.liuli +20 -20
  7. package/.env.revenue +1 -2
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/CHANGELOG.md +824 -824
  11. package/Components.md +60 -60
  12. package/docs/LowCode/lowcode.md +155 -155
  13. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  14. package/docs/index.md +30 -30
  15. package/index.js +31 -31
  16. package/jest-transform-stub.js +8 -8
  17. package/jest.setup.js +7 -7
  18. package/jsconfig.json +19 -19
  19. package/package.json +2 -1
  20. package/public/his/editor/editor.html +51 -51
  21. package/public/his/editor/mock/bind_data.html +779 -779
  22. package/public/his/editor/mock/data_table.html +40 -40
  23. package/public/his/editor/mock/sign.html +75 -75
  24. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  25. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  26. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  27. package/public/his/editor/vender/date97/calendar.js +4 -4
  28. package/public/his/editor/vender/date97/lang/en.js +13 -13
  29. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  31. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  32. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  33. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  34. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  35. package/public/his/editor/vender/diff.js +1627 -1627
  36. package/public/his/editor/vender/editor.js +1 -1
  37. package/public/his/editor/vender/fabric.js +31187 -31187
  38. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  39. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  40. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  41. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  42. package/public/his/editor/vender/mui/mui.min.css +4 -4
  43. package/public/his/editor/vender/mui/mui.min.js +5 -5
  44. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  45. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  46. package/public/his/editor/vender/qrcode.js +7 -7
  47. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  48. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  49. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  50. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  51. package/public/his/editor/vender/validator.js +5094 -5094
  52. package/public/his/editor/vender/weui/weui.css +5659 -5659
  53. package/public/his/editor/vender/weui/weui.min.css +4 -4
  54. package/public/his/editor/vender/weui/weui.min.js +11 -11
  55. package/src/assets/img/querySlotDemo.svg +15 -15
  56. package/src/assets/svg/badtwo.svg +1 -1
  57. package/src/assets/svg/goodtwo.svg +1 -1
  58. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  59. package/src/base-client/components/AI/demo.vue +31 -31
  60. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  61. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  62. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  63. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  64. package/src/base-client/components/common/CitySelect/index.js +3 -3
  65. package/src/base-client/components/common/CitySelect/index.md +109 -109
  66. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  67. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  68. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  69. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  70. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  71. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  72. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  73. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  74. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  75. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  76. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  77. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  78. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  79. package/src/base-client/components/common/HIS/HTab/HTab.vue +6 -5
  80. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  81. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  83. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  87. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  94. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  95. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  96. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  97. package/src/base-client/components/common/Recording/index.js +3 -3
  98. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  99. package/src/base-client/components/common/Tree/index.js +2 -2
  100. package/src/base-client/components/common/Upload/index.js +3 -3
  101. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  102. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  103. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  104. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  105. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  106. package/src/base-client/components/common/XAddReport/index.js +3 -3
  107. package/src/base-client/components/common/XAddReport/index.md +56 -56
  108. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  109. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  110. package/src/base-client/components/common/XButtons/index.js +3 -3
  111. package/src/base-client/components/common/XButtons/index.md +61 -61
  112. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  113. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  114. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  115. package/src/base-client/components/common/XDataCard/index.js +3 -3
  116. package/src/base-client/components/common/XDataCard/index.md +1 -1
  117. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  118. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  119. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  120. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  121. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  122. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  123. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  124. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  125. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  126. package/src/base-client/components/common/XForm/index.md +178 -178
  127. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  128. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  129. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  130. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  131. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  132. package/src/base-client/components/common/XFormTable/XFormTable.vue +69 -41
  133. package/src/base-client/components/common/XFormTable/demo.vue +10 -3
  134. package/src/base-client/components/common/XFormTable/index.md +92 -92
  135. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  136. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  137. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  138. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  139. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  140. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  141. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  142. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  143. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  144. package/src/base-client/components/common/XPrint/index.vue +97 -97
  145. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  146. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  147. package/src/base-client/components/common/XReport/index.js +3 -3
  148. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  149. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  150. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  151. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  152. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  153. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  154. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  155. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  156. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  157. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  158. package/src/base-client/components/common/XStepView/index.js +3 -3
  159. package/src/base-client/components/common/XStepView/index.md +31 -31
  160. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  161. package/src/base-client/components/common/XTab/index.js +3 -3
  162. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  163. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  164. package/src/base-client/components/common/XTable/index.md +255 -255
  165. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  166. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  167. package/src/base-client/components/common/XTree/index.js +3 -3
  168. package/src/base-client/components/common/XTree/index.md +36 -36
  169. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  170. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  171. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  172. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  173. package/src/base-client/components/his/XHisEditor/XHisEditor.vue +12 -12
  174. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  175. package/src/base-client/components/index.js +51 -51
  176. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  177. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  178. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  179. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  180. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  181. package/src/base-client/plugins/Config.js +19 -19
  182. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  183. package/src/base-client/plugins/Recording.js +258 -258
  184. package/src/base-client/plugins/index.js +23 -23
  185. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  186. package/src/components/Charts/Bar.vue +62 -62
  187. package/src/components/Charts/ChartCard.vue +134 -134
  188. package/src/components/Charts/Liquid.vue +67 -67
  189. package/src/components/Charts/MiniArea.vue +39 -39
  190. package/src/components/Charts/MiniBar.vue +39 -39
  191. package/src/components/Charts/MiniProgress.vue +75 -75
  192. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  193. package/src/components/Charts/Radar.vue +68 -68
  194. package/src/components/Charts/RankList.vue +77 -77
  195. package/src/components/Charts/TagCloud.vue +113 -113
  196. package/src/components/Charts/TransferBar.vue +64 -64
  197. package/src/components/Charts/Trend.vue +82 -82
  198. package/src/components/Charts/chart.less +12 -12
  199. package/src/components/Charts/smooth.area.less +13 -13
  200. package/src/components/CodeMirror/inedx.vue +118 -118
  201. package/src/components/CodeMirror/setting.js +40 -40
  202. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  203. package/src/components/NumberInfo/index.js +3 -3
  204. package/src/components/NumberInfo/index.less +54 -54
  205. package/src/components/NumberInfo/index.md +43 -43
  206. package/src/components/card/ChartCard.vue +79 -79
  207. package/src/components/chart/Bar.vue +60 -60
  208. package/src/components/chart/MiniArea.vue +67 -67
  209. package/src/components/chart/MiniBar.vue +59 -59
  210. package/src/components/chart/MiniProgress.vue +57 -57
  211. package/src/components/chart/Radar.vue +80 -80
  212. package/src/components/chart/RankingList.vue +60 -60
  213. package/src/components/chart/Trend.vue +79 -79
  214. package/src/components/chart/index.less +9 -9
  215. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  216. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  217. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  218. package/src/components/checkbox/index.js +9 -9
  219. package/src/components/exception/ExceptionPage.vue +70 -70
  220. package/src/components/g2Charts/constants.js +202 -202
  221. package/src/components/g2Charts/demo.vue +808 -808
  222. package/src/components/g2Charts/designer.vue +228 -228
  223. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  224. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  225. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  226. package/src/components/g2Charts/index.vue +397 -397
  227. package/src/components/index.js +36 -36
  228. package/src/components/input/IInput.vue +66 -66
  229. package/src/components/menu/SideMenu.vue +75 -75
  230. package/src/components/menu/menu.js +273 -273
  231. package/src/components/setting/Setting.vue +234 -234
  232. package/src/components/tool/AStepItem.vue +60 -60
  233. package/src/config/CreateQueryConfig.js +325 -325
  234. package/src/config/default/antd.config.js +89 -89
  235. package/src/config/default/setting.config.js +55 -55
  236. package/src/font-style/common.txt +1 -1
  237. package/src/font-style/font.css +60 -60
  238. package/src/font-style//345/216/213/347/274/251/345/255/227/344/275/223.bat +1 -1
  239. package/src/layouts/CommonLayout.vue +56 -56
  240. package/src/layouts/PageLayout.vue +151 -151
  241. package/src/layouts/SinglePageView.vue +136 -136
  242. package/src/layouts/header/AdminHeader.vue +132 -132
  243. package/src/layouts/header/HeaderNotice.vue +177 -177
  244. package/src/layouts/header/InstitutionDetail.vue +181 -181
  245. package/src/layouts/tabs/TabsHead.vue +189 -189
  246. package/src/lib.js +1 -1
  247. package/src/mock/extend/index.js +84 -84
  248. package/src/mock/goods/index.js +108 -108
  249. package/src/pages/DefaultExample/index.vue +77 -77
  250. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  251. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  252. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  253. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  254. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  255. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  256. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  257. package/src/pages/DynamicStatistics/index.vue +282 -282
  258. package/src/pages/Example/childIndex.vue +15 -15
  259. package/src/pages/Example/index.vue +30 -30
  260. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  261. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  262. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  263. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  264. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  265. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  266. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  267. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  268. package/src/pages/Recording/index.vue +77 -77
  269. package/src/pages/ServiceReview/index.vue +284 -284
  270. package/src/pages/SubExample/index.vue +26 -26
  271. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  272. package/src/pages/XReportView/index.vue +64 -64
  273. package/src/pages/XTreeOneProExample/index.vue +67 -67
  274. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  275. package/src/pages/login/Login.vue +379 -379
  276. package/src/pages/login/LoginV3.vue +389 -389
  277. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  278. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  279. package/src/pages/report/ReportTable.js +124 -124
  280. package/src/pages/resourceManage/orgListManage.vue +98 -98
  281. package/src/pages/system/dictionary/index.vue +44 -44
  282. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  283. package/src/pages/system/monitor/operLog/index.vue +37 -37
  284. package/src/pages/system/settings/modifyPassword.vue +117 -117
  285. package/src/pages/system/ticket/index.vue +480 -480
  286. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  287. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  288. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  289. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  290. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  291. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  292. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  293. package/src/plugins/EventLogPlugin.js +33 -33
  294. package/src/plugins/FindParentsData.js +17 -17
  295. package/src/router/async/config.async.js +35 -35
  296. package/src/router/async/router.map.js +1 -0
  297. package/src/router/index.js +27 -27
  298. package/src/services/DataModel.js +30 -30
  299. package/src/services/LodopFuncs.js +137 -137
  300. package/src/services/api/TicketDetailsViewApi.js +46 -46
  301. package/src/services/api/cas.js +79 -79
  302. package/src/services/api/common.js +346 -346
  303. package/src/services/api/entity.js +18 -18
  304. package/src/services/api/index.js +17 -17
  305. package/src/store/modules/account.js +115 -115
  306. package/src/store/modules/index.js +5 -5
  307. package/src/store/modules/lowCode.js +33 -33
  308. package/src/store/modules/setting.js +119 -119
  309. package/src/theme/default/style.less +58 -58
  310. package/src/utils/authority-utils.js +85 -85
  311. package/src/utils/errorCode.js +6 -6
  312. package/src/utils/formatter.js +74 -74
  313. package/src/utils/htmlToPDF.js +108 -108
  314. package/src/utils/htmlToPDFApi.js +5 -5
  315. package/src/utils/login.js +188 -188
  316. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  317. package/src/utils/lowcode/lowcodeLog.js +29 -29
  318. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  319. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  320. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  321. package/src/utils/reg.js +95 -95
  322. package/src/utils/runEvalFunction.js +14 -14
  323. package/src/utils/theme-color-replacer-extend.js +92 -92
  324. package/src/utils/util.js +329 -329
  325. package/src/utils/waterMark.js +31 -31
  326. package/vue.config.js +2 -2
  327. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,255 +1,255 @@
1
- /* @license
2
- * jQuery.print, version 1.5.1
3
- * (c) Sathvik Ponangi, Doers' Guild
4
- * Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
5
- *--------------------------------------------------------------------------*/
6
- (function ($) {
7
- "use strict";
8
- // A nice closure for our definitions
9
- function getjQueryObject(string) {
10
- // Make string a vaild jQuery thing
11
- var jqObj = $("");
12
- try {
13
- jqObj = $(string)
14
- .clone();
15
- } catch (e) {
16
- jqObj = $("<span />")
17
- .html(string);
18
- }
19
- return jqObj;
20
- }
21
-
22
- function printFrame(frameWindow, content, options) {
23
- // Print the selected window/iframe
24
- var def = $.Deferred();
25
- try {
26
- frameWindow = frameWindow.contentWindow || frameWindow.contentDocument || frameWindow;
27
- var wdoc = frameWindow.document || frameWindow.contentDocument || frameWindow;
28
- if(options.doctype) {
29
- wdoc.write(options.doctype);
30
- }
31
- wdoc.write(content);
32
- wdoc.close();
33
- var printed = false;
34
- var callPrint = function () {
35
- if(printed) {
36
- return;
37
- }
38
- // Fix for IE : Allow it to render the iframe
39
- frameWindow.focus();
40
- try {
41
- // Fix for IE11 - printng the whole page instead of the iframe content
42
- if (!frameWindow.document.execCommand('print', false, null)) {
43
- // document.execCommand returns false if it failed -http://stackoverflow.com/a/21336448/937891
44
- frameWindow.print();
45
- }
46
- // focus body as it is losing focus in iPad and content not getting printed
47
- $('body').focus();
48
- } catch (e) {
49
- frameWindow.print();
50
- }
51
- frameWindow.close();
52
- printed = true;
53
- def.resolve();
54
- }
55
- // Print once the frame window loads - seems to work for the new-window option but unreliable for the iframe
56
- $(frameWindow).on("load", callPrint);
57
- // Fallback to printing directly if the frame doesn't fire the load event for whatever reason
58
- setTimeout(callPrint, options.timeout);
59
- } catch (err) {
60
- def.reject(err);
61
- }
62
- return def;
63
- }
64
-
65
- function printContentInIFrame(content, options) {
66
- var $iframe = $(options.iframe + "");
67
- var iframeCount = $iframe.length;
68
- if (iframeCount === 0) {
69
- // Create a new iFrame if none is given
70
- $iframe = $('<iframe height="0" width="0" border="0" wmode="Opaque"/>')
71
- .prependTo('body')
72
- .css({
73
- "position": "absolute",
74
- "top": -999,
75
- "left": -999
76
- });
77
- }
78
- var frameWindow = $iframe.get(0);
79
- return printFrame(frameWindow, content, options)
80
- .done(function () {
81
- // Success
82
- setTimeout(function () {
83
- // Wait for IE
84
- if (iframeCount === 0) {
85
- // Destroy the iframe if created here
86
- $iframe.remove();
87
- }
88
- }, 1000);
89
- })
90
- .fail(function (err) {
91
- // Use the pop-up method if iframe fails for some reason
92
- console.error("Failed to print from iframe", err);
93
- printContentInNewWindow(content, options);
94
- })
95
- .always(function () {
96
- try {
97
- options.deferred.resolve();
98
- } catch (err) {
99
- console.warn('Error notifying deferred', err);
100
- }
101
- });
102
- }
103
-
104
- function printContentInNewWindow(content, options) {
105
- // Open a new window and print selected content
106
- var frameWindow = window.open();
107
- return printFrame(frameWindow, content, options)
108
- .always(function () {
109
- try {
110
- options.deferred.resolve();
111
- } catch (err) {
112
- console.warn('Error notifying deferred', err);
113
- }
114
- });
115
- }
116
-
117
- function isNode(o) {
118
- /* http://stackoverflow.com/a/384380/937891 */
119
- return !!(typeof Node === "object" ? o instanceof Node : o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string");
120
- }
121
- $.print = $.fn.print = function () {
122
- // Print a given set of elements
123
- var options, $this, self = this;
124
- // console.log("Printing", this, arguments);
125
- if (self instanceof $) {
126
- // Get the node if it is a jQuery object
127
- self = self.get(0);
128
- }
129
- if (isNode(self)) {
130
- // If `this` is a HTML element, i.e. for
131
- // $(selector).print()
132
- $this = $(self);
133
- if (arguments.length > 0) {
134
- options = arguments[0];
135
- }
136
- } else {
137
- if (arguments.length > 0) {
138
- // $.print(selector,options)
139
- $this = $(arguments[0]);
140
- if (isNode($this[0])) {
141
- if (arguments.length > 1) {
142
- options = arguments[1];
143
- }
144
- } else {
145
- // $.print(options)
146
- options = arguments[0];
147
- $this = $("html");
148
- }
149
- } else {
150
- // $.print()
151
- $this = $("html");
152
- }
153
- }
154
- // Default options
155
- var defaults = {
156
- globalStyles: true,
157
- mediaPrint: false,
158
- stylesheet: null,
159
- noPrintSelector: ".no-print",
160
- iframe: true,
161
- append: null,
162
- prepend: null,
163
- manuallyCopyFormValues: true,
164
- deferred: $.Deferred(),
165
- timeout: 750,
166
- title: null,
167
- doctype: '<!doctype html>'
168
- };
169
- // Merge with user-options
170
- options = $.extend({}, defaults, (options || {}));
171
- var $styles = $("");
172
- if (options.globalStyles) {
173
- // Apply the stlyes from the current sheet to the printed page
174
- $styles = $("style, link, meta, base, title");
175
- } else if (options.mediaPrint) {
176
- // Apply the media-print stylesheet
177
- $styles = $("link[media=print]");
178
- }
179
- if (options.stylesheet) {
180
- // Add a custom stylesheet if given
181
- $styles = $.merge($styles, $('<link rel="stylesheet" href="' + options.stylesheet + '">'));
182
- }
183
- // Create a copy of the element to print
184
- var copy = $this.clone();
185
- // Wrap it in a span to get the HTML markup string
186
- copy = $("<span/>")
187
- .append(copy);
188
- // Remove unwanted elements
189
- copy.find(options.noPrintSelector)
190
- .remove();
191
- // Add in the styles
192
- copy.append($styles.clone());
193
- // Update title
194
- if (options.title) {
195
- var title = $("title", copy);
196
- if (title.length === 0) {
197
- title = $("<title />");
198
- copy.append(title);
199
- }
200
- title.text(options.title);
201
- }
202
- // Appedned content
203
- copy.append(getjQueryObject(options.append));
204
- // Prepended content
205
- copy.prepend(getjQueryObject(options.prepend));
206
- if (options.manuallyCopyFormValues) {
207
- // Manually copy form values into the HTML for printing user-modified input fields
208
- // http://stackoverflow.com/a/26707753
209
- copy.find("input")
210
- .each(function () {
211
- var $field = $(this);
212
- if ($field.is("[type='radio']") || $field.is("[type='checkbox']")) {
213
- if ($field.prop("checked")) {
214
- $field.attr("checked", "checked");
215
- }
216
- } else {
217
- $field.attr("value", $field.val());
218
- }
219
- });
220
- copy.find("select").each(function () {
221
- var $field = $(this);
222
- $field.find(":selected").attr("selected", "selected");
223
- });
224
- copy.find("textarea").each(function () {
225
- // Fix for https://github.com/DoersGuild/jQuery.print/issues/18#issuecomment-96451589
226
- var $field = $(this);
227
- $field.text($field.val());
228
- });
229
- }
230
- // Get the HTML markup string
231
- var content = copy.html();
232
- // Notify with generated markup & cloned elements - useful for logging, etc
233
- try {
234
- options.deferred.notify('generated_markup', content, copy);
235
- } catch (err) {
236
- console.warn('Error notifying deferred', err);
237
- }
238
- // Destroy the copy
239
- copy.remove();
240
- if (options.iframe) {
241
- // Use an iframe for printing
242
- try {
243
- printContentInIFrame(content, options);
244
- } catch (e) {
245
- // Use the pop-up method if iframe fails for some reason
246
- console.error("Failed to print from iframe", e.stack, e.message);
247
- printContentInNewWindow(content, options);
248
- }
249
- } else {
250
- // Use a new window for printing
251
- printContentInNewWindow(content, options);
252
- }
253
- return this;
254
- };
255
- })(jQuery);
1
+ /* @license
2
+ * jQuery.print, version 1.5.1
3
+ * (c) Sathvik Ponangi, Doers' Guild
4
+ * Licence: CC-By (http://creativecommons.org/licenses/by/3.0/)
5
+ *--------------------------------------------------------------------------*/
6
+ (function ($) {
7
+ "use strict";
8
+ // A nice closure for our definitions
9
+ function getjQueryObject(string) {
10
+ // Make string a vaild jQuery thing
11
+ var jqObj = $("");
12
+ try {
13
+ jqObj = $(string)
14
+ .clone();
15
+ } catch (e) {
16
+ jqObj = $("<span />")
17
+ .html(string);
18
+ }
19
+ return jqObj;
20
+ }
21
+
22
+ function printFrame(frameWindow, content, options) {
23
+ // Print the selected window/iframe
24
+ var def = $.Deferred();
25
+ try {
26
+ frameWindow = frameWindow.contentWindow || frameWindow.contentDocument || frameWindow;
27
+ var wdoc = frameWindow.document || frameWindow.contentDocument || frameWindow;
28
+ if(options.doctype) {
29
+ wdoc.write(options.doctype);
30
+ }
31
+ wdoc.write(content);
32
+ wdoc.close();
33
+ var printed = false;
34
+ var callPrint = function () {
35
+ if(printed) {
36
+ return;
37
+ }
38
+ // Fix for IE : Allow it to render the iframe
39
+ frameWindow.focus();
40
+ try {
41
+ // Fix for IE11 - printng the whole page instead of the iframe content
42
+ if (!frameWindow.document.execCommand('print', false, null)) {
43
+ // document.execCommand returns false if it failed -http://stackoverflow.com/a/21336448/937891
44
+ frameWindow.print();
45
+ }
46
+ // focus body as it is losing focus in iPad and content not getting printed
47
+ $('body').focus();
48
+ } catch (e) {
49
+ frameWindow.print();
50
+ }
51
+ frameWindow.close();
52
+ printed = true;
53
+ def.resolve();
54
+ }
55
+ // Print once the frame window loads - seems to work for the new-window option but unreliable for the iframe
56
+ $(frameWindow).on("load", callPrint);
57
+ // Fallback to printing directly if the frame doesn't fire the load event for whatever reason
58
+ setTimeout(callPrint, options.timeout);
59
+ } catch (err) {
60
+ def.reject(err);
61
+ }
62
+ return def;
63
+ }
64
+
65
+ function printContentInIFrame(content, options) {
66
+ var $iframe = $(options.iframe + "");
67
+ var iframeCount = $iframe.length;
68
+ if (iframeCount === 0) {
69
+ // Create a new iFrame if none is given
70
+ $iframe = $('<iframe height="0" width="0" border="0" wmode="Opaque"/>')
71
+ .prependTo('body')
72
+ .css({
73
+ "position": "absolute",
74
+ "top": -999,
75
+ "left": -999
76
+ });
77
+ }
78
+ var frameWindow = $iframe.get(0);
79
+ return printFrame(frameWindow, content, options)
80
+ .done(function () {
81
+ // Success
82
+ setTimeout(function () {
83
+ // Wait for IE
84
+ if (iframeCount === 0) {
85
+ // Destroy the iframe if created here
86
+ $iframe.remove();
87
+ }
88
+ }, 1000);
89
+ })
90
+ .fail(function (err) {
91
+ // Use the pop-up method if iframe fails for some reason
92
+ console.error("Failed to print from iframe", err);
93
+ printContentInNewWindow(content, options);
94
+ })
95
+ .always(function () {
96
+ try {
97
+ options.deferred.resolve();
98
+ } catch (err) {
99
+ console.warn('Error notifying deferred', err);
100
+ }
101
+ });
102
+ }
103
+
104
+ function printContentInNewWindow(content, options) {
105
+ // Open a new window and print selected content
106
+ var frameWindow = window.open();
107
+ return printFrame(frameWindow, content, options)
108
+ .always(function () {
109
+ try {
110
+ options.deferred.resolve();
111
+ } catch (err) {
112
+ console.warn('Error notifying deferred', err);
113
+ }
114
+ });
115
+ }
116
+
117
+ function isNode(o) {
118
+ /* http://stackoverflow.com/a/384380/937891 */
119
+ return !!(typeof Node === "object" ? o instanceof Node : o && typeof o === "object" && typeof o.nodeType === "number" && typeof o.nodeName === "string");
120
+ }
121
+ $.print = $.fn.print = function () {
122
+ // Print a given set of elements
123
+ var options, $this, self = this;
124
+ // console.log("Printing", this, arguments);
125
+ if (self instanceof $) {
126
+ // Get the node if it is a jQuery object
127
+ self = self.get(0);
128
+ }
129
+ if (isNode(self)) {
130
+ // If `this` is a HTML element, i.e. for
131
+ // $(selector).print()
132
+ $this = $(self);
133
+ if (arguments.length > 0) {
134
+ options = arguments[0];
135
+ }
136
+ } else {
137
+ if (arguments.length > 0) {
138
+ // $.print(selector,options)
139
+ $this = $(arguments[0]);
140
+ if (isNode($this[0])) {
141
+ if (arguments.length > 1) {
142
+ options = arguments[1];
143
+ }
144
+ } else {
145
+ // $.print(options)
146
+ options = arguments[0];
147
+ $this = $("html");
148
+ }
149
+ } else {
150
+ // $.print()
151
+ $this = $("html");
152
+ }
153
+ }
154
+ // Default options
155
+ var defaults = {
156
+ globalStyles: true,
157
+ mediaPrint: false,
158
+ stylesheet: null,
159
+ noPrintSelector: ".no-print",
160
+ iframe: true,
161
+ append: null,
162
+ prepend: null,
163
+ manuallyCopyFormValues: true,
164
+ deferred: $.Deferred(),
165
+ timeout: 750,
166
+ title: null,
167
+ doctype: '<!doctype html>'
168
+ };
169
+ // Merge with user-options
170
+ options = $.extend({}, defaults, (options || {}));
171
+ var $styles = $("");
172
+ if (options.globalStyles) {
173
+ // Apply the stlyes from the current sheet to the printed page
174
+ $styles = $("style, link, meta, base, title");
175
+ } else if (options.mediaPrint) {
176
+ // Apply the media-print stylesheet
177
+ $styles = $("link[media=print]");
178
+ }
179
+ if (options.stylesheet) {
180
+ // Add a custom stylesheet if given
181
+ $styles = $.merge($styles, $('<link rel="stylesheet" href="' + options.stylesheet + '">'));
182
+ }
183
+ // Create a copy of the element to print
184
+ var copy = $this.clone();
185
+ // Wrap it in a span to get the HTML markup string
186
+ copy = $("<span/>")
187
+ .append(copy);
188
+ // Remove unwanted elements
189
+ copy.find(options.noPrintSelector)
190
+ .remove();
191
+ // Add in the styles
192
+ copy.append($styles.clone());
193
+ // Update title
194
+ if (options.title) {
195
+ var title = $("title", copy);
196
+ if (title.length === 0) {
197
+ title = $("<title />");
198
+ copy.append(title);
199
+ }
200
+ title.text(options.title);
201
+ }
202
+ // Appedned content
203
+ copy.append(getjQueryObject(options.append));
204
+ // Prepended content
205
+ copy.prepend(getjQueryObject(options.prepend));
206
+ if (options.manuallyCopyFormValues) {
207
+ // Manually copy form values into the HTML for printing user-modified input fields
208
+ // http://stackoverflow.com/a/26707753
209
+ copy.find("input")
210
+ .each(function () {
211
+ var $field = $(this);
212
+ if ($field.is("[type='radio']") || $field.is("[type='checkbox']")) {
213
+ if ($field.prop("checked")) {
214
+ $field.attr("checked", "checked");
215
+ }
216
+ } else {
217
+ $field.attr("value", $field.val());
218
+ }
219
+ });
220
+ copy.find("select").each(function () {
221
+ var $field = $(this);
222
+ $field.find(":selected").attr("selected", "selected");
223
+ });
224
+ copy.find("textarea").each(function () {
225
+ // Fix for https://github.com/DoersGuild/jQuery.print/issues/18#issuecomment-96451589
226
+ var $field = $(this);
227
+ $field.text($field.val());
228
+ });
229
+ }
230
+ // Get the HTML markup string
231
+ var content = copy.html();
232
+ // Notify with generated markup & cloned elements - useful for logging, etc
233
+ try {
234
+ options.deferred.notify('generated_markup', content, copy);
235
+ } catch (err) {
236
+ console.warn('Error notifying deferred', err);
237
+ }
238
+ // Destroy the copy
239
+ copy.remove();
240
+ if (options.iframe) {
241
+ // Use an iframe for printing
242
+ try {
243
+ printContentInIFrame(content, options);
244
+ } catch (e) {
245
+ // Use the pop-up method if iframe fails for some reason
246
+ console.error("Failed to print from iframe", e.stack, e.message);
247
+ printContentInNewWindow(content, options);
248
+ }
249
+ } else {
250
+ // Use a new window for printing
251
+ printContentInNewWindow(content, options);
252
+ }
253
+ return this;
254
+ };
255
+ })(jQuery);