vue2-client 1.16.20 → 1.16.21

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 (331) hide show
  1. package/.cursorrules +19 -19
  2. package/.env.apply +19 -19
  3. package/.env.gaslink +19 -19
  4. package/.env.his +19 -19
  5. package/.env.liuli +20 -20
  6. package/.env.scada +19 -19
  7. package/.eslintrc.js +90 -90
  8. package/CHANGELOG.md +824 -824
  9. package/Components.md +60 -60
  10. package/docs/LowCode/lowcode.md +155 -155
  11. package/docs/LowCode/lowcodeForDeveloper.md +230 -230
  12. package/docs/index.md +30 -30
  13. package/index.js +31 -31
  14. package/jest-transform-stub.js +8 -8
  15. package/jest.setup.js +7 -7
  16. package/jsconfig.json +19 -19
  17. package/package.json +112 -112
  18. package/public/his/editor/editor.html +51 -51
  19. package/public/his/editor/mock/bind_data.html +779 -779
  20. package/public/his/editor/mock/data_table.html +40 -40
  21. package/public/his/editor/mock/sign.html +75 -75
  22. package/public/his/editor/vender/JsBarcode.all.js +3669 -3669
  23. package/public/his/editor/vender/date97/My97DatePicker.htm +65 -65
  24. package/public/his/editor/vender/date97/WdatePicker.js +677 -677
  25. package/public/his/editor/vender/date97/calendar.js +4 -4
  26. package/public/his/editor/vender/date97/lang/en.js +13 -13
  27. package/public/his/editor/vender/date97/lang/zh-cn.js +13 -13
  28. package/public/his/editor/vender/date97/lang/zh-tw.js +13 -13
  29. package/public/his/editor/vender/date97/skin/WdatePicker.css +10 -10
  30. package/public/his/editor/vender/date97/skin/default/datepicker.css +328 -328
  31. package/public/his/editor/vender/date97/skin/ext/datepicker.css +308 -308
  32. package/public/his/editor/vender/date97/skin/whyGreen/datepicker.css +255 -255
  33. package/public/his/editor/vender/diff.js +1627 -1627
  34. package/public/his/editor/vender/editor.js +1 -1
  35. package/public/his/editor/vender/fabric.js +31187 -31187
  36. package/public/his/editor/vender/jquery/jquery.base64.js +190 -190
  37. package/public/his/editor/vender/jquery/jquery.js +10872 -10872
  38. package/public/his/editor/vender/jquery/jquery.print.js +255 -255
  39. package/public/his/editor/vender/jquery/zTreeStyle/zTreeStyle.css +96 -96
  40. package/public/his/editor/vender/mui/mui.min.css +4 -4
  41. package/public/his/editor/vender/mui/mui.min.js +5 -5
  42. package/public/his/editor/vender/mui/mui.picker.min.css +6 -6
  43. package/public/his/editor/vender/mui/mui.picker.min.js +6 -6
  44. package/public/his/editor/vender/qrcode.js +7 -7
  45. package/public/his/editor/vender/requirejs/require.js +2145 -2145
  46. package/public/his/editor/vender/signature/jSignature.CompressorSVG.js +518 -518
  47. package/public/his/editor/vender/signature/jSignature.UndoButton.js +164 -164
  48. package/public/his/editor/vender/signature/jSignature.js +1486 -1486
  49. package/public/his/editor/vender/validator.js +5094 -5094
  50. package/public/his/editor/vender/weui/weui.css +5659 -5659
  51. package/public/his/editor/vender/weui/weui.min.css +4 -4
  52. package/public/his/editor/vender/weui/weui.min.js +11 -11
  53. package/src/assets/img/querySlotDemo.svg +15 -15
  54. package/src/assets/svg/badtwo.svg +1 -1
  55. package/src/assets/svg/goodtwo.svg +1 -1
  56. package/src/base-client/components/AI/AskAiBtn.vue +136 -136
  57. package/src/base-client/components/AI/demo.vue +31 -31
  58. package/src/base-client/components/common/AddressSearchCombobox/IcMapIcon.vue +16 -16
  59. package/src/base-client/components/common/AddressSearchCombobox/demo.vue +36 -36
  60. package/src/base-client/components/common/AddressSearchCombobox/ic_map.svg +6 -6
  61. package/src/base-client/components/common/AmapMarker/AmapPointRendering.vue +120 -120
  62. package/src/base-client/components/common/CitySelect/index.js +3 -3
  63. package/src/base-client/components/common/CitySelect/index.md +109 -109
  64. package/src/base-client/components/common/CreateQuery/CreateQuery.vue +669 -669
  65. package/src/base-client/components/common/CreateQuery/CreateQueryItem.vue +1014 -1014
  66. package/src/base-client/components/common/CreateQuery/index.js +3 -3
  67. package/src/base-client/components/common/CreateQuery/index.md +42 -42
  68. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQuery.vue +452 -452
  69. package/src/base-client/components/common/CreateSimpleFormQuery/CreateSimpleFormQueryItem.vue +511 -511
  70. package/src/base-client/components/common/CreateSimpleFormQuery/index.js +3 -3
  71. package/src/base-client/components/common/CreateSimpleFormQuery/index.md +42 -42
  72. package/src/base-client/components/common/FormGroupEdit/index.js +3 -3
  73. package/src/base-client/components/common/FormGroupEdit/index.md +43 -43
  74. package/src/base-client/components/common/FormGroupQuery/FormGroupQuery.vue +166 -166
  75. package/src/base-client/components/common/FormGroupQuery/index.js +3 -3
  76. package/src/base-client/components/common/FormGroupQuery/index.md +43 -43
  77. package/src/base-client/components/common/HIS/HAddNativeForm/HAddNativeForm.vue +478 -466
  78. package/src/base-client/components/common/HIS/HAddNativeForm/index.js +3 -3
  79. package/src/base-client/components/common/HIS/HButtons/HButtons.vue +365 -365
  80. package/src/base-client/components/common/HIS/HFormTable/HFormTable.vue +219 -219
  81. package/src/base-client/components/common/HIS/HTab/HTab.vue +293 -293
  82. package/src/base-client/components/common/HIS/demo.vue +54 -54
  83. package/src/base-client/components/common/JSONToTree/jsontotree.vue +271 -271
  84. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorModal.vue +108 -108
  85. package/src/base-client/components/common/LowCodeComponent/LowCodeEditorPanel.vue +413 -413
  86. package/src/base-client/components/common/LowCodeComponent/LowCodePageOrganization.vue +502 -502
  87. package/src/base-client/components/common/LowCodeComponent/LowCodeRender.vue +728 -728
  88. package/src/base-client/components/common/LowCodeComponent/LowCodeRenderEnter.vue +29 -29
  89. package/src/base-client/components/common/LowCodeComponent/LowCodeUIStore.vue +219 -219
  90. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeAddPageModal.vue +117 -117
  91. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeCustomJSModal.vue +80 -80
  92. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeEventEditorModal.vue +398 -398
  93. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLifeCycleModal.vue +65 -65
  94. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicCallbackModal.vue +64 -64
  95. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeLogicParamModal.vue +73 -73
  96. package/src/base-client/components/common/LowCodeComponent/modal/lowCodeRunFunctionParamModal.vue +76 -76
  97. package/src/base-client/components/common/PersonSetting/PersonSetting.vue +208 -208
  98. package/src/base-client/components/common/PersonSetting/index.js +3 -3
  99. package/src/base-client/components/common/Recording/Recording.vue +243 -243
  100. package/src/base-client/components/common/Recording/index.js +3 -3
  101. package/src/base-client/components/common/Tree/Tree.vue +149 -149
  102. package/src/base-client/components/common/Tree/index.js +2 -2
  103. package/src/base-client/components/common/Upload/index.js +3 -3
  104. package/src/base-client/components/common/XAddForm/XAddForm.vue +113 -113
  105. package/src/base-client/components/common/XAddNativeForm/index.md +146 -146
  106. package/src/base-client/components/common/XAddNativeFormOA/XAddNativeFormOA.vue +303 -303
  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/XCard/XCard.vue +64 -64
  116. package/src/base-client/components/common/XCheckList/XCheckList.vue +106 -106
  117. package/src/base-client/components/common/XCheckList/XCheckListDemo.vue +41 -41
  118. package/src/base-client/components/common/XDataCard/index.js +3 -3
  119. package/src/base-client/components/common/XDataCard/index.md +1 -1
  120. package/src/base-client/components/common/XDataDrawer/XDataDrawer.vue +180 -180
  121. package/src/base-client/components/common/XDataDrawer/index.js +3 -3
  122. package/src/base-client/components/common/XDataDrawer/index.md +41 -41
  123. package/src/base-client/components/common/XDatePicker/demo.vue +153 -153
  124. package/src/base-client/components/common/XDescriptions/index.js +3 -3
  125. package/src/base-client/components/common/XDescriptions/index.md +83 -83
  126. package/src/base-client/components/common/XDetailsView/XDetailsView.vue +238 -238
  127. package/src/base-client/components/common/XDetailsView/index.js +3 -3
  128. package/src/base-client/components/common/XForm/XStatusButton.vue +54 -54
  129. package/src/base-client/components/common/XForm/index.md +178 -178
  130. package/src/base-client/components/common/XForm/itemComponent/XClickChangeBtn/index.vue +49 -49
  131. package/src/base-client/components/common/XFormGroup/index.js +3 -3
  132. package/src/base-client/components/common/XFormGroup/index.md +38 -38
  133. package/src/base-client/components/common/XFormGroupDetails/XFormGroupDetails.vue +72 -72
  134. package/src/base-client/components/common/XFormGroupDetails/index.js +3 -3
  135. package/src/base-client/components/common/XFormTable/index.md +92 -92
  136. package/src/base-client/components/common/XLabelSelect/XLabelSelect.vue +110 -110
  137. package/src/base-client/components/common/XLabelSelect/XLabelSelectDemo.vue +35 -35
  138. package/src/base-client/components/common/XLicensePlate/XLicensePlate.vue +193 -193
  139. package/src/base-client/components/common/XLicensePlate/XLicensePlateDemo.vue +48 -48
  140. package/src/base-client/components/common/XPrint/OpenInvoice.vue +21 -21
  141. package/src/base-client/components/common/XPrint/PrintHtml.js +98 -98
  142. package/src/base-client/components/common/XPrint/css/hiPrintCss.js +359 -359
  143. package/src/base-client/components/common/XPrint/css/lodopCss.js +26 -26
  144. package/src/base-client/components/common/XPrint/css/print-lock.css +351 -351
  145. package/src/base-client/components/common/XPrint/index.vue +97 -97
  146. package/src/base-client/components/common/XReport/XReportDesign.vue +463 -463
  147. package/src/base-client/components/common/XReport/XReportJsonRender.vue +381 -381
  148. package/src/base-client/components/common/XReport/index.js +3 -3
  149. package/src/base-client/components/common/XReport/print.js +186 -186
  150. package/src/base-client/components/common/XReportDrawer/index.js +3 -3
  151. package/src/base-client/components/common/XReportGrid/XReportTrGroup.vue +813 -813
  152. package/src/base-client/components/common/XReportGrid/index.js +3 -3
  153. package/src/base-client/components/common/XReportGrid/index.md +44 -44
  154. package/src/base-client/components/common/XReportSlot/XReportSlot.vue +110 -110
  155. package/src/base-client/components/common/XReportSlot/index.js +3 -3
  156. package/src/base-client/components/common/XReportSlot/index.md +48 -48
  157. package/src/base-client/components/common/XSimpleDescriptions/XSimpleDescriptions.vue +166 -166
  158. package/src/base-client/components/common/XSimpleDescriptions/index.js +3 -3
  159. package/src/base-client/components/common/XSimpleDescriptions/index.md +7 -7
  160. package/src/base-client/components/common/XStepView/XStepView.vue +252 -252
  161. package/src/base-client/components/common/XStepView/index.js +3 -3
  162. package/src/base-client/components/common/XStepView/index.md +31 -31
  163. package/src/base-client/components/common/XTab/XTabDemo.vue +22 -22
  164. package/src/base-client/components/common/XTab/index.js +3 -3
  165. package/src/base-client/components/common/XTable/CustomFuncCel.vue +51 -51
  166. package/src/base-client/components/common/XTable/TableCellRenderer.vue +161 -161
  167. package/src/base-client/components/common/XTable/index.md +255 -255
  168. package/src/base-client/components/common/XTagGroup/index.vue +52 -52
  169. package/src/base-client/components/common/XTree/XTree.vue +424 -424
  170. package/src/base-client/components/common/XTree/index.js +3 -3
  171. package/src/base-client/components/common/XTree/index.md +36 -36
  172. package/src/base-client/components/common/XTreeOne/XTreeOne.vue +113 -113
  173. package/src/base-client/components/common/XTreeOne/XTreeOnePro.vue +128 -128
  174. package/src/base-client/components/common/richTextModal/index.vue +56 -56
  175. package/src/base-client/components/common/richTextModal/richDemo.vue +48 -48
  176. package/src/base-client/components/his/XCharge/XCharge.vue +610 -610
  177. package/src/base-client/components/his/XHisEditor/index.js +3 -3
  178. package/src/base-client/components/his/XSidebar/XSidebar.vue +283 -283
  179. package/src/base-client/components/his/XSimpleTable/XSimpleTable.vue +119 -119
  180. package/src/base-client/components/his/threeTestOrders/threeTestOrders.vue +481 -481
  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/router/async/config.async.js +35 -35
  300. package/src/router/async/router.map.js +129 -129
  301. package/src/router/index.js +27 -27
  302. package/src/services/DataModel.js +30 -30
  303. package/src/services/LodopFuncs.js +137 -137
  304. package/src/services/api/TicketDetailsViewApi.js +46 -46
  305. package/src/services/api/cas.js +79 -79
  306. package/src/services/api/common.js +346 -346
  307. package/src/services/api/entity.js +18 -18
  308. package/src/services/api/index.js +17 -17
  309. package/src/store/modules/account.js +115 -115
  310. package/src/store/modules/index.js +5 -5
  311. package/src/store/modules/lowCode.js +33 -33
  312. package/src/store/modules/setting.js +119 -119
  313. package/src/theme/default/style.less +58 -58
  314. package/src/utils/authority-utils.js +85 -85
  315. package/src/utils/errorCode.js +6 -6
  316. package/src/utils/formatter.js +74 -74
  317. package/src/utils/htmlToPDF.js +108 -108
  318. package/src/utils/htmlToPDFApi.js +5 -5
  319. package/src/utils/login.js +188 -188
  320. package/src/utils/lowcode/lowcodeComponentMixin.js +120 -120
  321. package/src/utils/lowcode/lowcodeLog.js +29 -29
  322. package/src/utils/lowcode/lowcodeUtils.js +373 -373
  323. package/src/utils/lowcode/registerComponentForEditor.js +1 -1
  324. package/src/utils/lowcode/registerComponentForRender.js +11 -11
  325. package/src/utils/map-utils.js +47 -47
  326. package/src/utils/reg.js +95 -95
  327. package/src/utils/runEvalFunction.js +14 -14
  328. package/src/utils/theme-color-replacer-extend.js +92 -92
  329. package/src/utils/util.js +329 -329
  330. package/src/utils/waterMark.js +31 -31
  331. package//350/277/201/347/247/273/346/227/245/345/277/227.md +15 -15
