vue2-client 1.16.98 → 1.16.99

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 +20 -20
  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.message +19 -19
  8. package/.env.scada +19 -19
  9. package/.eslintrc.js +90 -90
  10. package/CHANGELOG.md +830 -830
  11. package/CLAUDE.md +97 -97
  12. package/Components.md +60 -60
  13. package/docs/LowCode/lowcode.md +155 -155
  14. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  15. package/docs/index.md +30 -30
  16. package/index.js +31 -31
  17. package/jest-transform-stub.js +8 -8
  18. package/jest.setup.js +7 -7
  19. package/jsconfig.json +19 -19
  20. package/package.json +112 -112
  21. package/public/his/editor/editor.html +51 -51
  22. package/public/his/editor/mock/bind_data.html +779 -779
  23. package/public/his/editor/mock/data_table.html +40 -40
  24. package/public/his/editor/mock/sign.html +75 -75
  25. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  26. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  27. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  28. package/public/his/editor/vender/date97/calendar.js +4 -4
  29. package/public/his/editor/vender/date97/lang/en.js +13 -13
  30. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  31. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  32. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  33. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  34. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  35. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  36. package/public/his/editor/vender/diff.js +1627 -1627
  37. package/public/his/editor/vender/editor.js +1 -1
  38. package/public/his/editor/vender/fabric.js +31187 -31187
  39. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  40. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  41. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  42. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  43. package/public/his/editor/vender/mui/mui.min.css +4 -4
  44. package/public/his/editor/vender/mui/mui.min.js +5 -5
  45. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  46. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  47. package/public/his/editor/vender/qrcode.js +7 -7
  48. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  49. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  50. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  51. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  52. package/public/his/editor/vender/validator.js +5094 -5094
  53. package/public/his/editor/vender/weui/weui.css +5659 -5659
  54. package/public/his/editor/vender/weui/weui.min.css +4 -4
  55. package/public/his/editor/vender/weui/weui.min.js +11 -11
  56. package/src/assets/img/querySlotDemo.svg +15 -15
  57. package/src/assets/svg/badtwo.svg +1 -1
  58. package/src/assets/svg/goodtwo.svg +1 -1
  59. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  60. package/src/base-client/components/AI/demo.vue +31 -31
  61. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  62. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  63. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  64. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  65. package/src/base-client/components/common/CitySelect/index.js +3 -3
  66. package/src/base-client/components/common/CitySelect/index.md +109 -109
  67. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  68. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  69. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  70. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  71. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  72. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  73. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  74. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  75. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  76. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  77. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  78. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  79. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  80. package/src/base-client/components/common/HIS/demo.vue +61 -61
  81. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  82. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  83. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  84. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  86. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  88. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  89. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  95. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  96. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  97. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  98. package/src/base-client/components/common/Recording/index.js +3 -3
  99. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  100. package/src/base-client/components/common/Tree/index.js +2 -2
  101. package/src/base-client/components/common/Upload/Upload.vue +334 -334
  102. package/src/base-client/components/common/Upload/index.js +3 -3
  103. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  104. package/src/base-client/components/common/XAddNativeForm/XAddNativeForm.vue +1288 -1292
  105. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  106. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +304 -304
  107. package/src/base-client/components/common/XAddNativeFormOA/index.js +3 -3
  108. package/src/base-client/components/common/XAddNativeFormOA/index.md +146 -146
  109. package/src/base-client/components/common/XAddReport/index.js +3 -3
  110. package/src/base-client/components/common/XAddReport/index.md +56 -56
  111. package/src/base-client/components/common/XBadge/XBadge.vue +94 -94
  112. package/src/base-client/components/common/XButtons/XButtonDemo.vue +28 -28
  113. package/src/base-client/components/common/XButtons/index.js +3 -3
  114. package/src/base-client/components/common/XButtons/index.md +61 -61
  115. package/src/base-client/components/common/XCalendar/XCalendar.vue +4 -4
  116. package/src/base-client/components/common/XCard/XCard.vue +64 -64
  117. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  118. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  119. package/src/base-client/components/common/XDataCard/index.js +3 -3
  120. package/src/base-client/components/common/XDataCard/index.md +1 -1
  121. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  122. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  123. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  124. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  125. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  126. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  127. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  128. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  129. package/src/base-client/components/common/XForm/XFormItem.vue +2 -2
  130. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  131. package/src/base-client/components/common/XForm/index.md +178 -178
  132. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  133. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  134. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  135. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  136. package/src/base-client/components/common/XFormTable/demo.vue +89 -89
  137. package/src/base-client/components/common/XFormTable/index.md +92 -92
  138. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  139. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  140. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  141. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  142. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  143. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  144. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  145. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  146. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  147. package/src/base-client/components/common/XPrint/index.vue +97 -97
  148. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  149. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  150. package/src/base-client/components/common/XReport/index.js +3 -3
  151. package/src/base-client/components/common/XReport/print.js +186 -186
  152. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  153. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  154. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  155. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  156. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  157. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  158. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  159. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  160. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  161. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  162. package/src/base-client/components/common/XStepView/index.js +3 -3
  163. package/src/base-client/components/common/XStepView/index.md +31 -31
  164. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  165. package/src/base-client/components/common/XTab/index.js +3 -3
  166. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  167. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  168. package/src/base-client/components/common/XTable/index.md +255 -255
  169. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  170. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  171. package/src/base-client/components/common/XTree/index.js +3 -3
  172. package/src/base-client/components/common/XTree/index.md +36 -36
  173. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  174. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  175. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  176. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  177. package/src/base-client/components/his/XCharge/XChargeDemo.vue +145 -145
  178. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  179. package/src/base-client/components/his/XRadio/XRadio.vue +1 -1
  180. package/src/base-client/components/his/XTitle/XTitle.vue +9 -3
  181. package/src/base-client/components/index.js +51 -51
  182. package/src/base-client/components/layout/XTreeView/XTreeView.vue +130 -130
  183. package/src/base-client/components/layout/XTreeView/index.js +3 -3
  184. package/src/base-client/components/layout/XTreeView/index.md +46 -46
  185. package/src/base-client/components/system/DictionaryDetailsView/DictionaryDetailsView.vue +232 -232
  186. package/src/base-client/components/system/QueryParamsDetailsView/QueryParamsDetailsView.vue +281 -281
  187. package/src/base-client/plugins/Config.js +19 -19
  188. package/src/base-client/plugins/GetLoginInfoService.js +183 -183
  189. package/src/base-client/plugins/Recording.js +258 -258
  190. package/src/base-client/plugins/index.js +23 -23
  191. package/src/base-client/plugins/tabs-page-plugin.js +39 -39
  192. package/src/components/Charts/Bar.vue +62 -62
  193. package/src/components/Charts/ChartCard.vue +134 -134
  194. package/src/components/Charts/Liquid.vue +67 -67
  195. package/src/components/Charts/MiniArea.vue +39 -39
  196. package/src/components/Charts/MiniBar.vue +39 -39
  197. package/src/components/Charts/MiniProgress.vue +75 -75
  198. package/src/components/Charts/MiniSmoothArea.vue +40 -40
  199. package/src/components/Charts/Radar.vue +68 -68
  200. package/src/components/Charts/RankList.vue +77 -77
  201. package/src/components/Charts/TagCloud.vue +113 -113
  202. package/src/components/Charts/TransferBar.vue +64 -64
  203. package/src/components/Charts/Trend.vue +82 -82
  204. package/src/components/Charts/chart.less +12 -12
  205. package/src/components/Charts/smooth.area.less +13 -13
  206. package/src/components/CodeMirror/inedx.vue +118 -118
  207. package/src/components/CodeMirror/setting.js +40 -40
  208. package/src/components/NumberInfo/NumberInfo.vue +54 -54
  209. package/src/components/NumberInfo/index.js +3 -3
  210. package/src/components/NumberInfo/index.less +54 -54
  211. package/src/components/NumberInfo/index.md +43 -43
  212. package/src/components/card/ChartCard.vue +79 -79
  213. package/src/components/chart/Bar.vue +60 -60
  214. package/src/components/chart/MiniArea.vue +67 -67
  215. package/src/components/chart/MiniBar.vue +59 -59
  216. package/src/components/chart/MiniProgress.vue +57 -57
  217. package/src/components/chart/Radar.vue +80 -80
  218. package/src/components/chart/RankingList.vue +60 -60
  219. package/src/components/chart/Trend.vue +79 -79
  220. package/src/components/chart/index.less +9 -9
  221. package/src/components/checkbox/ColorCheckbox.vue +157 -157
  222. package/src/components/checkbox/ImgCheckbox.vue +117 -117
  223. package/src/components/checkbox/ImgCheckboxGroup.vue +76 -76
  224. package/src/components/checkbox/index.js +9 -9
  225. package/src/components/exception/ExceptionPage.vue +70 -70
  226. package/src/components/g2Charts/constants.js +202 -202
  227. package/src/components/g2Charts/demo.vue +808 -808
  228. package/src/components/g2Charts/designer.vue +228 -228
  229. package/src/components/g2Charts/designerBaseConfig.vue +61 -61
  230. package/src/components/g2Charts/designerDataConfig.vue +259 -259
  231. package/src/components/g2Charts/designerStyleConfig.vue +16 -16
  232. package/src/components/g2Charts/index.vue +397 -397
  233. package/src/components/index.js +36 -36
  234. package/src/components/input/IInput.vue +66 -66
  235. package/src/components/menu/SideMenu.vue +75 -75
  236. package/src/components/menu/menu.js +273 -273
  237. package/src/components/setting/Setting.vue +234 -234
  238. package/src/components/tool/AStepItem.vue +60 -60
  239. package/src/config/CreateQueryConfig.js +325 -325
  240. package/src/config/default/antd.config.js +89 -89
  241. package/src/config/default/setting.config.js +55 -55
  242. package/src/font-style/font.css +60 -60
  243. package/src/layouts/CommonLayout.vue +56 -56
  244. package/src/layouts/PageLayout.vue +151 -151
  245. package/src/layouts/SinglePageView.vue +136 -136
  246. package/src/layouts/header/AdminHeader.vue +132 -132
  247. package/src/layouts/header/HeaderNotice.vue +177 -177
  248. package/src/layouts/header/InstitutionDetail.vue +181 -181
  249. package/src/layouts/tabs/TabsHead.vue +189 -189
  250. package/src/lib.js +1 -1
  251. package/src/mock/extend/index.js +84 -84
  252. package/src/mock/goods/index.js +108 -108
  253. package/src/pages/DefaultExample/index.vue +77 -77
  254. package/src/pages/DynamicStatistics/ChartSelector.vue +331 -331
  255. package/src/pages/DynamicStatistics/DataTabs.vue +83 -83
  256. package/src/pages/DynamicStatistics/DynamicTable.vue +128 -128
  257. package/src/pages/DynamicStatistics/EvaluationArea.vue +69 -69
  258. package/src/pages/DynamicStatistics/FavoriteList.vue +50 -50
  259. package/src/pages/DynamicStatistics/QuestionHistoryAndFavorites.vue +591 -591
  260. package/src/pages/DynamicStatistics/SearchBar.vue +192 -192
  261. package/src/pages/DynamicStatistics/index.vue +282 -282
  262. package/src/pages/Example/childIndex.vue +15 -15
  263. package/src/pages/Example/index.vue +30 -30
  264. package/src/pages/NewDynamicStatistics/ChartSelector.vue +331 -331
  265. package/src/pages/NewDynamicStatistics/DataTabs.vue +122 -122
  266. package/src/pages/NewDynamicStatistics/DynamicTable.vue +128 -128
  267. package/src/pages/NewDynamicStatistics/EvaluationArea.vue +69 -69
  268. package/src/pages/NewDynamicStatistics/FavoriteList.vue +50 -50
  269. package/src/pages/NewDynamicStatistics/QuestionHistoryAndFavorites.vue +289 -289
  270. package/src/pages/NewDynamicStatistics/SearchBar.vue +193 -193
  271. package/src/pages/NewDynamicStatistics/index.vue +258 -258
  272. package/src/pages/Recording/index.vue +77 -77
  273. package/src/pages/ServiceReview/index.vue +284 -284
  274. package/src/pages/SubExample/index.vue +26 -26
  275. package/src/pages/WorkflowDetail/WorkflowPageDetail/TrimTextTail.vue +23 -23
  276. package/src/pages/XReportView/index.vue +64 -64
  277. package/src/pages/XTreeOneProExample/index.vue +67 -67
  278. package/src/pages/dashboard/workplace/WorkPlace.vue +141 -141
  279. package/src/pages/login/Login.vue +379 -379
  280. package/src/pages/login/LoginV3.vue +389 -389
  281. package/src/pages/lowCode/lowCodeEditor.vue +1219 -1219
  282. package/src/pages/lowCode/lowCodeRenderPage.vue +43 -43
  283. package/src/pages/report/ReportTable.js +124 -124
  284. package/src/pages/resourceManage/orgListManage.vue +98 -98
  285. package/src/pages/system/dictionary/index.vue +44 -44
  286. package/src/pages/system/monitor/loginInfor/index.vue +37 -37
  287. package/src/pages/system/monitor/operLog/index.vue +37 -37
  288. package/src/pages/system/settings/modifyPassword.vue +117 -117
  289. package/src/pages/system/ticket/index.vue +480 -480
  290. package/src/pages/system/ticket/submitTicketSuccess.vue +484 -484
  291. package/src/pages/userInfoDetailManage/ChangeMeterRecordQuery/index.vue +64 -64
  292. package/src/pages/userInfoDetailManage/InfoChangeRecordQuery/index.vue +64 -64
  293. package/src/pages/userInfoDetailManage/InstructRecordQuery/index.vue +64 -64
  294. package/src/pages/userInfoDetailManage/MeterParamRecordQuery/index.vue +64 -64
  295. package/src/pages/userInfoDetailManage/TransferRecordQuery/index.vue +66 -66
  296. package/src/pages/userInfoDetailManage/WatchCollectionRecordQuery/index.vue +64 -64
  297. package/src/plugins/EventLogPlugin.js +33 -33
  298. package/src/plugins/FindParentsData.js +17 -17
  299. package/src/services/DataModel.js +30 -30
  300. package/src/services/LodopFuncs.js +137 -137
  301. package/src/services/api/TicketDetailsViewApi.js +46 -46
  302. package/src/services/api/cas.js +79 -79
  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/map-utils.js +47 -47
  322. package/src/utils/reg.js +95 -95
  323. package/src/utils/runEvalFunction.js +14 -14
  324. package/src/utils/theme-color-replacer-extend.js +92 -92
  325. package/src/utils/util.js +329 -329
  326. package/src/utils/waterMark.js +31 -31
  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);