tplus-components-touch 1.27.1 → 1.27.2

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 (218) hide show
  1. package/dist/components/addLog/AddLogProcessor.js +53 -0
  2. package/dist/components/addLog/AddLogProcessor.js.map +1 -0
  3. package/dist/components/addLog/OperationLogApi.js +164 -0
  4. package/dist/components/addLog/OperationLogApi.js.map +1 -0
  5. package/dist/components/autoComplete/index.js +259 -0
  6. package/dist/components/autoComplete/index.js.map +1 -0
  7. package/dist/components/autoComplete/index.less +89 -0
  8. package/dist/components/autoComplete/option.js +75 -0
  9. package/dist/components/autoComplete/option.js.map +1 -0
  10. package/dist/components/autoCompleteWithKeyboard/index.js +206 -0
  11. package/dist/components/autoCompleteWithKeyboard/index.js.map +1 -0
  12. package/dist/components/autoCompleteWithKeyboard/index.less +5 -0
  13. package/dist/components/billSearch/api.js +425 -0
  14. package/dist/components/billSearch/api.js.map +1 -0
  15. package/dist/components/billSearch/index.js +2030 -0
  16. package/dist/components/billSearch/index.js.map +1 -0
  17. package/dist/components/billSearch/index.less +573 -0
  18. package/dist/components/cloudPrint/BTPrintFormatUtil.js +568 -0
  19. package/dist/components/cloudPrint/BTPrintFormatUtil.js.map +1 -0
  20. package/dist/components/cloudPrint/api.js +454 -0
  21. package/dist/components/cloudPrint/api.js.map +1 -0
  22. package/dist/components/cloudPrint/index.js +974 -0
  23. package/dist/components/cloudPrint/index.js.map +1 -0
  24. package/dist/components/cloudPrint/printDispatch.js +336 -0
  25. package/dist/components/cloudPrint/printDispatch.js.map +1 -0
  26. package/dist/components/commonForm/autoComplete/index.js +272 -0
  27. package/dist/components/commonForm/autoComplete/index.js.map +1 -0
  28. package/dist/components/commonForm/autoComplete/style.less +8 -0
  29. package/dist/components/commonForm/datePicker/index.js +117 -0
  30. package/dist/components/commonForm/datePicker/index.js.map +1 -0
  31. package/dist/components/commonForm/datePicker/style.less +11 -0
  32. package/dist/components/commonForm/formControl/index.js +183 -0
  33. package/dist/components/commonForm/formControl/index.js.map +1 -0
  34. package/dist/components/commonForm/formControl/style.less +8 -0
  35. package/dist/components/commonForm/index.js +208 -0
  36. package/dist/components/commonForm/index.js.map +1 -0
  37. package/dist/components/commonForm/inputNumber/index.js +291 -0
  38. package/dist/components/commonForm/inputNumber/index.js.map +1 -0
  39. package/dist/components/commonForm/inputNumber/style.less +17 -0
  40. package/dist/components/commonForm/radio/index.js +157 -0
  41. package/dist/components/commonForm/radio/index.js.map +1 -0
  42. package/dist/components/commonForm/radio/style.less +11 -0
  43. package/dist/components/commonForm/style.less +12 -0
  44. package/dist/components/deliverySearch/api.js +355 -0
  45. package/dist/components/deliverySearch/api.js.map +1 -0
  46. package/dist/components/deliverySearch/index.js +1254 -0
  47. package/dist/components/deliverySearch/index.js.map +1 -0
  48. package/dist/components/deliverySearch/index.less +624 -0
  49. package/dist/components/form/index.js +325 -0
  50. package/dist/components/form/index.js.map +1 -0
  51. package/dist/components/hardwareAPI/index.js +181 -0
  52. package/dist/components/hardwareAPI/index.js.map +1 -0
  53. package/dist/components/hotKey/config.js +306 -0
  54. package/dist/components/hotKey/config.js.map +1 -0
  55. package/dist/components/hotKey/hotKeyModal.js +479 -0
  56. package/dist/components/hotKey/hotKeyModal.js.map +1 -0
  57. package/dist/components/hotKey/index.js +782 -0
  58. package/dist/components/hotKey/index.js.map +1 -0
  59. package/dist/components/hotKey/localConfig.js +3831 -0
  60. package/dist/components/hotKey/localConfig.js.map +1 -0
  61. package/dist/components/hotKey/style.less +99 -0
  62. package/dist/components/hotKey/utils.js +135 -0
  63. package/dist/components/hotKey/utils.js.map +1 -0
  64. package/dist/components/input/index.js +257 -0
  65. package/dist/components/input/index.js.map +1 -0
  66. package/dist/components/input/style.less +107 -0
  67. package/dist/components/input/tplusInput/index.js +89 -0
  68. package/dist/components/input/tplusInput/index.js.map +1 -0
  69. package/dist/components/input/tplusInput/inputContent.js +130 -0
  70. package/dist/components/input/tplusInput/inputContent.js.map +1 -0
  71. package/dist/components/input/tplusInput/inputs.js +201 -0
  72. package/dist/components/input/tplusInput/inputs.js.map +1 -0
  73. package/dist/components/input/tplusInput/style.less +194 -0
  74. package/dist/components/input/utils/index.js +26 -0
  75. package/dist/components/input/utils/index.js.map +1 -0
  76. package/dist/components/inventorySearch/api.js +214 -0
  77. package/dist/components/inventorySearch/api.js.map +1 -0
  78. package/dist/components/inventorySearch/index.js +303 -0
  79. package/dist/components/inventorySearch/index.js.map +1 -0
  80. package/dist/components/inventorySearch/index.less +244 -0
  81. package/dist/components/inventorySearch/store.js +344 -0
  82. package/dist/components/inventorySearch/store.js.map +1 -0
  83. package/dist/components/inventorySearch/tab.js +255 -0
  84. package/dist/components/inventorySearch/tab.js.map +1 -0
  85. package/dist/components/keyboard/index.js +258 -0
  86. package/dist/components/keyboard/index.js.map +1 -0
  87. package/dist/components/keyboard/index.less +556 -0
  88. package/dist/components/keyboard/letterKeyboard.js +222 -0
  89. package/dist/components/keyboard/letterKeyboard.js.map +1 -0
  90. package/dist/components/keyboard/numKeyboard.js +458 -0
  91. package/dist/components/keyboard/numKeyboard.js.map +1 -0
  92. package/dist/components/keyboard/numKeyboardDigit.js +502 -0
  93. package/dist/components/keyboard/numKeyboardDigit.js.map +1 -0
  94. package/dist/components/keyboard/numKeyboardScan.js +215 -0
  95. package/dist/components/keyboard/numKeyboardScan.js.map +1 -0
  96. package/dist/components/keyboard/numberButtonInteger.js +296 -0
  97. package/dist/components/keyboard/numberButtonInteger.js.map +1 -0
  98. package/dist/components/keyboard/numberButton_input.js +300 -0
  99. package/dist/components/keyboard/numberButton_input.js.map +1 -0
  100. package/dist/components/keyboard/onlyKeyboard.js +90 -0
  101. package/dist/components/keyboard/onlyKeyboard.js.map +1 -0
  102. package/dist/components/keyboard/onlyLetterButton.js +187 -0
  103. package/dist/components/keyboard/onlyLetterButton.js.map +1 -0
  104. package/dist/components/keyboard/onlyLetterButton2.js +235 -0
  105. package/dist/components/keyboard/onlyLetterButton2.js.map +1 -0
  106. package/dist/components/keyboard/onlyLetterButton2.less +184 -0
  107. package/dist/components/keyboard/onlyNumberButton.js +128 -0
  108. package/dist/components/keyboard/onlyNumberButton.js.map +1 -0
  109. package/dist/components/keyboard/onlyNumberButton2.js +115 -0
  110. package/dist/components/keyboard/onlyNumberButton2.js.map +1 -0
  111. package/dist/components/keyboard/textKeyboard.js +50 -0
  112. package/dist/components/keyboard/textKeyboard.js.map +1 -0
  113. package/dist/components/layout/hamburger.js +29 -0
  114. package/dist/components/layout/hamburger.js.map +1 -0
  115. package/dist/components/layout/index.js +31 -0
  116. package/dist/components/layout/index.js.map +1 -0
  117. package/dist/components/layout/layout.js +182 -0
  118. package/dist/components/layout/layout.js.map +1 -0
  119. package/dist/components/layout/sider.js +165 -0
  120. package/dist/components/layout/sider.js.map +1 -0
  121. package/dist/components/layout/style.less +83 -0
  122. package/dist/components/loading/index.js +193 -0
  123. package/dist/components/loading/index.js.map +1 -0
  124. package/dist/components/loading/loadingContent.js +159 -0
  125. package/dist/components/loading/loadingContent.js.map +1 -0
  126. package/dist/components/loading/style.less +51 -0
  127. package/dist/components/loading/utils.js +29 -0
  128. package/dist/components/loading/utils.js.map +1 -0
  129. package/dist/components/message/index.js +286 -0
  130. package/dist/components/message/index.js.map +1 -0
  131. package/dist/components/message/index.less +150 -0
  132. package/dist/components/modal/index.js +93 -0
  133. package/dist/components/modal/index.js.map +1 -0
  134. package/dist/components/modal/index.less +19 -0
  135. package/dist/components/modalVertical/index.js +338 -0
  136. package/dist/components/modalVertical/index.js.map +1 -0
  137. package/dist/components/modalVertical/style.less +114 -0
  138. package/dist/components/modalWraper/index.js +482 -0
  139. package/dist/components/modalWraper/index.js.map +1 -0
  140. package/dist/components/modalWraper/style.less +363 -0
  141. package/dist/components/modalWraper/utils.js +49 -0
  142. package/dist/components/modalWraper/utils.js.map +1 -0
  143. package/dist/components/notification/index.js +124 -0
  144. package/dist/components/notification/index.js.map +1 -0
  145. package/dist/components/notification/index.less +58 -0
  146. package/dist/components/overflowTip/index.js +269 -0
  147. package/dist/components/overflowTip/index.js.map +1 -0
  148. package/dist/components/overflowTip/style.less +66 -0
  149. package/dist/components/page/index.js +49 -0
  150. package/dist/components/page/index.js.map +1 -0
  151. package/dist/components/page/index.less +26 -0
  152. package/dist/components/product/detail.js +97 -0
  153. package/dist/components/product/detail.js.map +1 -0
  154. package/dist/components/product/getCard.js +145 -0
  155. package/dist/components/product/getCard.js.map +1 -0
  156. package/dist/components/product/index.less +354 -0
  157. package/dist/components/progressState/EmptyAndErrorView.js +143 -0
  158. package/dist/components/progressState/EmptyAndErrorView.js.map +1 -0
  159. package/dist/components/progressState/ProgressState.js +157 -0
  160. package/dist/components/progressState/ProgressState.js.map +1 -0
  161. package/dist/components/progressState/index.js +14 -0
  162. package/dist/components/progressState/index.js.map +1 -0
  163. package/dist/components/progressState/style.less +65 -0
  164. package/dist/components/scan/index.js +219 -0
  165. package/dist/components/scan/index.js.map +1 -0
  166. package/dist/components/scan/index.less +34 -0
  167. package/dist/components/select/index.js +28 -0
  168. package/dist/components/select/index.js.map +1 -0
  169. package/dist/components/select/index.less +12 -0
  170. package/dist/components/settlement/asyncModal.js +178 -0
  171. package/dist/components/settlement/asyncModal.js.map +1 -0
  172. package/dist/components/settlement/index.js +16 -0
  173. package/dist/components/settlement/index.js.map +1 -0
  174. package/dist/components/settlement/settlement.js +5488 -0
  175. package/dist/components/settlement/settlement.js.map +1 -0
  176. package/dist/components/settlement/settlement.less +1604 -0
  177. package/dist/components/settlement/settlementStore.js +1460 -0
  178. package/dist/components/settlement/settlementStore.js.map +1 -0
  179. package/dist/components/settlement/utils.js +295 -0
  180. package/dist/components/settlement/utils.js.map +1 -0
  181. package/dist/components/socket/index.js +220 -0
  182. package/dist/components/socket/index.js.map +1 -0
  183. package/dist/components/spin/index.js +95 -0
  184. package/dist/components/spin/index.js.map +1 -0
  185. package/dist/components/spin/spin-style.less +436 -0
  186. package/dist/components/test/index.js +338 -0
  187. package/dist/components/test/index.js.map +1 -0
  188. package/dist/components/ticon/iconfont/demo.css +539 -0
  189. package/dist/components/ticon/iconfont/demo_index.html +4765 -0
  190. package/dist/components/ticon/iconfont/iconfont.css +811 -0
  191. package/dist/components/ticon/iconfont/iconfont.eot +0 -0
  192. package/dist/components/ticon/iconfont/iconfont.js +33 -0
  193. package/dist/components/ticon/iconfont/iconfont.js.map +1 -0
  194. package/dist/components/ticon/iconfont/iconfont.json +1402 -0
  195. package/dist/components/ticon/iconfont/iconfont.svg +572 -0
  196. package/dist/components/ticon/iconfont/iconfont.ttf +0 -0
  197. package/dist/components/ticon/iconfont/iconfont.woff +0 -0
  198. package/dist/components/ticon/iconfont/iconfont.woff2 +0 -0
  199. package/dist/components/ticon/index.js +60 -0
  200. package/dist/components/ticon/index.js.map +1 -0
  201. package/dist/components/touchScroll/index.js +182 -0
  202. package/dist/components/touchScroll/index.js.map +1 -0
  203. package/dist/components/touchTable/AuthProcess.js +42 -0
  204. package/dist/components/touchTable/AuthProcess.js.map +1 -0
  205. package/dist/components/touchTable/generateWater.js +59 -0
  206. package/dist/components/touchTable/generateWater.js.map +1 -0
  207. package/dist/components/touchTable/index.js +958 -0
  208. package/dist/components/touchTable/index.js.map +1 -0
  209. package/dist/components/touchTable/index.less +190 -0
  210. package/dist/components/touchTable/utils.js +14 -0
  211. package/dist/components/touchTable/utils.js.map +1 -0
  212. package/dist/demo/PopOverDemo.js +126 -0
  213. package/dist/demo/PopOverDemo.js.map +1 -0
  214. package/dist/index.js +246 -0
  215. package/dist/index.js.map +1 -0
  216. package/dist/util/tools.js +210 -0
  217. package/dist/util/tools.js.map +1 -0
  218. package/package.json +1 -1
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["tplus-components-touch/components/hotKey/index.js"],"names":["keyboard","keymaster","noConflict","hotKeyFactory","constructor","keys","handler","observerCallback","pressed","log","hotKeyConfig","defaultHotKeyConfig","operationControl","defaultOperationControl","filter","clickBefore","observe","MutationObserver","showLog","defineHotKeyConfig","getDefineHotKeyConfigByStore","length","window","deleteScope","getScope","join","defineOperationControl","getDefineOperationControlByStore","control","newhotKeyArraySort","a","b","replace","clickBeforeProp","controller","action","actuator","find","next","find_element","getFocusId","bind","register","unRegister","setFocus","clearFocus","observerTrigger","unbind","on","off","observer","dom","config","attributes","childList","subtree","containerDom","document","body","asyncQueryHotKeyDom","operator","currentNode","pollQueryDom","Array","isArray","index","element","target","result","setting_setData","localStore","get","JSON","parse","localStorage","getItem","defineHotKeyConfigList","conflictHotKeyConfigList","forEach","settingItem","ParamType","Id","DefaultValue","ExtField","Title","ID","Value","Name","TabIndex","ExtFieldParse","dynamic","classification","enableEdit","operation","operationType","isdisplay","error","configItem","describe","keyValue","id","push","itemOperationType","defineHotKey","defineHotKeyList","defineKey","operationKeys","opKey","dynamicSelector","array","fn","t","x","y","i","j","dynamicAction","keyName","focusId","directionSelector","targetKey","key","domSelector","actionNode","queryNode","includes","fnName","down","up","right","left","click","focus","waring","triggerRegister","registerKey","trigger","item","container","className","targetDom","classNameList","some","queryDom","name","unlock","containerName","addKey","prev","rejectDoAction","resolve","reject","dynamicActionTarget","hotKeyProto","actionCompose","callback","actionPromise","prveValue","listener","value","then","res","lock","operations","operationItem","selector","isNew","filterNum","nextSibling","previousSibling","returnValue","arr","split","map","el","querySelectorAll","v","style","display","classList","add","focusContainer","remove","querySelector","currentClassList","hotKeyIdNode","callBack","handles","isHaveEvent","handle","handleIndex","findIndex","splice","node","nodeType","isShowLog","console","hotKey","option","call","hotKeyPart","partName","otherClassName","hotKeyBindClass","hotKeyNotFilter","showHotKeyModal","classificationList","keyReplaceStringList","operationTypeName"],"mappings":"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","file":"index.js","sourcesContent":["/**\n * Created by hzy on 2019/11/27.\n */\n/**\n * @hotKey(option) 调用hotKey方法初始化状态\n * @option 可传入选项 {handler: 全局的句柄默认为$}\n * @observerCallback dom变化后的回调\n * @log 是否显示log\n * @hotKeyConfig 快捷键配置项\n * @operationControl 快捷键权限控制\n * @clickBefore 点击事件前的回调方法\n *\n * 初始化后的方法\n * action 传入第一个参数 按键字符串,触发config中的动作,返回一个promise,执行then方法可以从参数中拿到当前的上下文对象\n * action 第二个参数为回调函数,回调函数的参数会返回当前的动作触发的元素属性以及当前为第几步\n *\n * observer 监听dom变化,第一个参数为监听的dom目标,第二个参数为配置 具体查看 new MutationObserver observer\n * find 查找dom,可链式调用\n * next 查找下一个兄弟节点,参数中可传入数量跳过几个相邻的\n * prev 查找上一个兄弟节点,参数中可传入数量跳过几个相邻的\n * click 触发点击事件\n * register 注册一个全局的快捷键,第一个方法参数为快捷键名,第二个方法参数为目标容器class名,第三个方法参数为触发事件dom class名\n * unRegister 注销一个全局的快捷键\n *\n * \n * config & control 说明 见 ./config.js 文件\n *\n */\nimport keymaster from 'keymaster';\nimport { queryHotKey, queryCount } from './utils';\nimport { hotKeyConfig as defaultHotKeyConfig, operationControl as defaultOperationControl, classificationList,keyReplaceStringList,operationTypeName} from './config';\nimport { showHotKeyModal } from './hotKeyModal'\nimport {localStore} from 'mutants-util';\nimport './style.less';\n\nconst keyboard = keymaster.noConflict();\n\nconst hotKeyFactory = {\n constructor({\n keys = [],\n handler = '$',\n observerCallback,\n pressed,\n log = false,\n hotKeyConfig = defaultHotKeyConfig,\n operationControl = defaultOperationControl,\n filter,\n clickBefore\n } = {}) {\n // keys = ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyInjectOrEject)];\n const observe = observerCallback && new MutationObserver(observerCallback);\n hotKeyFactory.showLog = log;\n // 如果快捷键配置不存在使用默认\n let defineHotKeyConfig = this.getDefineHotKeyConfigByStore();\n \n // hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\n hotKeyFactory.hotKeyConfig = Object.keys(defineHotKeyConfig).length?defineHotKeyConfig:hotKeyConfig;\n keys = keys.length == 0 ? ['esc', 'enter', 'ctrl+f1', ...Object.keys(hotKeyFactory.hotKeyConfig)] : keys;\n\n // 删除原来挂载的按键监听\n if(window[handler]){\n keyboard.deleteScope(keyboard.getScope())\n }\n keyboard(keys.join(), pressed);\n keyboard.filter = filter;\n \n let defineOperationControl = this.getDefineOperationControlByStore(hotKeyFactory.hotKeyConfig)\n hotKeyFactory.operationControl = defineOperationControl || operationControl;\n \n // 排序复合结算\n if(hotKeyFactory.operationControl[5] && hotKeyFactory.operationControl[5].control){\n hotKeyFactory.operationControl[5].control = hotKeyFactory.newhotKeyArraySort(hotKeyFactory.operationControl[5].control,(a,b)=>{\n return a.replace('f','') - b.replace('f','')\n })\n }\n\n hotKeyFactory.clickBeforeProp = clickBefore;\n const controller = {\n keys,\n hotKeyConfig:hotKeyFactory.hotKeyConfig,\n operationControl:hotKeyFactory.operationControl,\n action: this.actuator,\n find: this.find,\n next: this.next,\n find_element: this.find_element,\n getFocusId: this.getFocusId.bind(this),\n register: this.register,\n unRegister: this.unRegister,\n setFocus: this.setFocus,\n clearFocus: this.clearFocus,\n observerTrigger: observerCallback,\n bind: this.bind,\n unbind: this.unbind,\n on: this.on,\n off: this.off,\n observer(dom, config = { attributes: true, childList: true, subtree: true }) {\n const containerDom = dom || document.body;\n observe.observe(containerDom, config);\n },\n };\n // if (!window[handler]) {\n window[handler] = controller;\n // }\n return controller;\n },\n asyncQueryHotKeyDom(operator, currentNode) {\n const pollQueryDom = () => {\n if(Array.isArray(operator)){\n for (let index = 0; index < operator.length; index++) {\n const element = operator[index];\n const target = queryHotKey(element, currentNode);\n if (target) return target;\n }\n }else{\n const target = queryHotKey(operator, currentNode);\n if (target) return target;\n }\n const result = queryCount();\n if (result === 'done') return;\n\n return pollQueryDom();\n };\n\n return pollQueryDom();\n },\n\n // 获取自定义快捷键\n getDefineHotKeyConfigByStore(){\n // 正式环境使用缓存对象\n\n let setting_setData = localStore.get(\"setting_setData\");\n if(setting_setData == null){ \n setting_setData = JSON.parse(localStorage.getItem(\"setting_setData\"));\n }\n\n // 本地调试使用\n // const setting_setData = window.web_hotKeyConfig\n let defineHotKeyConfig = {}\n let defineHotKeyConfigList = [];\n let conflictHotKeyConfigList = [];\n if(setting_setData && Array.isArray(setting_setData)){\n setting_setData.forEach((settingItem)=>{\n // 快捷键固定ParamType\n if(settingItem.ParamType.Id === \"56577\"){\n const { DefaultValue , ExtField , Title , ID , Value , Name, TabIndex} = settingItem || {};\n let ExtFieldParse = {dynamic:false,classification:\"\",enableEdit:false,operation:[],operationType:1,isdisplay:false};\n try {\n ExtFieldParse = JSON.parse(ExtField) \n } catch (error) {}\n const { dynamic , classification , enableEdit , operation,operationType,isdisplay} = ExtFieldParse\n\n const configItem = { Name, describe:Title,dynamic,keyValue:Value,operation,enableEdit,classification,id:ID,DefaultValue,operationType,TabIndex,isdisplay };\n\n if(Value !== ''){\n // 快捷键未被设置为空\n if(defineHotKeyConfig[Value]){\n // 存在使用相同快捷键\n const { operationControl } = defineHotKeyConfig[Value];\n if(operationControl){\n // 之前已经存入过两个快捷键 这是第三个\n if(!operationControl[operationType]){\n defineHotKeyConfig[Value].operationControl[operationType] = configItem;\n }else{\n // 表示有冲突快捷键\n conflictHotKeyConfigList.push({...configItem,keyValue:\"\"});\n return null\n }\n }else{\n const { operationType:itemOperationType } = defineHotKeyConfig[Value];\n if(operationType == itemOperationType){\n // 存在冲突快捷键 因为 dynamic 并未改变为动态键所致\n conflictHotKeyConfigList.push({...configItem,keyValue:\"\"});\n return null\n }else{\n // 存储第二个快捷键\n const operationControl = {...defineHotKeyConfig[Value],dynamic:true};\n defineHotKeyConfig[Value] = {\n operationControl:{}\n };\n // 搬移一层对象信息到第二次 变为动态键\n defineHotKeyConfig[Value].dynamic = true;\n defineHotKeyConfig[Value].operationControl[itemOperationType] = operationControl\n // 增加第二个动态键\n defineHotKeyConfig[Value].operationControl[operationType] = {...configItem,dynamic:true}\n }\n }\n }else{\n // 单个动态键\n if(dynamic){\n defineHotKeyConfig[Value] = {\n dynamic : true,\n operationControl:{}\n };\n defineHotKeyConfig[Value].operationControl[operationType] = {...configItem,dynamic:true}\n }else{\n defineHotKeyConfig[Value] = {...configItem,dynamic:false};\n }\n }\n }else{\n // 快捷键设置为空\n }\n\n defineHotKeyConfigList.push(configItem);\n }\n })\n }else{\n defineHotKeyConfig = defaultHotKeyConfig\n }\n window.defineHotKeyConfigList = [...defineHotKeyConfigList,...conflictHotKeyConfigList];\n return defineHotKeyConfig\n },\n\n\n // 获取自定义权限\n getDefineOperationControlByStore(defineHotKey){\n // 获取自定义快捷键配置JSON KEY值集合\n const defineHotKeyList = Object.keys(defineHotKey || {})\n\n let defineOperationControl = {};\n\n // 遍历自定义快捷键的key值 \n defineHotKeyList.forEach(defineKey => {\n\n const { dynamic,operationControl} = defineHotKey[defineKey] || {}\n // 是否是动态键 \n if(dynamic){\n if(operationControl){\n // 动态键\n const operationKeys = Object.keys(operationControl);\n operationKeys.forEach( opKey => {\n\n const {operation} = operationControl[opKey] || {};\n // 构建权限页面结构\n if(!defineOperationControl[opKey]){\n defineOperationControl[opKey] = {\n control:[],\n dynamicSelector:{}\n }\n }\n\n // 添加键值 \n defineOperationControl[opKey].control.push(defineKey);\n // 如果是上下键 dynamicSelector值有所不同 \n if(defineKey === 'down' || defineKey === 'up'){\n defineOperationControl[opKey].dynamicSelector['up&down'] = operation;\n return;\n }\n defineOperationControl[opKey].dynamicSelector[defineKey] = operation\n });\n }else{\n\n const { operationType , operation } = defineHotKey[defineKey] || {}\n if(!defineOperationControl[operationType]){\n defineOperationControl[operationType] = {\n control:[],\n dynamicSelector:{}\n }\n }\n // 添加键值 \n defineOperationControl[operationType].control.push(defineKey);\n defineOperationControl[operationType].dynamicSelector[defineKey] = operation\n // const {}\n }\n }\n });\n return defineOperationControl;\n },\n\n newhotKeyArraySort(array,fn){\n\t\tlet t; \n fn = fn || function (x, y) { return x - y };\n for (var i = 0; i < array.length; i++) {\n for (var j = i; j < array.length; j++) {\n if (fn(array[i], array[j]) > 0) {\n t = array[i];\n array[i] = array[j];\n array[j] = t;\n }\n }\n }\n\t\treturn array; \t\n\t},\n\n dynamicAction(keyName, target) {\n const { dynamic } = this.hotKeyConfig[keyName] || {};\n if (!dynamic) return;\n\n const { dynamicSelector = {} } = this.operationControl[this.focusId] || {};\n const { directionSelector = {} } = this.operationControl[this.focusId] || {};\n let targetKey = 'up&down'\n\n if(keyName !== 'up' && keyName !== 'down'){\n targetKey = Object.keys(dynamicSelector).find(key => key === keyName);\n }\n \n const domSelector = dynamicSelector[targetKey];\n let actionNode = hotKeyFactory.queryNode(target).find(domSelector);\n\n if ('updown'.includes(keyName) && actionNode.currentNode) {\n const fnName = { down: 'next', up: 'prev' };\n actionNode = actionNode[fnName[keyName]]();\n }\n\n if(this.focusId ==7 && 'leftright'.includes(keyName) && actionNode.currentNode){\n const fnName = { right: 'next', left: 'prev' };\n actionNode = actionNode[fnName[keyName]]();\n }\n\n actionNode.currentNode && actionNode.click();\n if(actionNode.currentNode && actionNode.currentNode.id == \"memberPoint\"){\n actionNode.currentNode.focus()\n }\n\n if (!actionNode.currentNode) {\n hotKeyFactory.log(true, { waring: `the [${keyName}] hot-key of dynamic trigger Dom not found` });\n return true;\n }\n\n return actionNode.currentNode;\n },\n triggerRegister(keyName) {\n if (!hotKeyFactory.registerKey) return;\n\n const trigger = this.registerKey.find(item => item.key === keyName);\n if (!trigger) return;\n\n const { container, className } = trigger;\n const containerDom = this.asyncQueryHotKeyDom(container);\n let targetDom;\n const classNameList = Array.isArray(className) ? className : [className];\n classNameList.some(name => {\n const queryDom = hotKeyFactory.queryNode(containerDom).find(name);\n targetDom = queryDom;\n return !!queryDom.currentNode;\n });\n\n targetDom.currentNode && targetDom.click();\n hotKeyFactory.log(!targetDom.currentNode, { waring: 'register hot-key trigger Dom not found' });\n\n hotKeyFactory.unlock();\n },\n register(keyName) {\n return (containerName) => (className) => {\n const registerKey = {\n key: keyName,\n container: containerName,\n className\n };\n\n if (!hotKeyFactory.registerKey) {\n hotKeyFactory.registerKey = [registerKey];\n } else {\n const addKey = [...hotKeyFactory.registerKey.filter(item => item.key !== keyName), registerKey];\n hotKeyFactory.registerKey = addKey;\n }\n };\n },\n unRegister(keyName) {\n if (hotKeyFactory.registerKey) {\n const keys = hotKeyFactory.registerKey.filter(item => item.key !== keyName);\n hotKeyFactory.registerKey = keys;\n }\n },\n queryNode(target) {\n const {\n find, next, prev, setFocus, clearFocus\n } = this;\n\n return {\n currentNode: target,\n find,\n next,\n prev,\n setFocus,\n clearFocus,\n click() {\n hotKeyFactory.clickBefore();\n this.currentNode.click();\n }\n };\n },\n rejectDoAction(keyName) {\n const id = hotKeyFactory.getFocusId();\n if (!id) return true;\n\n const { control, directionSelector } = this.operationControl[id] || {};\n\n // if (control === 'ALL') return;\n if (id == '1') return; //动态生成id=='1' 代替ALL\n if (!control || !control.includes(keyName)) return true;\n },\n action(keyName, className) {\n return new Promise((resolve, reject) => {\n const target = this.asyncQueryHotKeyDom(className);\n\n const dynamicActionTarget = hotKeyFactory.dynamicAction(keyName, target);\n if (dynamicActionTarget) return resolve(dynamicActionTarget);\n\n if (target) {\n const hotKeyProto = hotKeyFactory.queryNode(target);\n\n hotKeyProto.click();\n hotKeyFactory.unlock();\n\n resolve(hotKeyProto);\n } else {\n hotKeyFactory.log(true, { waring: `not found hot ket target of [${className}]` });\n hotKeyFactory.unlock();\n }\n });\n },\n actionCompose(operation, keyName, callback) {\n let actionPromise = null;\n let prveValue = null;\n const { listener } = hotKeyFactory;\n\n operation.forEach((value, index) => {\n if (!actionPromise) {\n prveValue = value;\n actionPromise = hotKeyFactory.action(keyName, value);\n if (index === (operation.length - 1)) {\n actionPromise.then(res => {\n listener(callback, res, index);\n hotKeyFactory.unlock();\n return this;\n });\n }\n } else {\n actionPromise.then(res => {\n listener(callback, res, index - 1);\n prveValue = value;\n return hotKeyFactory.action(keyName, value);\n });\n\n if (index === (operation.length - 1)) {\n actionPromise.then(res => {\n listener(callback, res, index);\n hotKeyFactory.unlock();\n return this;\n });\n }\n }\n });\n\n return actionPromise;\n },\n actuator(keyName, callback) {\n hotKeyFactory.log(true, { keyName });\n\n // if (hotKeyFactory.lock) return;\n hotKeyFactory.lock = true;\n\n if (hotKeyFactory.triggerRegister(keyName)) return;\n if (hotKeyFactory.rejectDoAction(keyName)) return;\n\n const { operation = ['.hot-key-focus-container'] } = this.hotKeyConfig[keyName] || {};\n const operations = Array.isArray(operation[0]) ? operation : [operation]; // 存在一个按键操作多个节点\n\n operations.forEach(operationItem => hotKeyFactory.actionCompose(operationItem, keyName, callback));\n },\n find(selector, isNew) {\n let currentNode;\n if (!this.currentNode || isNew) {\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector);\n } else {\n currentNode = hotKeyFactory.asyncQueryHotKeyDom(selector, this.currentNode);\n }\n\n return hotKeyFactory.queryNode(currentNode);\n },\n next(filterNum = 1) {\n for (let i = 0; i < filterNum; i++) {\n if (!this.currentNode) {\n hotKeyFactory.log(true, { waring: 'There is a warning in the next,trigger Dom is not found ' });\n break;\n }\n this.currentNode = this.currentNode.nextSibling;\n }\n\n return this;\n },\n prev(filterNum = 1) {\n for (let i = 0; i < filterNum; i++) {\n if (!this.currentNode) {\n hotKeyFactory.log(true, { waring: 'There is a warning in the prev,trigger Dom is not found ' });\n break;\n }\n this.currentNode = this.currentNode.previousSibling;\n }\n\n return this;\n },\n find_element(selector) {\n let returnValue = [];\n let arr = selector.split(' ');\n if (arr && arr.length > 0) {\n arr.map(item => {\n let el = document.querySelectorAll(`.hot-key-focus-container ${item}`);\n returnValue = [...returnValue, ...el];\n })\n returnValue = returnValue && [...returnValue].filter(v => v.style.display != 'none')\n } \n return returnValue;\n },\n setFocus(target) {\n const container = target || this.currentNode;\n container && container.classList.add('hot-key-focus-container');\n hotKeyFactory.log(!container, { waring: 'the set focus container Dom is not found' });\n },\n clearFocus() {\n const focusContainer = document.querySelectorAll('.hot-key-focus-container');\n\n for (const dom of focusContainer) {\n dom.classList.remove('hot-key-focus-container');\n }\n hotKeyFactory.log(true, { log: 'the focus container is clear' });\n },\n clickBefore() {\n const { clickBeforeProp } = hotKeyFactory;\n clickBeforeProp && clickBeforeProp();\n },\n unlock() {\n hotKeyFactory.lock = false;\n },\n getFocusId() {\n const focusContainer = document.querySelector('.hot-key-focus-container');\n if (!focusContainer) return hotKeyFactory.log(true, { waring: 'the focus container is not found' });\n\n let classList;\n const currentClassList = Array.from(focusContainer.classList) || [];\n if (currentClassList.includes('hot-key-id')) {\n classList = currentClassList;\n } else {\n const hotKeyIdNode = focusContainer.querySelector('.hot-key-id');\n hotKeyFactory.log(!hotKeyIdNode, { waring: 'not have any bind hot-key id node' });\n\n if (!hotKeyIdNode) return;\n\n classList = Array.from(hotKeyIdNode.classList) || [];\n }\n const [, id] = (classList.find(className => className.includes('hot-key-id=')) || '').split('=');\n this.focusId = id;\n\n return id;\n },\n bind(keys = [], callBack) {\n keyboard(keys.join(), callBack);\n },\n unbind(keys = []) {\n keys.forEach(key => keyboard.unbind(key));\n },\n handles: [],\n on(callback) {\n const handles = hotKeyFactory.handles || [];\n const isHaveEvent = handles.some(handle => handle === callback);\n\n if (!isHaveEvent) {\n handles.push(callback);\n }\n },\n off(callback) {\n const handles = hotKeyFactory.handles || [];\n const handleIndex = handles.findIndex(handle => handle === callback);\n\n if (~handleIndex) {\n handles.splice(handleIndex, 1);\n }\n },\n listener(callback, result = {}, index) {\n const node = result.nodeType === 1 ? result : result.currentNode;\n hotKeyFactory.handles.forEach(handle => handle(node, index));\n\n callback && callback(node, index);\n },\n log(isShowLog, { keyName, waring } = {}) {\n if (!this.showLog || !isShowLog) return;\n\n if (keyName) console.log(`[hot-key]: ${keyName}`);\n if (waring) console.log(`[hot-key-waring]: ${waring}`);\n }\n};\n\nfunction hotKey(option) {\n return hotKeyFactory.constructor.call(hotKeyFactory, option);\n}\n\nhotKey.hotKeyPart = function (partName, otherClassName = '') {\n return `${otherClassName} hot-key-part-${partName}`;\n};\n\nhotKey.hotKeyBindClass = function (id, otherClassName = '') {\n return `${otherClassName} hot-key-id hot-key-id=${id}`;\n};\n\nhotKey.hotKeyNotFilter = function (otherClassName = '') {\n return `${otherClassName} hot-key-not-filter`;\n};\n\nhotKey.hotKeyConfig = defaultHotKeyConfig;\nhotKey.operationControl = defaultOperationControl;\nhotKey.showHotKeyModal = showHotKeyModal;\nhotKey.classificationList = classificationList;\nhotKey.keyReplaceStringList = keyReplaceStringList\nhotKey.operationTypeName = operationTypeName\n\nexport default hotKey;\n"]}