@@ -1,678 +1,678 @@
1
- /*
2
- * My97 DatePicker 4.8.5
3
- * License: http://www.my97.net/license.asp
4
- */
5
- var $dp, WdatePicker;
6
- (function () {
7
- var Config = {
8
- $langList: [{
9
- name: 'en',
10
- charset: 'UTF-8'
11
- },
12
- {
13
- name: 'zh-cn',
14
- charset: 'gb2312'
15
- },
16
- {
17
- name: 'zh-tw',
18
- charset: 'GBK'
19
- }
20
- ],
21
- $skinList: [{
22
- name: 'default',
23
- charset: 'gb2312'
24
- },
25
- {
26
- name: 'whyGreen',
27
- charset: 'gb2312'
28
- },
29
- {
30
- name: 'blue',
31
- charset: 'gb2312'
32
- },
33
- {
34
- name: 'green',
35
- charset: 'gb2312'
36
- },
37
- {
38
- name: 'simple',
39
- charset: 'gb2312'
40
- },
41
- {
42
- name: 'ext',
43
- charset: 'gb2312'
44
- },
45
- {
46
- name: 'blueFresh',
47
- charset: 'gb2312'
48
- },
49
- {
50
- name: 'twoer',
51
- charset: 'gb2312'
52
- },
53
- {
54
- name: 'YcloudRed',
55
- charset: 'gb2312'
56
- },
57
- {
58
- name: 'thinkpap',
59
- charset: 'gb2312'
60
- }
61
- ],
62
- $wdate: false,
63
- $crossFrame: false,
64
- $preLoad: false,
65
- $dpPath: '',
66
- doubleCalendar: false,
67
- enableKeyboard: true,
68
- enableInputMask: true,
69
- autoUpdateOnChanged: null,
70
- weekMethod: 'MSExcel',
71
- position: {},
72
- lang: 'auto',
73
- skin: 'default',
74
- dateFmt: 'yyyy年MM月dd日 HH时mm分',
75
- realDateFmt: 'yyyy-MM-dd',
76
- realTimeFmt: 'HH:mm:ss',
77
- realFullFmt: '%Date %Time',
78
- minDate: '0001-01-01 00:00:00',
79
- maxDate: '9999-12-31 23:59:59',
80
- minTime: '00:00:00',
81
- maxTime: '23:59:59',
82
- startDate: '',
83
- alwaysUseStartDate: false,
84
- yearOffset: 1911,
85
- firstDayOfWeek: 0,
86
- isShowWeek: false,
87
- highLineWeekDay: true,
88
- isShowClear: true,
89
- isShowToday: true,
90
- isShowOK: true,
91
- isShowOthers: true,
92
- readOnly: false,
93
- errDealMode: 0,
94
- autoPickDate: null,
95
- qsEnabled: true,
96
- autoShowQS: false,
97
- hmsMenuCfg: {
98
- H: [1, 6],
99
- m: [5, 6],
100
- s: [15, 4]
101
- },
102
-
103
- opposite: false,
104
- specialDates: null,
105
- specialDays: null,
106
- disabledDates: null,
107
- disabledDays: null,
108
- onpicking: null,
109
- onpicked: null,
110
- onclearing: null,
111
- oncleared: null,
112
- ychanging: null,
113
- ychanged: null,
114
- Mchanging: null,
115
- Mchanged: null,
116
- dchanging: null,
117
- dchanged: null,
118
- Hchanging: null,
119
- Hchanged: null,
120
- mchanging: null,
121
- mchanged: null,
122
- schanging: null,
123
- schanged: null,
124
- eCont: null,
125
- vel: null,
126
- elProp: '',
127
- errMsg: '',
128
- quickSel: [],
129
- has: {},
130
- getRealLang: function () {
131
- var arr = Config.$langList;
132
- for (var i = 0; i < arr.length; i++) {
133
- if (arr[i].name == this.lang) {
134
- return arr[i]
135
- }
136
- }
137
- return arr[0]
138
- }
139
- };
140
- WdatePicker = main;
141
- var w = window,
142
- emptyEl = {
143
- innerHTML: ''
144
- },
145
- d = 'document',
146
- de = 'documentElement',
147
- tag = 'getElementsByTagName',
148
- dptop, jsPath, $IE, $FF, $OPERA;
149
- var ua = navigator.userAgent,
150
- isTablet = /(?:iPad|PlayBook)/.test(ua) || (/(?:Android)/.test(ua) && !/(?:Mobile)/.test(ua)),
151
- isPhone = /(?:iPhone)/.test(ua) || /(?:Android)/.test(ua) && /(?:Mobile)/.test(ua);
152
- var appName = navigator.appName;
153
- if (appName == 'Microsoft Internet Explorer') $IE = true;
154
- else if (appName == 'Opera') $OPERA = true;
155
- else $FF = true;
156
- jsPath = Config.$dpPath || getJsPath();
157
- if (Config.$wdate) {
158
- loadCSS(jsPath + 'skin/WdatePicker.css')
159
- }
160
- dptop = w;
161
- if (Config.$crossFrame) {
162
- try {
163
- while (dptop.parent != dptop && dptop.parent[d][tag]('frameset').length == 0) {
164
- dptop = dptop.parent
165
- }
166
- } catch (e) {}
167
- }
168
- if (!dptop.$dp) {
169
- dptop.$dp = {
170
- ff: $FF,
171
- ie: $IE,
172
- opera: $OPERA,
173
- status: 0,
174
- defMinDate: Config.minDate,
175
- defMaxDate: Config.maxDate,
176
- isTablet: isTablet,
177
- isPhone: isPhone,
178
- isTouch: isTablet || isPhone
179
- }
180
- }
181
- initTopDP();
182
- if (Config.$preLoad && $dp.status == 0) {
183
- dpAttachEvent(w, 'onload', function () {
184
- main(null, true)
185
- })
186
- }
187
- var docEventName = $dp.isTouch ? 'ontouchstart' : 'onmousedown';
188
- if (!w[d].docMD) {
189
- dpAttachEvent(w[d], docEventName, disposeDP, true);
190
- w[d].docMD = true
191
- }
192
- if (!dptop[d].docMD) {
193
- dpAttachEvent(dptop[d], docEventName, disposeDP, true);
194
- dptop[d].docMD = true
195
- }
196
- dpAttachEvent(w, 'onunload', function () {
197
- if ($dp.dd) {
198
- display($dp.dd, "none")
199
- }
200
- });
201
-
202
- function initTopDP() {
203
- try {
204
- dptop[d], dptop.$dp = dptop.$dp || {}
205
- } catch (e) {
206
- dptop = w;
207
- $dp = $dp || {}
208
- }
209
- var obj = {
210
- win: w,
211
- $: function (el) {
212
- return (typeof el == 'string') ? w[d].getElementById(el) : el
213
- },
214
- $D: function (id, arg) {
215
- return this.$DV(this.$(id).value, arg)
216
- },
217
- $DV: function (v, arg) {
218
- if (v != '') {
219
- this.dt = $dp.cal.splitDate(v, $dp.cal.dateFmt);
220
- if (arg) {
221
- for (var p in arg) {
222
- if (this.dt[p] === undefined) {
223
- this.errMsg = 'invalid property:' + p
224
- } else {
225
- this.dt[p] += arg[p];
226
- if (p == 'M') {
227
- var offset = arg['M'] > 0 ? 1 : 0;
228
- var tmpday = new Date(this.dt['y'], this.dt['M'], 0).getDate();
229
- this.dt['d'] = Math.min(tmpday + offset, this.dt['d'])
230
- }
231
- }
232
- }
233
- }
234
- if (this.dt.refresh()) {
235
- return this.dt
236
- }
237
- }
238
- return ''
239
- },
240
- show: function () {
241
- var divs = dptop[d].getElementsByTagName('div'),
242
- maxZIndex = 1e5;
243
- for (var i = 0; i < divs.length; i++) {
244
- var curZ = parseInt(divs[i].style.zIndex);
245
- if (curZ > maxZIndex) {
246
- maxZIndex = curZ
247
- }
248
- }
249
- this.dd.style.zIndex = maxZIndex + 2;
250
- display(this.dd, "block");
251
- display(this.dd.firstChild, "")
252
- },
253
- unbind: function (el) {
254
- el = this.$(el);
255
- if (el.initcfg) {
256
- dpDetachEvent(el, 'onclick', function () {
257
- main(el.initcfg)
258
- });
259
- dpDetachEvent(el, 'onfocus', function () {
260
- main(el.initcfg)
261
- })
262
- }
263
- },
264
- hide: function () {
265
- display(this.dd, "none")
266
- },
267
- attachEvent: dpAttachEvent
268
- };
269
- for (var p in obj) {
270
- dptop.$dp[p] = obj[p];
271
- }
272
- $dp = dptop.$dp
273
- }
274
-
275
- function dpAttachEvent(o, sType, fHandler, useCapture) {
276
- if (o.addEventListener) {
277
- var shortTypeName = sType.replace(/on/, "");
278
- fHandler._ieEmuEventHandler = function (e) {
279
- return fHandler(e)
280
- };
281
- o.addEventListener(shortTypeName, fHandler._ieEmuEventHandler, useCapture)
282
- } else {
283
- o.attachEvent(sType, fHandler)
284
- }
285
- }
286
-
287
- function dpDetachEvent(o, sType, fHandler) {
288
- if (o.removeEventListener) {
289
- var shortTypeName = sType.replace(/on/, "");
290
- fHandler._ieEmuEventHandler = function (e) {
291
- return fHandler(e)
292
- };
293
- o.removeEventListener(shortTypeName, fHandler._ieEmuEventHandler, false)
294
- } else {
295
- o.detachEvent(sType, fHandler)
296
- }
297
- }
298
-
299
- function compareCfg(o1, o2, issub) {
300
- if (typeof o1 != typeof o2) return false;
301
- if (typeof o1 == 'object') {
302
- if (!issub) {
303
- for (var o in o1) {
304
- if (typeof o2[o] == 'undefined') return false;
305
- if (!compareCfg(o1[o], o2[o], true)) return false
306
- }
307
- }
308
- return true
309
- } else if (typeof o1 == 'function' && typeof o2 == 'function') {
310
- return o1.toString() == o2.toString()
311
- } else {
312
- return o1 == o2
313
- }
314
- }
315
-
316
- function getJsPath() {
317
- var path, tmp, scripts = w[d][tag]("script");
318
- for (var i = 0; i < scripts.length; i++) {
319
- path = scripts[i].getAttribute('src') || '';
320
- path = path.substr(0, path.toLowerCase().indexOf('wdatepicker.js'));
321
- var tmp = path.lastIndexOf("/");
322
- if (tmp > 0) path = path.substring(0, tmp + 1);
323
- if (path) break
324
- }
325
- return path
326
- }
327
-
328
- function loadCSS(path, title, charset) {
329
- var head = w[d][tag]('HEAD').item(0),
330
- style = w[d].createElement('link');
331
- if (head) {
332
- style.href = path;
333
- style.rel = 'stylesheet';
334
- style.type = 'text/css';
335
- if (title) style.title = title;
336
- if (charset) style.charset = charset;
337
- head.appendChild(style)
338
- }
339
- }
340
-
341
- function getAbsM(w) {
342
- w = w || dptop;
343
- var lm = 0,
344
- tm = 0;
345
- while (w != dptop) {
346
- var ifs = w.parent[d][tag]('iframe');
347
- for (var i = 0; i < ifs.length; i++) {
348
- try {
349
- if (ifs[i].contentWindow == w) {
350
- var rc = getBound(ifs[i]);
351
- lm += rc.left;
352
- tm += rc.top;
353
- break
354
- }
355
- } catch (e) {}
356
- }
357
- w = w.parent
358
- }
359
- return {
360
- 'leftM': lm,
361
- 'topM': tm
362
- }
363
- }
364
-
365
- function getBound(o, ignoreScr) {
366
- if (o.getBoundingClientRect) {
367
- return o.getBoundingClientRect()
368
- } else {
369
- var patterns = {
370
- ROOT_TAG: /^body|html$/i,
371
- OP_SCROLL: /^(?:inline|table-row)$/i
372
- };
373
- var hssFixed = false,
374
- win = null,
375
- t = o.offsetTop,
376
- l = o.offsetLeft,
377
- r = o.offsetWidth,
378
- b = o.offsetHeight;
379
- var parentNode = o.offsetParent;
380
- if (parentNode != o) {
381
- while (parentNode) {
382
- l += parentNode.offsetLeft;
383
- t += parentNode.offsetTop;
384
- if (getStyle(parentNode, 'position').toLowerCase() == 'fixed') hssFixed = true;
385
- else if (parentNode.tagName.toLowerCase() == "body") win = parentNode.ownerDocument.defaultView;
386
- parentNode = parentNode.offsetParent
387
- }
388
- }
389
- parentNode = o.parentNode;
390
- while (parentNode.tagName && !patterns.ROOT_TAG.test(parentNode.tagName)) {
391
- if (parentNode.scrollTop || parentNode.scrollLeft) {
392
- if (!patterns.OP_SCROLL.test(display(parentNode))) {
393
- if (!$OPERA || parentNode.style.overflow !== 'visible') {
394
- l -= parentNode.scrollLeft;
395
- t -= parentNode.scrollTop
396
- }
397
- }
398
- }
399
- parentNode = parentNode.parentNode
400
- }
401
- if (!hssFixed) {
402
- var scr = getScroll(win);
403
- l -= scr.left;
404
- t -= scr.top
405
- }
406
- r += l;
407
- b += t;
408
- return {
409
- 'left': l,
410
- 'top': t,
411
- 'right': r,
412
- 'bottom': b
413
- }
414
- }
415
- }
416
-
417
- function getWH(w) {
418
- w = w || dptop;
419
- var doc = w[d],
420
- width = (w.innerWidth) ? w.innerWidth : (doc[de] && doc[de].clientWidth) ? doc[de].clientWidth : doc.body.offsetWidth,
421
- height = (w.innerHeight) ? w.innerHeight : (doc[de] && doc[de].clientHeight) ? doc[de].clientHeight : doc.body.offsetHeight;
422
- return {
423
- 'width': width,
424
- 'height': height
425
- }
426
- }
427
-
428
- function getScroll(w) {
429
- w = w || dptop;
430
- var doc = w[d],
431
- doce = doc[de],
432
- db = doc.body;
433
- doc = (doce && doce.scrollTop != null && (doce.scrollTop > db.scrollTop || doce.scrollLeft > db.scrollLeft)) ? doce : db;
434
- return {
435
- 'top': doc.scrollTop,
436
- 'left': doc.scrollLeft
437
- }
438
- }
439
-
440
- function disposeDP(e) {
441
- try {
442
- var src = e ? (e.srcElement || e.target) : null;
443
- if ($dp.cal && !$dp.eCont && $dp.dd && src != $dp.el && $dp.dd.style.display == 'block') {
444
- $dp.cal.close()
445
- }
446
- } catch (e) {}
447
- }
448
-
449
- function dpLoaded() {
450
- $dp.status = 2
451
- }
452
- var isDptopReady, dptopInterval;
453
-
454
- function main(initcfg, preLoad) {
455
- if (!$dp) return;
456
- initcfg.el = initcfg.el || w[d].activeElement;
457
- if ($dp.isTouch) {
458
- try {
459
- initcfg.el.readOnly = true;
460
- initcfg.el.blur()
461
- } catch (e) {}
462
- }
463
- initTopDP();
464
- var cfg = {};
465
- for (var p in initcfg) {
466
- cfg[p] = initcfg[p]
467
- }
468
- for (var p in Config) {
469
- if (p.substring(0, 1) != '$' && cfg[p] === undefined) {
470
- cfg[p] = Config[p]
471
- }
472
- }
473
- if (preLoad) {
474
- if (!dptopReady()) {
475
- dptopInterval = dptopInterval || setInterval(function () {
476
- if (dptop[d].readyState == 'complete') {
477
- clearInterval(dptopInterval);
478
- }
479
- main(null, true)
480
- }, 50);
481
- return
482
- }
483
- if ($dp.status == 0) {
484
- $dp.status = 1;
485
- cfg.el = emptyEl;
486
- showPicker(cfg, true)
487
- } else {
488
- return
489
- }
490
- } else if (cfg.eCont) {
491
- cfg.eCont = $dp.$(cfg.eCont);
492
- cfg.el = emptyEl;
493
- cfg.autoPickDate = true;
494
- cfg.qsEnabled = false;
495
- showPicker(cfg)
496
- } else {
497
- if (Config.$preLoad && $dp.status != 2) return;
498
- if (!cfg.el) {
499
- var evt = SearchEvent();
500
- if (w.event === evt || evt) {
501
- cfg.srcEl = evt.srcElement || evt.target;
502
- evt.cancelBubble = true
503
- }
504
- }
505
- cfg.el = cfg.el = $dp.$(cfg.el || cfg.srcEl);
506
- if (cfg.el == null) {
507
- alert('WdatePicker:el is null!\nexample:onclick="WdatePicker({el:this})"');
508
- return
509
- }
510
- try {
511
- if (!cfg.el || cfg.el['My97Mark'] === true || cfg.el.disabled || ($dp.dd && display($dp.dd) != 'none' && $dp.dd.style.left != '-970px')) {
512
- if (cfg.el['My97Mark']) cfg.el['My97Mark'] = false;
513
- return
514
- }
515
- } catch (e) {}
516
- if (evt && cfg.el.nodeType == 1 && !compareCfg(cfg.el.initcfg, initcfg)) {
517
- $dp.unbind(cfg.el);
518
- dpAttachEvent(cfg.el, evt.type == 'focus' ? 'onclick' : 'onfocus', function () {
519
- main(initcfg)
520
- });
521
- cfg.el.initcfg = initcfg;
522
- }
523
- showPicker(cfg)
524
- }
525
-
526
- function dptopReady() {
527
- if ($IE && dptop != w && dptop[d].readyState != 'complete') return false;
528
- return true
529
- }
530
-
531
- function SearchEvent() {
532
- if ($FF) {
533
- try {
534
- var count = 0;
535
- func = SearchEvent.caller;
536
- while (func != null) {
537
- var arg0 = func.arguments[0];
538
- if (arg0 && (arg0 + '').indexOf('Event') >= 0 || (count++) > 97) {
539
- return arg0
540
- }
541
- func = func.caller
542
- }
543
- } catch (e) {}
544
- return null
545
- }
546
- return event
547
- }
548
- }
549
-
550
- function getStyle(obj, attribute) {
551
- return obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]
552
- }
553
-
554
- function display(obj, value) {
555
- if (obj) {
556
- if (value != null) obj.style.display = value;
557
- else return getStyle(obj, 'display')
558
- }
559
- }
560
-
561
- function showPicker(cfg, preLoad) {
562
- var nodeName = cfg.el ? cfg.el.nodeName : 'INPUT';
563
- if (preLoad || cfg.eCont || new RegExp(/input|textarea|div|field|span|p|a/ig).test(nodeName)) {
564
- cfg.elProp = cfg.elProp || nodeName == 'INPUT' ? 'value' : 'innerHTML'
565
- } else {
566
- return
567
- }
568
- if (cfg.lang == 'auto') {
569
- cfg.lang = $IE ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase()
570
- }
571
- if (!cfg.eCont) {
572
- for (var p in cfg) {
573
- $dp[p] = cfg[p]
574
- }
575
- }
576
- if (!$dp.dd || cfg.eCont || ($dp.dd && (cfg.getRealLang().name != $dp.dd.lang || cfg.skin != $dp.dd.skin))) {
577
- if (cfg.eCont) {
578
- ddInit(cfg.eCont, cfg)
579
- } else {
580
- $dp.dd = dptop[d].createElement("DIV");
581
- $dp.dd.style.cssText = 'position:absolute';
582
- dptop[d].body.appendChild($dp.dd);
583
- ddInit($dp.dd, cfg);
584
- if (preLoad) {
585
- $dp.dd.style.left = $dp.dd.style.top = '-970px'
586
- } else {
587
- $dp.show();
588
- setPos($dp)
589
- }
590
- }
591
- } else if ($dp.cal) {
592
- $dp.show();
593
- $dp.cal.init();
594
- if (!$dp.eCont) setPos($dp)
595
- }
596
-
597
- function ddInit(cont, cfg) {
598
- var dm = dptop[d].domain,
599
- isCross = false,
600
- defHtml = '<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src="about:blank"></iframe>';
601
- cont.innerHTML = defHtml;
602
- var langList = Config.$langList,
603
- skinList = Config.$skinList,
604
- doc;
605
- try {
606
- doc = cont.lastChild.contentWindow[d]
607
- } catch (e) {
608
- isCross = true;
609
- cont.removeChild(cont.lastChild);
610
- var ifr = dptop[d].createElement("iframe");
611
- ifr.hideFocus = true;
612
- ifr.frameBorder = 0;
613
- ifr.scrolling = 'no';
614
- ifr.src = "javascript:(function(){var d=document;d.open();d.domain='" + dm + "';})()";
615
- cont.appendChild(ifr);
616
- setTimeout(function () {
617
- doc = cont.lastChild.contentWindow[d];
618
- ddWrite()
619
- }, 97);
620
- return
621
- }
622
- ddWrite();
623
-
624
- function ddWrite() {
625
- var realLang = cfg.getRealLang(),
626
- ver = '4.9.0b3';
627
- cont.lang = realLang.name;
628
- cont.skin = cfg.skin;
629
- var h = ['<head><script>', '', 'var doc=document, $d, $dp, $cfg=doc.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;', 'if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}', 'if(!$dp.isTouch)doc.oncontextmenu=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};', '</script><script src=', jsPath, 'lang/', realLang.name, '.js?' + ver + ' charset=', realLang.charset, '></script>'];
630
- if (isCross) h[1] = 'document.domain="' + dm + '";';
631
- for (var i = 0; i < skinList.length; i++) {
632
- if (skinList[i].name == cfg.skin) {
633
- h.push('<link rel="stylesheet" type="text/css" href="' + jsPath + 'skin/' + skinList[i].name + '/datepicker.css?');
634
- h.push(ver);
635
- h.push('" charset="' + skinList[i].charset + '"/>')
636
- }
637
- }
638
- h.push('<script src="' + jsPath + 'calendar.js?');
639
- h.push(ver);
640
- h.push('"></script>');
641
- h.push('</head><body leftmargin="0" topmargin="0" tabindex=0></body></html>');
642
- h.push('<script>var t;t=t||setInterval(function(){if((typeof(doc.ready)=="boolean"&&doc.ready)||doc.readyState=="complete"){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);</script>');
643
- cfg.setPos = setPos;
644
- cfg.onload = dpLoaded;
645
- doc.write('<html>');
646
- doc.cfg = cfg;
647
- doc.write(h.join(''));
648
- doc.close()
649
- }
650
- }
651
-
652
- function setPos(dp) {
653
- var l = dp.position.left,
654
- t = dp.position.top,
655
- el = dp.el;
656
- if (el == emptyEl) return;
657
- if (el != dp.srcEl && (display(el) == 'none' || el.type == 'hidden')) el = dp.srcEl;
658
- var objxy = getBound(el),
659
- mm = getAbsM(w),
660
- currWH = getWH(dptop),
661
- scr = getScroll(dptop),
662
- ddHeight = $dp.dd.offsetHeight,
663
- ddWidth = $dp.dd.offsetWidth;
664
- if (isNaN(t)) t = 0;
665
- if ((mm.topM + objxy.bottom + ddHeight > currWH.height) && (mm.topM + objxy.top - ddHeight > 0)) {
666
- t += scr.top + mm.topM + objxy.top - ddHeight - 2
667
- } else {
668
- t += scr.top + mm.topM + objxy.bottom;
669
- var offsetT = t - scr.top + ddHeight - currWH.height;
670
- if (offsetT > 0) t -= offsetT
671
- }
672
- if (isNaN(l)) l = 0;
673
- l += scr.left + Math.min(mm.leftM + objxy.left, currWH.width - ddWidth - 5) - ($IE ? 2 : 0);
674
- dp.dd.style.top = (t + 2) + 'px';
675
- dp.dd.style.left = l + 'px'
676
- }
677
- }
1
+ /*
2
+ * My97 DatePicker 4.8.5
3
+ * License: http://www.my97.net/license.asp
4
+ */
5
+ var $dp, WdatePicker;
6
+ (function () {
7
+ var Config = {
8
+ $langList: [{
9
+ name: 'en',
10
+ charset: 'UTF-8'
11
+ },
12
+ {
13
+ name: 'zh-cn',
14
+ charset: 'gb2312'
15
+ },
16
+ {
17
+ name: 'zh-tw',
18
+ charset: 'GBK'
19
+ }
20
+ ],
21
+ $skinList: [{
22
+ name: 'default',
23
+ charset: 'gb2312'
24
+ },
25
+ {
26
+ name: 'whyGreen',
27
+ charset: 'gb2312'
28
+ },
29
+ {
30
+ name: 'blue',
31
+ charset: 'gb2312'
32
+ },
33
+ {
34
+ name: 'green',
35
+ charset: 'gb2312'
36
+ },
37
+ {
38
+ name: 'simple',
39
+ charset: 'gb2312'
40
+ },
41
+ {
42
+ name: 'ext',
43
+ charset: 'gb2312'
44
+ },
45
+ {
46
+ name: 'blueFresh',
47
+ charset: 'gb2312'
48
+ },
49
+ {
50
+ name: 'twoer',
51
+ charset: 'gb2312'
52
+ },
53
+ {
54
+ name: 'YcloudRed',
55
+ charset: 'gb2312'
56
+ },
57
+ {
58
+ name: 'thinkpap',
59
+ charset: 'gb2312'
60
+ }
61
+ ],
62
+ $wdate: false,
63
+ $crossFrame: false,
64
+ $preLoad: false,
65
+ $dpPath: '',
66
+ doubleCalendar: false,
67
+ enableKeyboard: true,
68
+ enableInputMask: true,
69
+ autoUpdateOnChanged: null,
70
+ weekMethod: 'MSExcel',
71
+ position: {},
72
+ lang: 'auto',
73
+ skin: 'default',
74
+ dateFmt: 'yyyy年MM月dd日 HH时mm分',
75
+ realDateFmt: 'yyyy-MM-dd',
76
+ realTimeFmt: 'HH:mm:ss',
77
+ realFullFmt: '%Date %Time',
78
+ minDate: '0001-01-01 00:00:00',
79
+ maxDate: '9999-12-31 23:59:59',
80
+ minTime: '00:00:00',
81
+ maxTime: '23:59:59',
82
+ startDate: '',
83
+ alwaysUseStartDate: false,
84
+ yearOffset: 1911,
85
+ firstDayOfWeek: 0,
86
+ isShowWeek: false,
87
+ highLineWeekDay: true,
88
+ isShowClear: true,
89
+ isShowToday: true,
90
+ isShowOK: true,
91
+ isShowOthers: true,
92
+ readOnly: false,
93
+ errDealMode: 0,
94
+ autoPickDate: null,
95
+ qsEnabled: true,
96
+ autoShowQS: false,
97
+ hmsMenuCfg: {
98
+ H: [1, 6],
99
+ m: [5, 6],
100
+ s: [15, 4]
101
+ },
102
+
103
+ opposite: false,
104
+ specialDates: null,
105
+ specialDays: null,
106
+ disabledDates: null,
107
+ disabledDays: null,
108
+ onpicking: null,
109
+ onpicked: null,
110
+ onclearing: null,
111
+ oncleared: null,
112
+ ychanging: null,
113
+ ychanged: null,
114
+ Mchanging: null,
115
+ Mchanged: null,
116
+ dchanging: null,
117
+ dchanged: null,
118
+ Hchanging: null,
119
+ Hchanged: null,
120
+ mchanging: null,
121
+ mchanged: null,
122
+ schanging: null,
123
+ schanged: null,
124
+ eCont: null,
125
+ vel: null,
126
+ elProp: '',
127
+ errMsg: '',
128
+ quickSel: [],
129
+ has: {},
130
+ getRealLang: function () {
131
+ var arr = Config.$langList;
132
+ for (var i = 0; i < arr.length; i++) {
133
+ if (arr[i].name == this.lang) {
134
+ return arr[i]
135
+ }
136
+ }
137
+ return arr[0]
138
+ }
139
+ };
140
+ WdatePicker = main;
141
+ var w = window,
142
+ emptyEl = {
143
+ innerHTML: ''
144
+ },
145
+ d = 'document',
146
+ de = 'documentElement',
147
+ tag = 'getElementsByTagName',
148
+ dptop, jsPath, $IE, $FF, $OPERA;
149
+ var ua = navigator.userAgent,
150
+ isTablet = /(?:iPad|PlayBook)/.test(ua) || (/(?:Android)/.test(ua) && !/(?:Mobile)/.test(ua)),
151
+ isPhone = /(?:iPhone)/.test(ua) || /(?:Android)/.test(ua) && /(?:Mobile)/.test(ua);
152
+ var appName = navigator.appName;
153
+ if (appName == 'Microsoft Internet Explorer') $IE = true;
154
+ else if (appName == 'Opera') $OPERA = true;
155
+ else $FF = true;
156
+ jsPath = Config.$dpPath || getJsPath();
157
+ if (Config.$wdate) {
158
+ loadCSS(jsPath + 'skin/WdatePicker.css')
159
+ }
160
+ dptop = w;
161
+ if (Config.$crossFrame) {
162
+ try {
163
+ while (dptop.parent != dptop && dptop.parent[d][tag]('frameset').length == 0) {
164
+ dptop = dptop.parent
165
+ }
166
+ } catch (e) {}
167
+ }
168
+ if (!dptop.$dp) {
169
+ dptop.$dp = {
170
+ ff: $FF,
171
+ ie: $IE,
172
+ opera: $OPERA,
173
+ status: 0,
174
+ defMinDate: Config.minDate,
175
+ defMaxDate: Config.maxDate,
176
+ isTablet: isTablet,
177
+ isPhone: isPhone,
178
+ isTouch: isTablet || isPhone
179
+ }
180
+ }
181
+ initTopDP();
182
+ if (Config.$preLoad && $dp.status == 0) {
183
+ dpAttachEvent(w, 'onload', function () {
184
+ main(null, true)
185
+ })
186
+ }
187
+ var docEventName = $dp.isTouch ? 'ontouchstart' : 'onmousedown';
188
+ if (!w[d].docMD) {
189
+ dpAttachEvent(w[d], docEventName, disposeDP, true);
190
+ w[d].docMD = true
191
+ }
192
+ if (!dptop[d].docMD) {
193
+ dpAttachEvent(dptop[d], docEventName, disposeDP, true);
194
+ dptop[d].docMD = true
195
+ }
196
+ dpAttachEvent(w, 'onunload', function () {
197
+ if ($dp.dd) {
198
+ display($dp.dd, "none")
199
+ }
200
+ });
201
+
202
+ function initTopDP() {
203
+ try {
204
+ dptop[d], dptop.$dp = dptop.$dp || {}
205
+ } catch (e) {
206
+ dptop = w;
207
+ $dp = $dp || {}
208
+ }
209
+ var obj = {
210
+ win: w,
211
+ $: function (el) {
212
+ return (typeof el == 'string') ? w[d].getElementById(el) : el
213
+ },
214
+ $D: function (id, arg) {
215
+ return this.$DV(this.$(id).value, arg)
216
+ },
217
+ $DV: function (v, arg) {
218
+ if (v != '') {
219
+ this.dt = $dp.cal.splitDate(v, $dp.cal.dateFmt);
220
+ if (arg) {
221
+ for (var p in arg) {
222
+ if (this.dt[p] === undefined) {
223
+ this.errMsg = 'invalid property:' + p
224
+ } else {
225
+ this.dt[p] += arg[p];
226
+ if (p == 'M') {
227
+ var offset = arg['M'] > 0 ? 1 : 0;
228
+ var tmpday = new Date(this.dt['y'], this.dt['M'], 0).getDate();
229
+ this.dt['d'] = Math.min(tmpday + offset, this.dt['d'])
230
+ }
231
+ }
232
+ }
233
+ }
234
+ if (this.dt.refresh()) {
235
+ return this.dt
236
+ }
237
+ }
238
+ return ''
239
+ },
240
+ show: function () {
241
+ var divs = dptop[d].getElementsByTagName('div'),
242
+ maxZIndex = 1e5;
243
+ for (var i = 0; i < divs.length; i++) {
244
+ var curZ = parseInt(divs[i].style.zIndex);
245
+ if (curZ > maxZIndex) {
246
+ maxZIndex = curZ
247
+ }
248
+ }
249
+ this.dd.style.zIndex = maxZIndex + 2;
250
+ display(this.dd, "block");
251
+ display(this.dd.firstChild, "")
252
+ },
253
+ unbind: function (el) {
254
+ el = this.$(el);
255
+ if (el.initcfg) {
256
+ dpDetachEvent(el, 'onclick', function () {
257
+ main(el.initcfg)
258
+ });
259
+ dpDetachEvent(el, 'onfocus', function () {
260
+ main(el.initcfg)
261
+ })
262
+ }
263
+ },
264
+ hide: function () {
265
+ display(this.dd, "none")
266
+ },
267
+ attachEvent: dpAttachEvent
268
+ };
269
+ for (var p in obj) {
270
+ dptop.$dp[p] = obj[p];
271
+ }
272
+ $dp = dptop.$dp
273
+ }
274
+
275
+ function dpAttachEvent(o, sType, fHandler, useCapture) {
276
+ if (o.addEventListener) {
277
+ var shortTypeName = sType.replace(/on/, "");
278
+ fHandler._ieEmuEventHandler = function (e) {
279
+ return fHandler(e)
280
+ };
281
+ o.addEventListener(shortTypeName, fHandler._ieEmuEventHandler, useCapture)
282
+ } else {
283
+ o.attachEvent(sType, fHandler)
284
+ }
285
+ }
286
+
287
+ function dpDetachEvent(o, sType, fHandler) {
288
+ if (o.removeEventListener) {
289
+ var shortTypeName = sType.replace(/on/, "");
290
+ fHandler._ieEmuEventHandler = function (e) {
291
+ return fHandler(e)
292
+ };
293
+ o.removeEventListener(shortTypeName, fHandler._ieEmuEventHandler, false)
294
+ } else {
295
+ o.detachEvent(sType, fHandler)
296
+ }
297
+ }
298
+
299
+ function compareCfg(o1, o2, issub) {
300
+ if (typeof o1 != typeof o2) return false;
301
+ if (typeof o1 == 'object') {
302
+ if (!issub) {
303
+ for (var o in o1) {
304
+ if (typeof o2[o] == 'undefined') return false;
305
+ if (!compareCfg(o1[o], o2[o], true)) return false
306
+ }
307
+ }
308
+ return true
309
+ } else if (typeof o1 == 'function' && typeof o2 == 'function') {
310
+ return o1.toString() == o2.toString()
311
+ } else {
312
+ return o1 == o2
313
+ }
314
+ }
315
+
316
+ function getJsPath() {
317
+ var path, tmp, scripts = w[d][tag]("script");
318
+ for (var i = 0; i < scripts.length; i++) {
319
+ path = scripts[i].getAttribute('src') || '';
320
+ path = path.substr(0, path.toLowerCase().indexOf('wdatepicker.js'));
321
+ var tmp = path.lastIndexOf("/");
322
+ if (tmp > 0) path = path.substring(0, tmp + 1);
323
+ if (path) break
324
+ }
325
+ return path
326
+ }
327
+
328
+ function loadCSS(path, title, charset) {
329
+ var head = w[d][tag]('HEAD').item(0),
330
+ style = w[d].createElement('link');
331
+ if (head) {
332
+ style.href = path;
333
+ style.rel = 'stylesheet';
334
+ style.type = 'text/css';
335
+ if (title) style.title = title;
336
+ if (charset) style.charset = charset;
337
+ head.appendChild(style)
338
+ }
339
+ }
340
+
341
+ function getAbsM(w) {
342
+ w = w || dptop;
343
+ var lm = 0,
344
+ tm = 0;
345
+ while (w != dptop) {
346
+ var ifs = w.parent[d][tag]('iframe');
347
+ for (var i = 0; i < ifs.length; i++) {
348
+ try {
349
+ if (ifs[i].contentWindow == w) {
350
+ var rc = getBound(ifs[i]);
351
+ lm += rc.left;
352
+ tm += rc.top;
353
+ break
354
+ }
355
+ } catch (e) {}
356
+ }
357
+ w = w.parent
358
+ }
359
+ return {
360
+ 'leftM': lm,
361
+ 'topM': tm
362
+ }
363
+ }
364
+
365
+ function getBound(o, ignoreScr) {
366
+ if (o.getBoundingClientRect) {
367
+ return o.getBoundingClientRect()
368
+ } else {
369
+ var patterns = {
370
+ ROOT_TAG: /^body|html$/i,
371
+ OP_SCROLL: /^(?:inline|table-row)$/i
372
+ };
373
+ var hssFixed = false,
374
+ win = null,
375
+ t = o.offsetTop,
376
+ l = o.offsetLeft,
377
+ r = o.offsetWidth,
378
+ b = o.offsetHeight;
379
+ var parentNode = o.offsetParent;
380
+ if (parentNode != o) {
381
+ while (parentNode) {
382
+ l += parentNode.offsetLeft;
383
+ t += parentNode.offsetTop;
384
+ if (getStyle(parentNode, 'position').toLowerCase() == 'fixed') hssFixed = true;
385
+ else if (parentNode.tagName.toLowerCase() == "body") win = parentNode.ownerDocument.defaultView;
386
+ parentNode = parentNode.offsetParent
387
+ }
388
+ }
389
+ parentNode = o.parentNode;
390
+ while (parentNode.tagName && !patterns.ROOT_TAG.test(parentNode.tagName)) {
391
+ if (parentNode.scrollTop || parentNode.scrollLeft) {
392
+ if (!patterns.OP_SCROLL.test(display(parentNode))) {
393
+ if (!$OPERA || parentNode.style.overflow !== 'visible') {
394
+ l -= parentNode.scrollLeft;
395
+ t -= parentNode.scrollTop
396
+ }
397
+ }
398
+ }
399
+ parentNode = parentNode.parentNode
400
+ }
401
+ if (!hssFixed) {
402
+ var scr = getScroll(win);
403
+ l -= scr.left;
404
+ t -= scr.top
405
+ }
406
+ r += l;
407
+ b += t;
408
+ return {
409
+ 'left': l,
410
+ 'top': t,
411
+ 'right': r,
412
+ 'bottom': b
413
+ }
414
+ }
415
+ }
416
+
417
+ function getWH(w) {
418
+ w = w || dptop;
419
+ var doc = w[d],
420
+ width = (w.innerWidth) ? w.innerWidth : (doc[de] && doc[de].clientWidth) ? doc[de].clientWidth : doc.body.offsetWidth,
421
+ height = (w.innerHeight) ? w.innerHeight : (doc[de] && doc[de].clientHeight) ? doc[de].clientHeight : doc.body.offsetHeight;
422
+ return {
423
+ 'width': width,
424
+ 'height': height
425
+ }
426
+ }
427
+
428
+ function getScroll(w) {
429
+ w = w || dptop;
430
+ var doc = w[d],
431
+ doce = doc[de],
432
+ db = doc.body;
433
+ doc = (doce && doce.scrollTop != null && (doce.scrollTop > db.scrollTop || doce.scrollLeft > db.scrollLeft)) ? doce : db;
434
+ return {
435
+ 'top': doc.scrollTop,
436
+ 'left': doc.scrollLeft
437
+ }
438
+ }
439
+
440
+ function disposeDP(e) {
441
+ try {
442
+ var src = e ? (e.srcElement || e.target) : null;
443
+ if ($dp.cal && !$dp.eCont && $dp.dd && src != $dp.el && $dp.dd.style.display == 'block') {
444
+ $dp.cal.close()
445
+ }
446
+ } catch (e) {}
447
+ }
448
+
449
+ function dpLoaded() {
450
+ $dp.status = 2
451
+ }
452
+ var isDptopReady, dptopInterval;
453
+
454
+ function main(initcfg, preLoad) {
455
+ if (!$dp) return;
456
+ initcfg.el = initcfg.el || w[d].activeElement;
457
+ if ($dp.isTouch) {
458
+ try {
459
+ initcfg.el.readOnly = true;
460
+ initcfg.el.blur()
461
+ } catch (e) {}
462
+ }
463
+ initTopDP();
464
+ var cfg = {};
465
+ for (var p in initcfg) {
466
+ cfg[p] = initcfg[p]
467
+ }
468
+ for (var p in Config) {
469
+ if (p.substring(0, 1) != '$' && cfg[p] === undefined) {
470
+ cfg[p] = Config[p]
471
+ }
472
+ }
473
+ if (preLoad) {
474
+ if (!dptopReady()) {
475
+ dptopInterval = dptopInterval || setInterval(function () {
476
+ if (dptop[d].readyState == 'complete') {
477
+ clearInterval(dptopInterval);
478
+ }
479
+ main(null, true)
480
+ }, 50);
481
+ return
482
+ }
483
+ if ($dp.status == 0) {
484
+ $dp.status = 1;
485
+ cfg.el = emptyEl;
486
+ showPicker(cfg, true)
487
+ } else {
488
+ return
489
+ }
490
+ } else if (cfg.eCont) {
491
+ cfg.eCont = $dp.$(cfg.eCont);
492
+ cfg.el = emptyEl;
493
+ cfg.autoPickDate = true;
494
+ cfg.qsEnabled = false;
495
+ showPicker(cfg)
496
+ } else {
497
+ if (Config.$preLoad && $dp.status != 2) return;
498
+ if (!cfg.el) {
499
+ var evt = SearchEvent();
500
+ if (w.event === evt || evt) {
501
+ cfg.srcEl = evt.srcElement || evt.target;
502
+ evt.cancelBubble = true
503
+ }
504
+ }
505
+ cfg.el = cfg.el = $dp.$(cfg.el || cfg.srcEl);
506
+ if (cfg.el == null) {
507
+ alert('WdatePicker:el is null!\nexample:onclick="WdatePicker({el:this})"');
508
+ return
509
+ }
510
+ try {
511
+ if (!cfg.el || cfg.el['My97Mark'] === true || cfg.el.disabled || ($dp.dd && display($dp.dd) != 'none' && $dp.dd.style.left != '-970px')) {
512
+ if (cfg.el['My97Mark']) cfg.el['My97Mark'] = false;
513
+ return
514
+ }
515
+ } catch (e) {}
516
+ if (evt && cfg.el.nodeType == 1 && !compareCfg(cfg.el.initcfg, initcfg)) {
517
+ $dp.unbind(cfg.el);
518
+ dpAttachEvent(cfg.el, evt.type == 'focus' ? 'onclick' : 'onfocus', function () {
519
+ main(initcfg)
520
+ });
521
+ cfg.el.initcfg = initcfg;
522
+ }
523
+ showPicker(cfg)
524
+ }
525
+
526
+ function dptopReady() {
527
+ if ($IE && dptop != w && dptop[d].readyState != 'complete') return false;
528
+ return true
529
+ }
530
+
531
+ function SearchEvent() {
532
+ if ($FF) {
533
+ try {
534
+ var count = 0;
535
+ func = SearchEvent.caller;
536
+ while (func != null) {
537
+ var arg0 = func.arguments[0];
538
+ if (arg0 && (arg0 + '').indexOf('Event') >= 0 || (count++) > 97) {
539
+ return arg0
540
+ }
541
+ func = func.caller
542
+ }
543
+ } catch (e) {}
544
+ return null
545
+ }
546
+ return event
547
+ }
548
+ }
549
+
550
+ function getStyle(obj, attribute) {
551
+ return obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute]
552
+ }
553
+
554
+ function display(obj, value) {
555
+ if (obj) {
556
+ if (value != null) obj.style.display = value;
557
+ else return getStyle(obj, 'display')
558
+ }
559
+ }
560
+
561
+ function showPicker(cfg, preLoad) {
562
+ var nodeName = cfg.el ? cfg.el.nodeName : 'INPUT';
563
+ if (preLoad || cfg.eCont || new RegExp(/input|textarea|div|field|span|p|a/ig).test(nodeName)) {
564
+ cfg.elProp = cfg.elProp || nodeName == 'INPUT' ? 'value' : 'innerHTML'
565
+ } else {
566
+ return
567
+ }
568
+ if (cfg.lang == 'auto') {
569
+ cfg.lang = $IE ? navigator.browserLanguage.toLowerCase() : navigator.language.toLowerCase()
570
+ }
571
+ if (!cfg.eCont) {
572
+ for (var p in cfg) {
573
+ $dp[p] = cfg[p]
574
+ }
575
+ }
576
+ if (!$dp.dd || cfg.eCont || ($dp.dd && (cfg.getRealLang().name != $dp.dd.lang || cfg.skin != $dp.dd.skin))) {
577
+ if (cfg.eCont) {
578
+ ddInit(cfg.eCont, cfg)
579
+ } else {
580
+ $dp.dd = dptop[d].createElement("DIV");
581
+ $dp.dd.style.cssText = 'position:absolute';
582
+ dptop[d].body.appendChild($dp.dd);
583
+ ddInit($dp.dd, cfg);
584
+ if (preLoad) {
585
+ $dp.dd.style.left = $dp.dd.style.top = '-970px'
586
+ } else {
587
+ $dp.show();
588
+ setPos($dp)
589
+ }
590
+ }
591
+ } else if ($dp.cal) {
592
+ $dp.show();
593
+ $dp.cal.init();
594
+ if (!$dp.eCont) setPos($dp)
595
+ }
596
+
597
+ function ddInit(cont, cfg) {
598
+ var dm = dptop[d].domain,
599
+ isCross = false,
600
+ defHtml = '<iframe hideFocus=true width=9 height=7 frameborder=0 border=0 scrolling=no src="about:blank"></iframe>';
601
+ cont.innerHTML = defHtml;
602
+ var langList = Config.$langList,
603
+ skinList = Config.$skinList,
604
+ doc;
605
+ try {
606
+ doc = cont.lastChild.contentWindow[d]
607
+ } catch (e) {
608
+ isCross = true;
609
+ cont.removeChild(cont.lastChild);
610
+ var ifr = dptop[d].createElement("iframe");
611
+ ifr.hideFocus = true;
612
+ ifr.frameBorder = 0;
613
+ ifr.scrolling = 'no';
614
+ ifr.src = "javascript:(function(){var d=document;d.open();d.domain='" + dm + "';})()";
615
+ cont.appendChild(ifr);
616
+ setTimeout(function () {
617
+ doc = cont.lastChild.contentWindow[d];
618
+ ddWrite()
619
+ }, 97);
620
+ return
621
+ }
622
+ ddWrite();
623
+
624
+ function ddWrite() {
625
+ var realLang = cfg.getRealLang(),
626
+ ver = '4.9.0b3';
627
+ cont.lang = realLang.name;
628
+ cont.skin = cfg.skin;
629
+ var h = ['<head><script>', '', 'var doc=document, $d, $dp, $cfg=doc.cfg, $pdp = parent.$dp, $dt, $tdt, $sdt, $lastInput, $IE=$pdp.ie, $FF = $pdp.ff,$OPERA=$pdp.opera, $ny, $cMark = false;', 'if($cfg.eCont){$dp = {};for(var p in $pdp)$dp[p]=$pdp[p];}else{$dp=$pdp;};for(var p in $cfg){$dp[p]=$cfg[p];}', 'if(!$dp.isTouch)doc.oncontextmenu=function(){try{$c._fillQS(!$dp.has.d,1);showB($d.qsDivSel);}catch(e){};return false;};', '</script><script src=', jsPath, 'lang/', realLang.name, '.js?' + ver + ' charset=', realLang.charset, '></script>'];
630
+ if (isCross) h[1] = 'document.domain="' + dm + '";';
631
+ for (var i = 0; i < skinList.length; i++) {
632
+ if (skinList[i].name == cfg.skin) {
633
+ h.push('<link rel="stylesheet" type="text/css" href="' + jsPath + 'skin/' + skinList[i].name + '/datepicker.css?');
634
+ h.push(ver);
635
+ h.push('" charset="' + skinList[i].charset + '"/>')
636
+ }
637
+ }
638
+ h.push('<script src="' + jsPath + 'calendar.js?');
639
+ h.push(ver);
640
+ h.push('"></script>');
641
+ h.push('</head><body leftmargin="0" topmargin="0" tabindex=0></body></html>');
642
+ h.push('<script>var t;t=t||setInterval(function(){if((typeof(doc.ready)=="boolean"&&doc.ready)||doc.readyState=="complete"){new My97DP();$cfg.onload();$c.autoSize();$cfg.setPos($dp);clearInterval(t);}},20);</script>');
643
+ cfg.setPos = setPos;
644
+ cfg.onload = dpLoaded;
645
+ doc.write('<html>');
646
+ doc.cfg = cfg;
647
+ doc.write(h.join(''));
648
+ doc.close()
649
+ }
650
+ }
651
+
652
+ function setPos(dp) {
653
+ var l = dp.position.left,
654
+ t = dp.position.top,
655
+ el = dp.el;
656
+ if (el == emptyEl) return;
657
+ if (el != dp.srcEl && (display(el) == 'none' || el.type == 'hidden')) el = dp.srcEl;
658
+ var objxy = getBound(el),
659
+ mm = getAbsM(w),
660
+ currWH = getWH(dptop),
661
+ scr = getScroll(dptop),
662
+ ddHeight = $dp.dd.offsetHeight,
663
+ ddWidth = $dp.dd.offsetWidth;
664
+ if (isNaN(t)) t = 0;
665
+ if ((mm.topM + objxy.bottom + ddHeight > currWH.height) && (mm.topM + objxy.top - ddHeight > 0)) {
666
+ t += scr.top + mm.topM + objxy.top - ddHeight - 2
667
+ } else {
668
+ t += scr.top + mm.topM + objxy.bottom;
669
+ var offsetT = t - scr.top + ddHeight - currWH.height;
670
+ if (offsetT > 0) t -= offsetT
671
+ }
672
+ if (isNaN(l)) l = 0;
673
+ l += scr.left + Math.min(mm.leftM + objxy.left, currWH.width - ddWidth - 5) - ($IE ? 2 : 0);
674
+ dp.dd.style.top = (t + 2) + 'px';
675
+ dp.dd.style.left = l + 'px'
676
+ }
677
+ }
678
678
  })();