amis 1.9.1-beta.0 → 1.9.1-beta.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. package/lib/RootRenderer.js +10 -2
  2. package/lib/RootRenderer.js.map +2 -2
  3. package/lib/Schema.d.ts +3 -2
  4. package/lib/Schema.js.map +1 -1
  5. package/lib/SchemaRenderer.js +6 -9
  6. package/lib/SchemaRenderer.js.map +2 -2
  7. package/lib/actions/CmptAction.js +4 -4
  8. package/lib/actions/CmptAction.js.map +2 -2
  9. package/lib/components/Button.d.ts +11 -10
  10. package/lib/components/Button.js +2 -2
  11. package/lib/components/Button.js.map +2 -2
  12. package/lib/components/CalendarMobile.d.ts +40 -40
  13. package/lib/components/Checkbox.js +1 -1
  14. package/lib/components/Checkbox.js.map +2 -2
  15. package/lib/components/ContextMenu.d.ts +4 -0
  16. package/lib/components/ContextMenu.js +23 -7
  17. package/lib/components/ContextMenu.js.map +2 -2
  18. package/lib/components/DatePicker.d.ts +40 -40
  19. package/lib/components/DateRangePicker.d.ts +40 -40
  20. package/lib/components/Form.d.ts +22 -0
  21. package/lib/components/Form.js +44 -0
  22. package/lib/components/Form.js.map +13 -0
  23. package/lib/components/FormField.d.ts +65 -0
  24. package/lib/components/FormField.js +48 -0
  25. package/lib/components/FormField.js.map +13 -0
  26. package/lib/components/InputBox.d.ts +10 -10
  27. package/lib/components/InputBox.js +4 -3
  28. package/lib/components/InputBox.js.map +2 -2
  29. package/lib/components/InputBoxWithSuggestion.d.ts +280 -0
  30. package/lib/components/InputBoxWithSuggestion.js +65 -0
  31. package/lib/components/InputBoxWithSuggestion.js.map +13 -0
  32. package/lib/components/ListGroup.d.ts +10 -10
  33. package/lib/components/PickerContainer.d.ts +4 -2
  34. package/lib/components/PickerContainer.js +28 -5
  35. package/lib/components/PickerContainer.js.map +2 -2
  36. package/lib/components/Radios.d.ts +10 -10
  37. package/lib/components/ResultBox.d.ts +40 -40
  38. package/lib/components/Select.d.ts +195 -202
  39. package/lib/components/Select.js +7 -3
  40. package/lib/components/Select.js.map +2 -2
  41. package/lib/components/Textarea.d.ts +568 -2
  42. package/lib/components/Textarea.js +129 -1
  43. package/lib/components/Textarea.js.map +2 -2
  44. package/lib/components/Toast.js +11 -9
  45. package/lib/components/Toast.js.map +2 -2
  46. package/lib/components/UserSelect.d.ts +500 -0
  47. package/lib/components/UserSelect.js +559 -0
  48. package/lib/components/UserSelect.js.map +13 -0
  49. package/lib/components/UserTabSelect.d.ts +320 -0
  50. package/lib/components/UserTabSelect.js +163 -0
  51. package/lib/components/UserTabSelect.js.map +13 -0
  52. package/lib/components/WithRemoteConfig.d.ts +7 -0
  53. package/lib/components/WithRemoteConfig.js +22 -13
  54. package/lib/components/WithRemoteConfig.js.map +2 -2
  55. package/lib/components/calendar/DaysView.d.ts +26 -1
  56. package/lib/components/calendar/DaysView.js +60 -19
  57. package/lib/components/calendar/DaysView.js.map +2 -2
  58. package/lib/components/calendar/TimeView.d.ts +1 -1
  59. package/lib/components/calendar/TimeView.js +10 -3
  60. package/lib/components/calendar/TimeView.js.map +2 -2
  61. package/lib/components/formula/Picker.js +4 -4
  62. package/lib/components/formula/Picker.js.map +2 -2
  63. package/lib/components/icons.d.ts +7 -1
  64. package/lib/components/icons.js +17 -1
  65. package/lib/components/icons.js.map +2 -2
  66. package/lib/components/index.d.ts +2 -1
  67. package/lib/components/index.js +3 -1
  68. package/lib/components/index.js.map +2 -2
  69. package/lib/components/json-schema/Array.d.ts +3 -0
  70. package/lib/components/json-schema/Array.js +125 -0
  71. package/lib/components/json-schema/Array.js.map +13 -0
  72. package/lib/components/json-schema/Item.d.ts +3 -0
  73. package/lib/components/json-schema/Item.js +34 -0
  74. package/lib/components/json-schema/Item.js.map +13 -0
  75. package/lib/components/json-schema/Object.d.ts +3 -0
  76. package/lib/components/json-schema/Object.js +178 -0
  77. package/lib/components/json-schema/Object.js.map +13 -0
  78. package/lib/components/json-schema/index.d.ts +279 -0
  79. package/lib/components/json-schema/index.js +16 -0
  80. package/lib/components/json-schema/index.js.map +13 -0
  81. package/lib/components/schema-editor/Array.js +2 -2
  82. package/lib/components/schema-editor/Array.js.map +2 -2
  83. package/lib/components/schema-editor/Common.d.ts +2 -0
  84. package/lib/components/schema-editor/Common.js +39 -3
  85. package/lib/components/schema-editor/Common.js.map +2 -2
  86. package/lib/components/schema-editor/Object.js +2 -2
  87. package/lib/components/schema-editor/Object.js.map +2 -2
  88. package/lib/components/schema-editor/index.d.ts +45 -41
  89. package/lib/components/schema-editor/index.js +5 -5
  90. package/lib/components/schema-editor/index.js.map +2 -2
  91. package/lib/components/table/ItemActionsWrapper.d.ts +10 -0
  92. package/lib/components/table/ItemActionsWrapper.js +25 -0
  93. package/lib/components/table/ItemActionsWrapper.js.map +13 -0
  94. package/lib/components/table/index.d.ts +48 -41
  95. package/lib/components/table/index.js +46 -18
  96. package/lib/components/table/index.js.map +2 -2
  97. package/lib/helper.css +125 -124
  98. package/lib/helper.css.map +1 -1
  99. package/lib/hooks/use-validation-resolver.d.ts +1 -0
  100. package/lib/hooks/use-validation-resolver.js +49 -0
  101. package/lib/hooks/use-validation-resolver.js.map +13 -0
  102. package/lib/icons/department.js +17 -0
  103. package/lib/icons/menu.js +9 -0
  104. package/lib/icons/post.js +15 -0
  105. package/lib/icons/role.js +14 -0
  106. package/lib/icons/user-remove.js +12 -0
  107. package/lib/index.d.ts +2 -0
  108. package/lib/index.js +3 -1
  109. package/lib/index.js.map +2 -2
  110. package/lib/locale/de-DE.js +11 -1
  111. package/lib/locale/de-DE.js.map +2 -2
  112. package/lib/locale/en-US.js +12 -1
  113. package/lib/locale/en-US.js.map +2 -2
  114. package/lib/locale/zh-CN.js +14 -3
  115. package/lib/locale/zh-CN.js.map +2 -2
  116. package/lib/renderers/Action.js +25 -11
  117. package/lib/renderers/Action.js.map +2 -2
  118. package/lib/renderers/CRUD.js +5 -1
  119. package/lib/renderers/CRUD.js.map +2 -2
  120. package/lib/renderers/Dialog.js +9 -3
  121. package/lib/renderers/Dialog.js.map +2 -2
  122. package/lib/renderers/Drawer.js +5 -1
  123. package/lib/renderers/Drawer.js.map +2 -2
  124. package/lib/renderers/Form/InputDate.d.ts +2 -2
  125. package/lib/renderers/Form/InputDate.js.map +2 -2
  126. package/lib/renderers/Form/JSONSchema.d.ts +23 -0
  127. package/lib/renderers/Form/JSONSchema.js +44 -0
  128. package/lib/renderers/Form/JSONSchema.js.map +13 -0
  129. package/lib/renderers/Form/JSONSchemaEditor.d.ts +2 -3
  130. package/lib/renderers/Form/JSONSchemaEditor.js +9 -24
  131. package/lib/renderers/Form/JSONSchemaEditor.js.map +2 -2
  132. package/lib/renderers/Form/Options.js +11 -5
  133. package/lib/renderers/Form/Options.js.map +2 -2
  134. package/lib/renderers/Form/Textarea.d.ts +1 -8
  135. package/lib/renderers/Form/Textarea.js +11 -75
  136. package/lib/renderers/Form/Textarea.js.map +2 -2
  137. package/lib/renderers/Form/UserSelect.d.ts +54 -0
  138. package/lib/renderers/Form/UserSelect.js +197 -0
  139. package/lib/renderers/Form/UserSelect.js.map +13 -0
  140. package/lib/renderers/Form/index.d.ts +1 -1
  141. package/lib/renderers/Form/index.js +88 -42
  142. package/lib/renderers/Form/index.js.map +2 -2
  143. package/lib/renderers/Form/wrapControl.js.map +2 -2
  144. package/lib/renderers/Log.d.ts +28 -0
  145. package/lib/renderers/Log.js +110 -20
  146. package/lib/renderers/Log.js.map +2 -2
  147. package/lib/renderers/Page.js +5 -1
  148. package/lib/renderers/Page.js.map +2 -2
  149. package/lib/renderers/Service.js +5 -1
  150. package/lib/renderers/Service.js.map +2 -2
  151. package/lib/renderers/Table-v2/index.d.ts +14 -2
  152. package/lib/renderers/Table-v2/index.js +33 -3
  153. package/lib/renderers/Table-v2/index.js.map +2 -2
  154. package/lib/renderers/Wizard.js +37 -14
  155. package/lib/renderers/Wizard.js.map +2 -2
  156. package/lib/store/form.js +65 -45
  157. package/lib/store/form.js.map +2 -2
  158. package/lib/themes/ang-ie11.css +576 -24
  159. package/lib/themes/ang.css +553 -12
  160. package/lib/themes/ang.css.map +1 -1
  161. package/lib/themes/antd-ie11.css +576 -24
  162. package/lib/themes/antd.css +553 -12
  163. package/lib/themes/antd.css.map +1 -1
  164. package/lib/themes/cxd-ie11.css +576 -24
  165. package/lib/themes/cxd.css +553 -12
  166. package/lib/themes/cxd.css.map +1 -1
  167. package/lib/themes/dark-ie11.css +576 -24
  168. package/lib/themes/dark.css +553 -12
  169. package/lib/themes/dark.css.map +1 -1
  170. package/lib/themes/default-ie11.css +576 -24
  171. package/lib/themes/default.css +553 -12
  172. package/lib/themes/default.css.map +1 -1
  173. package/lib/utils/api.js +1 -1
  174. package/lib/utils/api.js.map +2 -2
  175. package/lib/utils/renderer-event.js.map +2 -2
  176. package/package.json +2 -1
  177. package/schema.json +552 -5
  178. package/scss/_properties.scss +20 -8
  179. package/scss/components/_input-box.scss +22 -1
  180. package/scss/components/_json-schema.scss +124 -0
  181. package/scss/components/_log.scss +37 -5
  182. package/scss/components/form/_date-range.scss +1 -0
  183. package/scss/components/form/_select.scss +9 -0
  184. package/scss/components/form/_transfer.scss +19 -3
  185. package/scss/components/form/_user-select.scss +422 -0
  186. package/scss/helper/background/_background-color.scss +125 -124
  187. package/scss/themes/_common.scss +2 -0
  188. package/sdk/ang-ie11.css +670 -24
  189. package/sdk/ang.css +647 -12
  190. package/sdk/antd-ie11.css +670 -24
  191. package/sdk/antd.css +647 -12
  192. package/sdk/barcode.js +51 -51
  193. package/sdk/charts.js +14 -14
  194. package/sdk/codemirror.js +7 -7
  195. package/sdk/color-picker.js +65 -65
  196. package/sdk/cropperjs.js +2 -2
  197. package/sdk/cxd-ie11.css +670 -24
  198. package/sdk/cxd.css +647 -12
  199. package/sdk/dark-ie11.css +670 -24
  200. package/sdk/dark.css +647 -12
  201. package/sdk/exceljs.js +1 -1
  202. package/sdk/helper.css +125 -124
  203. package/sdk/helper.css.map +1 -1
  204. package/sdk/locale/de-DE.js +11 -1
  205. package/sdk/markdown.js +69 -69
  206. package/sdk/papaparse.js +1 -1
  207. package/sdk/renderers/Form/CityDB.js +1 -1
  208. package/sdk/rest.js +16 -16
  209. package/sdk/rich-text.js +62 -62
  210. package/sdk/sdk-ie11.css +670 -24
  211. package/sdk/sdk.css +647 -12
  212. package/sdk/sdk.js +1653 -1637
  213. package/sdk/thirds/hls.js/hls.js +1 -1
  214. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  215. package/sdk/tinymce.js +57 -57
  216. package/src/RootRenderer.tsx +27 -15
  217. package/src/Schema.ts +5 -1
  218. package/src/SchemaRenderer.tsx +1 -4
  219. package/src/actions/CmptAction.ts +4 -4
  220. package/src/components/Button.tsx +3 -0
  221. package/src/components/Checkbox.tsx +2 -1
  222. package/src/components/ContextMenu.tsx +25 -7
  223. package/src/components/Form.tsx +70 -0
  224. package/src/components/FormField.tsx +127 -0
  225. package/src/components/InputBox.tsx +4 -1
  226. package/src/components/InputBoxWithSuggestion.tsx +113 -0
  227. package/src/components/PickerContainer.tsx +20 -5
  228. package/src/components/Select.tsx +18 -10
  229. package/src/components/Textarea.tsx +234 -2
  230. package/src/components/Toast.tsx +19 -18
  231. package/src/components/UserSelect.tsx +850 -0
  232. package/src/components/UserTabSelect.tsx +261 -0
  233. package/src/components/WithRemoteConfig.tsx +35 -11
  234. package/src/components/calendar/DaysView.tsx +117 -49
  235. package/src/components/calendar/TimeView.tsx +11 -6
  236. package/src/components/formula/Picker.tsx +2 -1
  237. package/src/components/icons.tsx +17 -1
  238. package/src/components/index.tsx +3 -1
  239. package/src/components/json-schema/Array.tsx +216 -0
  240. package/src/components/json-schema/Item.tsx +47 -0
  241. package/src/components/json-schema/Object.tsx +339 -0
  242. package/src/components/json-schema/index.tsx +44 -0
  243. package/src/components/schema-editor/Array.tsx +3 -1
  244. package/src/components/schema-editor/Common.tsx +61 -4
  245. package/src/components/schema-editor/Object.tsx +3 -1
  246. package/src/components/schema-editor/index.tsx +12 -5
  247. package/src/components/table/ItemActionsWrapper.tsx +32 -0
  248. package/src/components/table/index.tsx +115 -58
  249. package/src/hooks/use-validation-resolver.ts +45 -0
  250. package/src/icons/department.svg +17 -0
  251. package/src/icons/menu.svg +2 -0
  252. package/src/icons/post.svg +15 -0
  253. package/src/icons/role.svg +14 -0
  254. package/src/icons/user-remove.svg +12 -0
  255. package/src/index.tsx +2 -0
  256. package/src/locale/de-DE.ts +11 -1
  257. package/src/locale/en-US.ts +12 -1
  258. package/src/locale/zh-CN.ts +14 -3
  259. package/src/renderers/Action.tsx +10 -9
  260. package/src/renderers/CRUD.tsx +5 -1
  261. package/src/renderers/Dialog.tsx +9 -3
  262. package/src/renderers/Drawer.tsx +5 -1
  263. package/src/renderers/Form/InputDate.tsx +9 -4
  264. package/src/renderers/Form/JSONSchema.tsx +56 -0
  265. package/src/renderers/Form/JSONSchemaEditor.tsx +8 -27
  266. package/src/renderers/Form/Options.tsx +17 -7
  267. package/src/renderers/Form/Textarea.tsx +7 -117
  268. package/src/renderers/Form/UserSelect.tsx +263 -0
  269. package/src/renderers/Form/index.tsx +28 -18
  270. package/src/renderers/Form/wrapControl.tsx +0 -1
  271. package/src/renderers/Log.tsx +213 -19
  272. package/src/renderers/Page.tsx +6 -1
  273. package/src/renderers/Service.tsx +5 -1
  274. package/src/renderers/Table-v2/index.tsx +65 -2
  275. package/src/renderers/Wizard.tsx +24 -10
  276. package/src/store/form.ts +24 -17
  277. package/src/utils/api.ts +1 -1
  278. package/src/utils/renderer-event.ts +0 -2
@@ -0,0 +1,13 @@
1
+ {
2
+ "version": 3,
3
+ "file": "UserTabSelect.js",
4
+ "sourceRoot": "",
5
+ "sources": [
6
+ "/src/components/UserTabSelect.tsx"
7
+ ],
8
+ "names": [],
9
+ "mappings": "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",
10
+ "sourcesContent": [
11
+ "/**\n * @file 移动端人员、部门、角色、岗位选择\n * @author fex\n */\n\nimport React from 'react';\nimport {themeable, ThemeProps} from '../theme';\nimport {LocaleProps, localeable} from '../locale';\nimport {ResultBox} from '../components';\nimport UserSelect from './UserSelect';\nimport {Option} from '../renderers/Form/Options';\nimport Sortable from 'sortablejs';\nimport PopUp from '../components/PopUp';\nimport {Icon} from '../components/icons';\nimport {autobind, findTree} from '../utils/helper';\nimport {default as Tabs, Tab} from './Tabs';\nimport {UserSelectProps} from './UserSelect';\nimport {PlainObject} from '../types';\nimport {resolveVariableAndFilter} from '../utils/tpl-builtin';\n\nexport interface UserSelectTop extends UserSelectProps {\n title: string;\n deferApi?: string;\n searchApi?: string;\n searchable?: boolean;\n searchParam?: PlainObject;\n searchTerm?: string;\n}\nexport interface UserTabSelectProps extends ThemeProps, LocaleProps {\n tabOptions?: Array<UserSelectTop>;\n multiple?: boolean;\n placeholder?: string;\n valueField?: string;\n labelField?: string;\n selection?: Array<Option>;\n data?: PlainObject;\n onChange: (value: Array<Option> | Option) => void;\n onSearch?: (\n term: string,\n cancelExecutor: Function,\n paramObj?: PlainObject\n ) => Promise<any[]> | undefined;\n deferLoad: (\n data?: Object,\n isRef?: boolean,\n param?: PlainObject\n ) => Promise<Option[]>;\n}\n\nexport interface UserTabSelectState {\n isOpened: boolean;\n isSearch: boolean;\n isSelectOpened: boolean;\n inputValue: string;\n breadList: Array<any>;\n options: Array<Option>;\n tempSelection: Array<Option>;\n selection: Array<Option>;\n searchList: Array<Option>;\n searchLoading: boolean;\n isEdit: boolean;\n activeKey: number;\n}\n\nexport class UserTabSelect extends React.Component<\n UserTabSelectProps,\n UserTabSelectState\n> {\n cancelSearch?: Function;\n sortable?: Sortable;\n unmounted = false;\n\n constructor(props: UserTabSelectProps) {\n super(props);\n this.state = {\n isOpened: false,\n isSelectOpened: false,\n inputValue: '',\n options: [],\n breadList: [],\n searchList: [],\n tempSelection: [],\n selection: props.selection ? props.selection : [],\n isSearch: false,\n searchLoading: false,\n isEdit: false,\n activeKey: 0\n };\n }\n\n static defaultProps = {};\n\n componentDidMount() {}\n\n componentDidUpdate(prevProps: UserTabSelectProps) {}\n\n componentWillUnmount() {\n this.unmounted = true;\n }\n\n @autobind\n onClose() {\n this.setState({\n isOpened: false,\n isSearch: false,\n inputValue: '',\n searchList: [],\n searchLoading: false,\n activeKey: 0\n });\n }\n\n @autobind\n onOpen() {\n const {selection} = this.state;\n this.setState({\n isOpened: true,\n tempSelection: selection.slice()\n });\n }\n\n @autobind\n handleBack() {\n this.onClose();\n const {onChange} = this.props;\n onChange(this.state.selection);\n }\n\n @autobind\n handleSelectChange(option: Option | Array<Option>, isReplace?: boolean) {\n const {multiple, valueField = 'value'} = this.props;\n let selection = this.state.selection.slice();\n let selectionVals = selection.map((option: Option) => option[valueField]);\n if (isReplace && Array.isArray(option)) {\n selection = option.slice();\n } else if (!Array.isArray(option)) {\n let pos = selectionVals.indexOf(option[valueField]);\n if (pos !== -1) {\n selection.splice(selection.indexOf(option), 1);\n } else {\n if (multiple) {\n selection.push(option);\n } else {\n selection = [option];\n }\n }\n }\n\n this.setState({\n selection: selection\n });\n return false;\n }\n\n @autobind\n handleTabChange(key: number) {\n this.setState({\n activeKey: key\n });\n }\n\n render() {\n let {\n classnames: cx,\n translate: __,\n onChange,\n placeholder = '请选择',\n tabOptions,\n onSearch,\n deferLoad,\n data\n } = this.props;\n const {activeKey, isOpened, selection} = this.state;\n\n return (\n <div className={cx('UserTabSelect')}>\n <ResultBox\n className={cx('UserTabSelect-input', isOpened ? 'is-active' : '')}\n allowInput={false}\n result={selection}\n onResultChange={value => this.handleSelectChange(value, true)}\n onResultClick={this.onOpen}\n placeholder={placeholder}\n useMobileUI\n />\n <PopUp\n isShow={isOpened}\n className={cx(`UserTabSelect-popup`)}\n onHide={this.onClose}\n showClose={false}\n >\n <div className={cx('UserTabSelect-wrap')}>\n <div className={cx('UserSelect-navbar')}>\n <span className=\"left-arrow-box\" onClick={this.handleBack}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </span>\n <div className={cx('UserSelect-navbar-title')}>人员选择</div>\n </div>\n <Tabs\n mode=\"tiled\"\n className={cx('UserTabSelect-tabs')}\n onSelect={this.handleTabChange}\n activeKey={activeKey}\n >\n {tabOptions?.map((item: UserSelectTop, index: number) => {\n return (\n <Tab\n {...this.props}\n eventKey={index}\n key={index}\n title={item.title}\n className=\"TabsTransfer-tab\"\n >\n <UserSelect\n selection={selection}\n showResultBox={false}\n {...item}\n options={\n typeof item.options === 'string' && data\n ? resolveVariableAndFilter(\n item.options,\n data,\n '| raw'\n )\n : item.options\n }\n multiple\n controlled\n onChange={this.handleSelectChange}\n onSearch={(input: string, cancelExecutor: Function) =>\n item.searchable && onSearch\n ? onSearch(input, cancelExecutor, {\n searchApi: item.searchApi,\n searchParam: item.searchParam,\n searchTerm: item.searchTerm\n })\n : undefined\n }\n deferLoad={(\n data?: PlainObject,\n isRef?: boolean,\n param?: PlainObject\n ) =>\n deferLoad(data, isRef, {\n deferApi: item.deferApi,\n ...(param || {})\n })\n }\n />\n </Tab>\n );\n })}\n </Tabs>\n </div>\n </PopUp>\n </div>\n );\n }\n}\n\nexport default themeable(localeable(UserTabSelect));\n"
12
+ ]
13
+ }
@@ -39,6 +39,7 @@ export interface RemoteOptionsProps<T = any> {
39
39
  updateConfig: (value: T, ctx?: any) => void;
40
40
  }
41
41
  export interface WithRemoteConfigSettings {
42
+ sourceField?: string;
42
43
  /**
43
44
  * 从接口返回数据适配到配置
44
45
  */
@@ -59,6 +60,12 @@ export interface WithRemoteConfigSettings {
59
60
  * 懒加载选项相关,结束懒加载的回调
60
61
  */
61
62
  afterDeferLoad?: (item: any, indexes: Array<number>, reponse: Payload, config: any, props: any) => any;
63
+ injectedPropsFilter?: (injectedProps: {
64
+ config: any;
65
+ loading?: boolean;
66
+ deferLoad: (term: string) => any;
67
+ updateConfig: (config: any) => void;
68
+ }, props: any) => any;
62
69
  }
63
70
  export declare function withRemoteConfig<P = any>(config?: WithRemoteConfigSettings): <T extends React.ComponentType<React.ComponentProps<T> & RemoteOptionsProps<P>>>(ComposedComponent: T) => {
64
71
  new (props: Omit<JSX.LibraryManagedAttributes<T, Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>> & OutterProps & {
@@ -100,15 +100,16 @@ function withRemoteConfig(config) {
100
100
  props.store.setComponent(_this);
101
101
  _this.deferLoadConfig = _this.deferLoadConfig.bind(_this);
102
102
  (_a = props.remoteConfigRef) === null || _a === void 0 ? void 0 : _a.call(props, _this);
103
+ props.store.setData(props.data);
104
+ _this.syncConfig();
103
105
  return _this;
104
106
  }
105
107
  class_1.prototype.componentDidMount = function () {
106
108
  var _this = this;
107
109
  var env = this.props.env || this.context;
108
- var _a = this.props, store = _a.store, source = _a.source, data = _a.data;
109
- store.setData(data);
110
+ var _a = this.props, store = _a.store, data = _a.data;
111
+ var source = this.props[config.sourceField || 'source'];
110
112
  if ((0, tpl_builtin_1.isPureVariable)(source)) {
111
- this.syncConfig();
112
113
  this.toDispose.push((0, mobx_1.reaction)(function () {
113
114
  return (0, tpl_builtin_1.resolveVariableAndFilter)(source, store.data, '| raw');
114
115
  }, function () { return _this.syncConfig(); }));
@@ -142,17 +143,18 @@ function withRemoteConfig(config) {
142
143
  class_1.prototype.loadConfig = function (ctx) {
143
144
  if (ctx === void 0) { ctx = this.props.data; }
144
145
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
145
- var env, _a, store, source;
146
- return (0, tslib_1.__generator)(this, function (_b) {
147
- switch (_b.label) {
146
+ var env, store, source;
147
+ return (0, tslib_1.__generator)(this, function (_a) {
148
+ switch (_a.label) {
148
149
  case 0:
149
150
  env = this.props.env || this.context;
150
- _a = this.props, store = _a.store, source = _a.source;
151
+ store = this.props.store;
152
+ source = this.props[config.sourceField || 'source'];
151
153
  if (!(env && (0, api_1.isEffectiveApi)(source, ctx))) return [3 /*break*/, 2];
152
154
  return [4 /*yield*/, store.load(env, source, ctx, config)];
153
155
  case 1:
154
- _b.sent();
155
- _b.label = 2;
156
+ _a.sent();
157
+ _a.label = 2;
156
158
  case 2: return [2 /*return*/];
157
159
  }
158
160
  });
@@ -180,19 +182,24 @@ function withRemoteConfig(config) {
180
182
  store.setConfig(value, config, ctx);
181
183
  };
182
184
  class_1.prototype.syncConfig = function () {
183
- var _a = this.props, store = _a.store, source = _a.source, data = _a.data;
185
+ var _a = this.props, store = _a.store, data = _a.data;
186
+ var source = this.props[config.sourceField || 'source'];
184
187
  if ((0, tpl_builtin_1.isPureVariable)(source)) {
185
188
  store.setConfig((0, tpl_builtin_1.resolveVariableAndFilter)(source, data, '| raw') || [], config, 'syncConfig');
186
189
  }
190
+ else if ((0, helper_1.isObject)(source) && !(0, api_1.isEffectiveApi)(source, data)) {
191
+ store.setConfig(source, config, 'syncConfig');
192
+ }
187
193
  };
188
194
  class_1.prototype.deferLoadConfig = function (item) {
189
195
  var _a, _b;
190
196
  return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {
191
- var _c, store, source, data, deferApi, env, indexes, ret, response, e_2, ret2;
197
+ var _c, store, data, deferApi, source, env, indexes, ret, response, e_2, ret2;
192
198
  return (0, tslib_1.__generator)(this, function (_d) {
193
199
  switch (_d.label) {
194
200
  case 0:
195
- _c = this.props, store = _c.store, source = _c.source, data = _c.data, deferApi = _c.deferApi;
201
+ _c = this.props, store = _c.store, data = _c.data, deferApi = _c.deferApi;
202
+ source = this.props[config.sourceField || 'source'];
196
203
  env = this.props.env || this.context;
197
204
  indexes = (0, helper_1.findTreeIndex)(store.config, function (a) { return a === item; });
198
205
  ret = (_a = config.beforeDeferLoad) === null || _a === void 0 ? void 0 : _a.call(config, item, indexes, store.config, this.props);
@@ -237,7 +244,9 @@ function withRemoteConfig(config) {
237
244
  var _a = this.props, remoteConfigRef = _a.remoteConfigRef, autoComplete = _a.autoComplete, rest = (0, tslib_1.__rest)(_a, ["remoteConfigRef", "autoComplete"]);
238
245
  return (react_1.default.createElement(ComposedComponent, (0, tslib_1.__assign)({}, rest, (env && (0, api_1.isEffectiveApi)(autoComplete) && this.loadOptions
239
246
  ? { loadOptions: this.loadOptions }
240
- : {}), injectedProps)));
247
+ : {}), (config.injectedPropsFilter
248
+ ? config.injectedPropsFilter(injectedProps, this.props)
249
+ : injectedProps))));
241
250
  };
242
251
  return class_1;
243
252
  }(react_1.default.Component)),
@@ -6,8 +6,8 @@
6
6
  "/src/components/WithRemoteConfig.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA;;;GAGG;AACH,6DAA0B;AAC1B,iGAA0D;AAC1D,0EAAuC;AAGvC,yCAAsC;AAEtC,8BAA+C;AAE/C,mDAA+D;AAC/D,oCAKsB;AACtB,oDAI8B;AAC9B,6BAA8B;AAC9B,0CAAuE;AAE1D,QAAA,KAAK,GAAG,uBAAK;KACvB,KAAK,CAAC,mBAAmB,CAAC;KAC1B,KAAK,CAAC;IACL,QAAQ,EAAE,KAAK;IACf,QAAQ,EAAE,EAAE;IACZ,MAAM,EAAE,uBAAK,CAAC,MAAM,EAAE;IACtB,IAAI,EAAE,uBAAK,CAAC,MAAM,CAAC,EAAE,CAAC;CACvB,CAAC;KACD,OAAO,CAAC,UAAA,IAAI;IACX,IAAI,SAAS,GAAQ,SAAS,CAAC;IAE/B,IAAM,IAAI,GAKU,IAAA,sBAAI,EAAC,UAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,MAAW;;;QAAX,uBAAA,EAAA,WAAW;;;;;oBAE1D,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC;oBACA,qBAAM,GAAG,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,EAAA;;oBAA1C,GAAG,GAAY,SAA2B;oBAChD,IAAI,CAAC,IAAA,yBAAO,EAAC,IAAI,CAAC,EAAE;wBAClB,sBAAO;qBACR;oBAED,IAAI,GAAG,CAAC,EAAE,EAAE;wBACJ,IAAI,GAAG,IAAA,8BAAwB,EAAC,GAAG,CAAC,IAAI,CAAC,CAAC;wBAC5C,OAAO,GAAG,MAAM,CAAC,OAAO;4BAC1B,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;4BACvC,CAAC,CAAC,IAAI,CAAC;wBACR,IAAY,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;wBACnD,MAAA,MAAM,CAAC,SAAS,+CAAhB,MAAM,EAAa,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC;wBACvD,sBAAO,GAAG,EAAC;qBACZ;yBAAM;wBACL,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,aAAa,CAAC,CAAC;qBAC3C;;;;oBAED,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,GAAC,CAAC,OAAO,CAAC,CAAC;;;oBAE7C,IAAA,yBAAO,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,CAAC;;;;;KAE5C,CAAC,CAAC;IAEH,OAAO;QACL,YAAY,EAAZ,UAAa,CAAM;YACjB,SAAS,GAAG,CAAC,CAAC;QAChB,CAAC;QAED,IAAI,MAAA;QACJ,OAAO,EAAP,UAAQ,IAAS;YACf,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,EAAE,CAAC;QACzB,CAAC;QACD,SAAS,EAAT,UACE,OAAY,EACZ,MAAgC,EAChC,UAAgB;YAEhB,IAAI,MAAM,CAAC,eAAe,EAAE;gBAC1B,OAAO;oBACL,MAAM,CAAC,eAAe,CACpB,OAAO,EACP,IAAI,CAAC,MAAM,EACX,SAAS,CAAC,KAAK,EACf,UAAU,CACX,IAAI,OAAO,CAAC;aAChB;YAED,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC;QACxB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC,CAAC;AAsEL,SAAgB,gBAAgB,CAC9B,MAAqC;IAArC,uBAAA,EAAA,WAAqC;IAErC,OAAO,UAIL,iBAAoB;;QAOpB,IAAM,MAAM,GAAG,IAAA,iCAAmB,EAChC,IAAA,qBAAS,EAAC,cAAM,OAAA,aAAK,CAAC,MAAM,EAAE,EAAd,CAAc,CAAC;gBACf,wCAIb;gBAcC,iBACE,KAEC;;oBAHH,YAKE,kBAAM,KAAK,CAAC,SAMb;oBAlBD,eAAS,GAAsB,EAAE,CAAC;oBAElC,iBAAW,GAAG,IAAA,kBAAQ,EAAC,KAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAI,CAAC,EAAE,GAAG,EAAE;wBAC5D,QAAQ,EAAE,IAAI;wBACd,OAAO,EAAE,KAAK;qBACf,CAAC,CAAC;oBASD,KAAI,CAAC,SAAS,GAAG,KAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;oBAC3C,KAAK,CAAC,KAAK,CAAC,YAAY,CAAC,KAAI,CAAC,CAAC;oBAC/B,KAAI,CAAC,eAAe,GAAG,KAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAI,CAAC,CAAC;oBACvD,MAAA,KAAK,CAAC,eAAe,+CAArB,KAAK,EAAmB,KAAI,CAAC,CAAC;;gBAChC,CAAC;gBAED,mCAAiB,GAAjB;oBAAA,iBAoCC;oBAnCC,IAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;oBAClD,IAAA,KAAwB,IAAI,CAAC,KAAK,EAAjC,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;oBAEzC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;oBAEpB,IAAI,IAAA,4BAAc,EAAC,MAAM,CAAC,EAAE;wBAC1B,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAA,eAAQ,EACN;4BACE,OAAA,IAAA,sCAAwB,EACtB,MAAgB,EAChB,KAAK,CAAC,IAAI,EACV,OAAO,CACR;wBAJD,CAIC,EACH,cAAM,OAAA,KAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CACxB,CACF,CAAC;qBACH;yBAAM,IAAI,GAAG,IAAI,IAAA,oBAAc,EAAC,MAAM,EAAE,IAAI,CAAC,EAAE;wBAC9C,IAAI,CAAC,UAAU,EAAE,CAAC;wBAClB,MAAM,CAAC,WAAW,KAAK,KAAK;4BAC1B,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,IAAA,eAAQ,EACN;gCACE,IAAM,GAAG,GAAG,IAAA,kBAAY,EAAC,MAAgB,CAAC,CAAC;gCAC3C,OAAO,GAAG,CAAC,eAAe;oCACxB,CAAC,CAAC,IAAA,sBAAQ,EAAC,GAAG,CAAC,eAAe,EAAE,KAAK,CAAC,IAAI,CAAC;oCAC3C,CAAC,CAAC,IAAA,cAAQ,EAAC,GAAG,EAAE,KAAK,CAAC,IAAI,EAAE;wCACxB,UAAU,EAAE,IAAI;qCACjB,CAAC,CAAC,GAAG,CAAC;4BACb,CAAC,EACD,cAAM,OAAA,KAAI,CAAC,UAAU,EAAE,EAAjB,CAAiB,CACxB,CACF,CAAC;qBACL;gBACH,CAAC;gBAED,oCAAkB,GAAlB,UAAmB,SAAc;oBAC/B,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;oBAEzB,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE;wBACjC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;qBACjC;gBACH,CAAC;gBAED,sCAAoB,GAApB;;oBACE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,UAAA,EAAE,IAAI,OAAA,EAAE,EAAE,EAAJ,CAAI,CAAC,CAAC;oBACnC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;oBAEpB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,eAAe,mDAAG,SAAS,CAAC,CAAC;oBACxC,IAAI,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC;gBAC5B,CAAC;gBAEK,4BAAU,GAAhB,UAAiB,GAAqB;oBAArB,oBAAA,EAAA,MAAM,IAAI,CAAC,KAAK,CAAC,IAAI;;;;;;oCAC9B,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;oCAClD,KAAkB,IAAI,CAAC,KAAK,EAA3B,KAAK,WAAA,EAAE,MAAM,YAAA,CAAe;yCAE/B,CAAA,GAAG,IAAI,IAAA,oBAAc,EAAC,MAAM,EAAE,GAAG,CAAC,CAAA,EAAlC,wBAAkC;oCACpC,qBAAM,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,CAAC,EAAA;;oCAA1C,SAA0C,CAAC;;;;;;iBAE9C;gBAED,kCAAgB,GAAhB,UAAiB,KAAa;oBAC5B,IAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;oBAClD,IAAA,KAA8B,IAAI,CAAC,KAAK,EAAvC,YAAY,kBAAA,EAAE,IAAI,UAAA,EAAE,KAAK,WAAc,CAAC;oBAE/C,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE;wBACxB,MAAM,IAAI,KAAK,CAAC,qBAAqB,CAAC,CAAC;qBACxC;oBAED,IAAM,GAAG,GAAG,IAAA,qBAAY,EAAC,IAAI,EAAE;wBAC7B,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,KAAK;qBACb,CAAC,CAAC;oBAEH,IAAI,CAAC,IAAA,oBAAc,EAAC,YAAY,EAAE,GAAG,CAAC,EAAE;wBACtC,OAAO,OAAO,CAAC,OAAO,CAAC;4BACrB,OAAO,EAAE,EAAE;yBACZ,CAAC,CAAC;qBACJ;oBAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;gBACpD,CAAC;gBAED,2BAAS,GAAT,UAAU,KAAU,EAAE,GAAS;oBACtB,IAAA,KAAK,GAAI,IAAI,CAAC,KAAK,MAAd,CAAe;oBAC3B,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBACtC,CAAC;gBAED,4BAAU,GAAV;oBACQ,IAAA,KAAwB,IAAI,CAAC,KAAK,EAAjC,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAc,CAAC;oBAEzC,IAAI,IAAA,4BAAc,EAAC,MAAM,CAAC,EAAE;wBAC1B,KAAK,CAAC,SAAS,CACb,IAAA,sCAAwB,EAAC,MAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,EAC/D,MAAM,EACN,YAAY,CACb,CAAC;qBACH;gBACH,CAAC;gBAEK,iCAAe,GAArB,UAAsB,IAAS;;;;;;;oCACvB,KAAkC,IAAI,CAAC,KAAK,EAA3C,KAAK,WAAA,EAAE,MAAM,YAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAe;oCAC7C,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;oCAClD,OAAO,GAAG,IAAA,sBAAa,EAAC,KAAK,CAAC,MAAM,EAAE,UAAA,CAAC,IAAI,OAAA,CAAC,KAAK,IAAI,EAAV,CAAU,CAAE,CAAC;oCAExD,GAAG,GAAG,MAAA,MAAM,CAAC,eAAe,+CAAtB,MAAM,EAChB,IAAI,EACJ,OAAO,EACP,KAAK,CAAC,MAAM,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;oCAEF,GAAG,IAAI,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,mBAAmB,CAAC,CAAC;;;;oCAGvD,IAAI,CAAC,IAAA,oBAAc,EAAC,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,CAAC,EAAE;wCACxD,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC;qCACzC;oCAEU,qBAAM,GAAG,CAAC,OAAO,CAC1B,IAAI,CAAC,QAAQ,IAAI,QAAQ,IAAI,MAAM,EACnC,IAAA,qBAAY,EAAC,IAAI,EAAE,IAAI,CAAC,CACzB,EAAA;;oCAHD,QAAQ,GAAG,SAGV,CAAC;;;;oCAEF,QAAQ,GAAG;wCACT,EAAE,EAAE,KAAK;wCACT,GAAG,EAAE,GAAC,CAAC,OAAO;wCACd,MAAM,EAAE,GAAG;wCACX,IAAI,EAAE,SAAS;qCAChB,CAAC;;;oCAEE,IAAI,GAAG,MAAA,MAAM,CAAC,cAAc,+CAArB,MAAM,EACjB,IAAI,EACJ,OAAO,EAAE,mBAAmB;oCAC5B,QAAQ,EACR,KAAK,CAAC,MAAM,EACZ,IAAI,CAAC,KAAK,CACX,CAAC;oCACF,IAAI,IAAI,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,kBAAkB,CAAC,CAAC;;;;;iBAC3D;gBAED,wBAAM,GAAN;oBACE,IAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC;oBAC/B,IAAM,GAAG,GAAgB,IAAI,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,CAAC,OAAO,CAAC;oBACxD,IAAM,aAAa,GAA0B;wBAC3C,MAAM,EAAE,KAAK,CAAC,MAAM;wBACpB,OAAO,EAAE,KAAK,CAAC,QAAQ;wBACvB,SAAS,EAAE,IAAI,CAAC,eAAe;wBAC/B,YAAY,EAAE,IAAI,CAAC,SAAS;qBAC7B,CAAC;oBACF,IAAM,KAA2C,IAAI,CAAC,KAAK,EAApD,eAAe,qBAAA,EAAE,YAAY,kBAAA,EAAK,IAAI,2BAAvC,mCAAwC,CAAa,CAAC;oBAE5D,OAAO,CACL,8BAAC,iBAAiB,4BACX,IAGH,EACE,CAAC,GAAG,IAAI,IAAA,oBAAc,EAAC,YAAY,CAAC,IAAI,IAAI,CAAC,WAAW;wBAC1D,CAAC,CAAC,EAAC,WAAW,EAAE,IAAI,CAAC,WAAW,EAAC;wBACjC,CAAC,CAAC,EAAE,CAAC,EACH,aAAa,EACjB,CACH,CAAC;gBACJ,CAAC;gBACH,cAAC;YAAD,CAAC,AAtMD,CAAc,eAAK,CAAC,SAAS;YAKpB,cAAW,GAAG,2BACnB,iBAAiB,CAAC,WAAW,IAAI,iBAAiB,CAAC,IAAI,MACrD;YACG,oBAAiB,GACtB,iBAA4C;YACvC,cAAW,GAAG,gBAAW;gBA6LnC,EACD,iBAAiB,CAClB,CAAC;QAEF,OAAO,MAEN,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC;AA/ND,4CA+NC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport debounce from 'lodash/debounce';\nimport {Api, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {\n buildApi,\n isEffectiveApi,\n normalizeApi,\n normalizeApiResponseData\n} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {createObject, findIndex, findTreeIndex} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = normalizeApiResponseData(ret.data);\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n autoComplete?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent =\n ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source, data} = this.props;\n\n store.setData(data);\n\n if (isPureVariable(source)) {\n this.syncConfig();\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n source.autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n this.loadOptions.cancel();\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store, source} = this.props;\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n loadAutoComplete(input: string) {\n const env: RendererEnv = this.props.env || this.context;\n const {autoComplete, data, store} = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n return store.load(env, autoComplete, ctx, config);\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, source, data} = this.props;\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, source, data, deferApi} = this.props;\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const env: RendererEnv = this.props.env || this.context;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, autoComplete, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...(env && isEffectiveApi(autoComplete) && this.loadOptions\n ? {loadOptions: this.loadOptions}\n : {})}\n {...injectedProps}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
11
+ "/**\n * 一个可以拉取远程配置的 HOC\n *\n */\nimport React from 'react';\nimport hoistNonReactStatic from 'hoist-non-react-statics';\nimport debounce from 'lodash/debounce';\nimport {Api, ApiObject, Payload} from '../types';\nimport {SchemaApi, SchemaTokenizeableString} from '../Schema';\nimport {withStore} from './WithStore';\n\nimport {EnvContext, RendererEnv} from '../env';\n\nimport {flow, Instance, isAlive, types} from 'mobx-state-tree';\nimport {\n buildApi,\n isEffectiveApi,\n normalizeApi,\n normalizeApiResponseData\n} from '../utils/api';\nimport {\n isPureVariable,\n resolveVariableAndFilter,\n tokenize\n} from '../utils/tpl-builtin';\nimport {reaction} from 'mobx';\nimport {\n createObject,\n findIndex,\n findTreeIndex,\n isObject\n} from '../utils/helper';\n\nexport const Store = types\n .model('RemoteConfigStore')\n .props({\n fetching: false,\n errorMsg: '',\n config: types.frozen(),\n data: types.frozen({})\n })\n .actions(self => {\n let component: any = undefined;\n\n const load: (\n env: RendererEnv,\n api: Api,\n ctx: any,\n config: WithRemoteConfigSettings\n ) => Promise<any> = flow(function* (env, api, ctx, config = {}): any {\n try {\n self.fetching = true;\n const ret: Payload = yield env.fetcher(api, ctx);\n if (!isAlive(self)) {\n return;\n }\n\n if (ret.ok) {\n const data = normalizeApiResponseData(ret.data);\n let options = config.adaptor\n ? config.adaptor(data, component.props)\n : data;\n (self as any).setConfig(options, config, 'remote');\n config.afterLoad?.(data, self.config, component.props);\n return ret;\n } else {\n throw new Error(ret.msg || 'fetch error');\n }\n } catch (e) {\n isAlive(self) && (self.errorMsg = e.message);\n } finally {\n isAlive(self) && (self.fetching = false);\n }\n });\n\n return {\n setComponent(c: any) {\n component = c;\n },\n\n load,\n setData(data: any) {\n self.data = data || {};\n },\n setConfig(\n options: any,\n config: WithRemoteConfigSettings,\n motivation?: any\n ) {\n if (config.normalizeConfig) {\n options =\n config.normalizeConfig(\n options,\n self.config,\n component.props,\n motivation\n ) || options;\n }\n\n self.config = options;\n }\n };\n });\n\nexport type IStore = Instance<typeof Store>;\n\nexport interface OutterProps {\n env?: RendererEnv;\n data: any;\n source?: SchemaApi | SchemaTokenizeableString;\n autoComplete?: SchemaApi | SchemaTokenizeableString;\n deferApi?: SchemaApi;\n remoteConfigRef?: (\n instance:\n | {\n loadConfig: (ctx?: any) => Promise<any> | void;\n setConfig: (value: any) => void;\n }\n | undefined\n ) => void;\n}\n\nexport interface RemoteOptionsProps<T = any> {\n config: T;\n loading?: boolean;\n deferLoad: (item: any) => Promise<any>;\n updateConfig: (value: T, ctx?: any) => void;\n}\n\nexport interface WithRemoteConfigSettings {\n sourceField?: string;\n\n /**\n * 从接口返回数据适配到配置\n */\n adaptor?: (json: any, props: any) => any;\n\n /**\n * 配置格式化\n */\n normalizeConfig?: (\n config: any,\n origin: any,\n props: any,\n motivation?: any\n ) => any;\n\n /**\n * 请求返回后的回调\n */\n afterLoad?: (ret: any, config: any, props: any) => void;\n\n /**\n * 懒加载选项相关,开始懒加载的回调\n */\n beforeDeferLoad?: (\n item: any,\n indexes: Array<number>,\n config: any,\n props: any\n ) => any;\n\n /**\n * 懒加载选项相关,结束懒加载的回调\n */\n afterDeferLoad?: (\n item: any,\n indexes: Array<number>,\n reponse: Payload,\n config: any,\n props: any\n ) => any;\n\n injectedPropsFilter?: (\n injectedProps: {\n config: any;\n loading?: boolean;\n deferLoad: (term: string) => any;\n updateConfig: (config: any) => void;\n },\n props: any\n ) => any;\n}\n\nexport function withRemoteConfig<P = any>(\n config: WithRemoteConfigSettings = {}\n) {\n return function <\n T extends React.ComponentType<\n React.ComponentProps<T> & RemoteOptionsProps<P>\n >\n >(ComposedComponent: T) {\n type FinalOutterProps = JSX.LibraryManagedAttributes<\n T,\n Omit<React.ComponentProps<T>, keyof RemoteOptionsProps<P>>\n > &\n OutterProps;\n\n const result = hoistNonReactStatic(\n withStore(() => Store.create())(\n class extends React.Component<\n FinalOutterProps & {\n store: IStore;\n }\n > {\n static displayName = `WithRemoteConfig(${\n ComposedComponent.displayName || ComposedComponent.name\n })`;\n static ComposedComponent =\n ComposedComponent as React.ComponentType<T>;\n static contextType = EnvContext;\n toDispose: Array<() => void> = [];\n\n loadOptions = debounce(this.loadAutoComplete.bind(this), 250, {\n trailing: true,\n leading: false\n });\n\n constructor(\n props: FinalOutterProps & {\n store: IStore;\n }\n ) {\n super(props);\n\n this.setConfig = this.setConfig.bind(this);\n props.store.setComponent(this);\n this.deferLoadConfig = this.deferLoadConfig.bind(this);\n props.remoteConfigRef?.(this);\n props.store.setData(props.data);\n this.syncConfig();\n }\n\n componentDidMount() {\n const env: RendererEnv = this.props.env || this.context;\n const {store, data} = this.props;\n const source = (this.props as any)[config.sourceField || 'source'];\n\n if (isPureVariable(source)) {\n this.toDispose.push(\n reaction(\n () =>\n resolveVariableAndFilter(\n source as string,\n store.data,\n '| raw'\n ),\n () => this.syncConfig()\n )\n );\n } else if (env && isEffectiveApi(source, data)) {\n this.loadConfig();\n (source as ApiObject).autoRefresh !== false &&\n this.toDispose.push(\n reaction(\n () => {\n const api = normalizeApi(source as string);\n return api.trackExpression\n ? tokenize(api.trackExpression, store.data)\n : buildApi(api, store.data, {\n ignoreData: true\n }).url;\n },\n () => this.loadConfig()\n )\n );\n }\n }\n\n componentDidUpdate(prevProps: any) {\n const props = this.props;\n\n if (props.data !== prevProps.data) {\n props.store.setData(props.data);\n }\n }\n\n componentWillUnmount() {\n this.toDispose.forEach(fn => fn());\n this.toDispose = [];\n\n this.props.remoteConfigRef?.(undefined);\n this.loadOptions.cancel();\n }\n\n async loadConfig(ctx = this.props.data) {\n const env: RendererEnv = this.props.env || this.context;\n const {store} = this.props;\n const source = (this.props as any)[config.sourceField || 'source'];\n\n if (env && isEffectiveApi(source, ctx)) {\n await store.load(env, source, ctx, config);\n }\n }\n\n loadAutoComplete(input: string) {\n const env: RendererEnv = this.props.env || this.context;\n const {autoComplete, data, store} = this.props;\n\n if (!env || !env.fetcher) {\n throw new Error('fetcher is required');\n }\n\n const ctx = createObject(data, {\n term: input,\n value: input\n });\n\n if (!isEffectiveApi(autoComplete, ctx)) {\n return Promise.resolve({\n options: []\n });\n }\n\n return store.load(env, autoComplete, ctx, config);\n }\n\n setConfig(value: any, ctx?: any) {\n const {store} = this.props;\n store.setConfig(value, config, ctx);\n }\n\n syncConfig() {\n const {store, data} = this.props;\n const source = (this.props as any)[config.sourceField || 'source'];\n\n if (isPureVariable(source)) {\n store.setConfig(\n resolveVariableAndFilter(source as string, data, '| raw') || [],\n config,\n 'syncConfig'\n );\n } else if (isObject(source) && !isEffectiveApi(source, data)) {\n store.setConfig(source, config, 'syncConfig');\n }\n }\n\n async deferLoadConfig(item: any) {\n const {store, data, deferApi} = this.props;\n const source = (this.props as any)[config.sourceField || 'source'];\n const env: RendererEnv = this.props.env || this.context;\n const indexes = findTreeIndex(store.config, a => a === item)!;\n\n const ret = config.beforeDeferLoad?.(\n item,\n indexes,\n store.config,\n this.props\n );\n\n ret && store.setConfig(ret, config, 'before-defer-load');\n let response: Payload;\n try {\n if (!isEffectiveApi(item.deferApi || deferApi || source)) {\n throw new Error('deferApi is required');\n }\n\n response = await env.fetcher(\n item.deferApi || deferApi || source,\n createObject(data, item)\n );\n } catch (e) {\n response = {\n ok: false,\n msg: e.message,\n status: 500,\n data: undefined\n };\n }\n const ret2 = config.afterDeferLoad?.(\n item,\n indexes, // 只能假定还是那个 index 了\n response,\n store.config,\n this.props\n );\n ret2 && store.setConfig(ret2, config, 'after-defer-load');\n }\n\n render() {\n const store = this.props.store;\n const env: RendererEnv = this.props.env || this.context;\n const injectedProps: RemoteOptionsProps<P> = {\n config: store.config,\n loading: store.fetching,\n deferLoad: this.deferLoadConfig,\n updateConfig: this.setConfig\n };\n const {remoteConfigRef, autoComplete, ...rest} = this.props;\n\n return (\n <ComposedComponent\n {...(rest as JSX.LibraryManagedAttributes<\n T,\n React.ComponentProps<T>\n >)}\n {...(env && isEffectiveApi(autoComplete) && this.loadOptions\n ? {loadOptions: this.loadOptions}\n : {})}\n {...(config.injectedPropsFilter\n ? config.injectedPropsFilter(injectedProps, this.props)\n : injectedProps)}\n />\n );\n }\n }\n ),\n ComposedComponent\n );\n\n return result as typeof result & {\n ComposedComponent: T;\n };\n };\n}\n"
12
12
  ]
13
13
  }
@@ -5,6 +5,7 @@ import { LocaleProps } from '../../locale';
5
5
  import { ClassNamesFn } from '../../theme';
6
6
  import { PickerOption } from '../PickerColumn';
7
7
  import { DateType } from './Calendar';
8
+ import type { TimeScale } from './TimeView';
8
9
  interface CustomDaysViewProps extends LocaleProps {
9
10
  classPrefix?: string;
10
11
  prevIcon?: string;
@@ -44,8 +45,31 @@ interface CustomDaysViewProps extends LocaleProps {
44
45
  hideHeader?: boolean;
45
46
  getColumns: (types: DateType[], dateBoundary: void) => any;
46
47
  getDateBoundary: (currentDate: moment.Moment) => any;
48
+ timeConstraints?: any;
47
49
  }
48
50
  export declare class CustomDaysView extends React.Component<CustomDaysViewProps> {
51
+ timeConstraints: {
52
+ hours: {
53
+ min: number;
54
+ max: number;
55
+ step: number;
56
+ };
57
+ minutes: {
58
+ min: number;
59
+ max: number;
60
+ step: number;
61
+ };
62
+ seconds: {
63
+ min: number;
64
+ max: number;
65
+ step: number;
66
+ };
67
+ milliseconds: {
68
+ min: number;
69
+ max: number;
70
+ step: number;
71
+ };
72
+ };
49
73
  state: {
50
74
  columns: {
51
75
  options: PickerOption[];
@@ -67,7 +91,8 @@ export declare class CustomDaysView extends React.Component<CustomDaysViewProps>
67
91
  confirm: () => void;
68
92
  cancel: () => void;
69
93
  renderDay: (props: any, currentDate: moment.Moment) => JSX.Element;
70
- computedTimeOptions(total: number): {
94
+ /** 时间选择器数据源 */
95
+ computedTimeOptions(timeScale: TimeScale): {
71
96
  label: string;
72
97
  value: string;
73
98
  }[];
@@ -7,6 +7,7 @@ var moment_1 = (0, tslib_1.__importDefault)(require("moment"));
7
7
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
8
8
  var downshift_1 = (0, tslib_1.__importDefault)(require("downshift"));
9
9
  var findIndex_1 = (0, tslib_1.__importDefault)(require("lodash/findIndex"));
10
+ var merge_1 = (0, tslib_1.__importDefault)(require("lodash/merge"));
10
11
  var locale_1 = require("../../locale");
11
12
  var helper_1 = require("../../utils/helper");
12
13
  var Picker_1 = (0, tslib_1.__importDefault)(require("../Picker"));
@@ -14,6 +15,28 @@ var CustomDaysView = /** @class */ (function (_super) {
14
15
  (0, tslib_1.__extends)(CustomDaysView, _super);
15
16
  function CustomDaysView(props) {
16
17
  var _this = _super.call(this, props) || this;
18
+ _this.timeConstraints = {
19
+ hours: {
20
+ min: 0,
21
+ max: 23,
22
+ step: 1
23
+ },
24
+ minutes: {
25
+ min: 0,
26
+ max: 59,
27
+ step: 1
28
+ },
29
+ seconds: {
30
+ min: 0,
31
+ max: 59,
32
+ step: 1
33
+ },
34
+ milliseconds: {
35
+ min: 0,
36
+ max: 999,
37
+ step: 1
38
+ }
39
+ };
17
40
  _this.updateSelectedDate = function (event) {
18
41
  // need confirm
19
42
  if (_this.props.requiredConfirm) {
@@ -58,9 +81,13 @@ var CustomDaysView = /** @class */ (function (_super) {
58
81
  }
59
82
  };
60
83
  _this.scrollToTop = function (type, value, i, label) {
84
+ var _a;
61
85
  var elf = document.getElementById("".concat(_this.state.uniqueTag, "-").concat(i, "-input"));
62
- elf.parentNode.scrollTo({
63
- top: value * 28,
86
+ var _b = _this.timeConstraints[type], min = _b.min, step = _b.step;
87
+ var offset = (value - min) / step;
88
+ var height = 28; /** 单个选项的高度 */
89
+ (_a = elf === null || elf === void 0 ? void 0 : elf.parentNode) === null || _a === void 0 ? void 0 : _a.scrollTo({
90
+ top: offset * height,
64
91
  behavior: label === 'init' ? 'auto' : 'smooth'
65
92
  });
66
93
  };
@@ -178,6 +205,7 @@ var CustomDaysView = /** @class */ (function (_super) {
178
205
  var _a = _this.props, timeFormat = _a.timeFormat, selectedDate = _a.selectedDate, viewDate = _a.viewDate, isEndDate = _a.isEndDate, cx = _a.classnames;
179
206
  var date = selectedDate || (isEndDate ? viewDate.endOf('day') : viewDate);
180
207
  var inputs = [];
208
+ var timeConstraints = _this.timeConstraints;
181
209
  inputs.push(_this.showTime());
182
210
  timeFormat.split(':').forEach(function (format, i) {
183
211
  var type = /h/i.test(format)
@@ -188,11 +216,9 @@ var CustomDaysView = /** @class */ (function (_super) {
188
216
  ? 'seconds'
189
217
  : '';
190
218
  if (type) {
191
- var min_1 = 0;
192
- var max_1 = type === 'hours' ? 23 : 59;
193
- var hours = _this.computedTimeOptions(24);
194
- var times = _this.computedTimeOptions(60);
195
- var options_1 = type === 'hours' ? hours : times;
219
+ var min_1 = timeConstraints[type].min;
220
+ var max_1 = timeConstraints[type].max;
221
+ var options_1 = _this.computedTimeOptions(type);
196
222
  var formatMap_1 = {
197
223
  hours: 'HH',
198
224
  minutes: 'mm',
@@ -207,8 +233,15 @@ var CustomDaysView = /** @class */ (function (_super) {
207
233
  }
208
234
  });
209
235
  return (react_1.default.createElement("div", { className: cx('CalendarInputWrapper', 'CalendarInputWrapperMT') },
210
- react_1.default.createElement("div", { className: cx('CalendarInput-sugs', type === 'hours' ? 'CalendarInput-sugsHours' : 'CalendarInput-sugsTimes'), id: "".concat(_this.state.uniqueTag, "-").concat(i, "-input") }, options_1.map(function (option) {
211
- return (react_1.default.createElement("div", { key: option.value, className: cx('CalendarInput-sugsItem', { 'is-highlight': option.value === date.format(formatMap_1[type]) }), onClick: function () {
236
+ react_1.default.createElement("div", { className: cx('CalendarInput-sugs', type === 'hours'
237
+ ? 'CalendarInput-sugsHours'
238
+ : 'CalendarInput-sugsTimes'), id: "".concat(_this.state.uniqueTag, "-").concat(i, "-input") }, options_1.map(function (option) {
239
+ var _a;
240
+ return (react_1.default.createElement("div", { key: option.value, className: cx('CalendarInput-sugsItem', {
241
+ 'is-highlight': selectedDate
242
+ ? option.value === date.format(formatMap_1[type])
243
+ : option.value === ((_a = options_1 === null || options_1 === void 0 ? void 0 : options_1[0]) === null || _a === void 0 ? void 0 : _a.value)
244
+ }), onClick: function () {
212
245
  _this.setTime(type, parseInt(option.value, 10));
213
246
  _this.scrollToTop(type, parseInt(option.value, 10), i);
214
247
  closeMenu();
@@ -273,8 +306,11 @@ var CustomDaysView = /** @class */ (function (_super) {
273
306
  columns: columns,
274
307
  types: types,
275
308
  pickerValue: currentDate.toArray(),
276
- uniqueTag: 0,
309
+ uniqueTag: 0
277
310
  };
311
+ if (_this.props.timeConstraints) {
312
+ _this.timeConstraints = (0, merge_1.default)(_this.timeConstraints, props.timeConstraints);
313
+ }
278
314
  return _this;
279
315
  }
280
316
  CustomDaysView.prototype.getDaysOfWeek = function (locale) {
@@ -327,7 +363,7 @@ var CustomDaysView = /** @class */ (function (_super) {
327
363
  return weeks;
328
364
  };
329
365
  CustomDaysView.prototype.componentWillMount = function () {
330
- this.setState({ uniqueTag: (new Date()).valueOf() });
366
+ this.setState({ uniqueTag: new Date().valueOf() });
331
367
  };
332
368
  CustomDaysView.prototype.componentDidMount = function () {
333
369
  var _this = this;
@@ -351,13 +387,16 @@ var CustomDaysView = /** @class */ (function (_super) {
351
387
  }
352
388
  });
353
389
  };
354
- CustomDaysView.prototype.computedTimeOptions = function (total) {
355
- var times = [];
356
- for (var t = 0; t < total; t++) {
357
- var label = t < 10 ? "0".concat(t) : "".concat(t);
358
- times.push({ label: label, value: label });
359
- }
360
- return times;
390
+ /** 时间选择器数据源 */
391
+ CustomDaysView.prototype.computedTimeOptions = function (timeScale) {
392
+ var _a;
393
+ var _b = (_a = this.timeConstraints) === null || _a === void 0 ? void 0 : _a[timeScale], min = _b.min, max = _b.max, step = _b.step;
394
+ return Array.from({ length: max - min + 1 }, function (item, index) {
395
+ var value = (index + min)
396
+ .toString()
397
+ .padStart(timeScale !== 'milliseconds' ? 2 : 3, '0');
398
+ return index % step === 0 ? { label: value, value: value } : undefined;
399
+ }).filter(function (item) { return !!item; });
361
400
  };
362
401
  CustomDaysView.prototype.render = function () {
363
402
  var _a = this.props, date = _a.viewDate, useMobileUI = _a.useMobileUI, embed = _a.embed, timeFormat = _a.timeFormat, cx = _a.classnames;
@@ -384,7 +423,9 @@ var CustomDaysView = /** @class */ (function (_super) {
384
423
  return (react_1.default.createElement(react_1.default.Fragment, null,
385
424
  react_1.default.createElement("div", { className: timeFormat ? 'rdtDays' : '' },
386
425
  react_1.default.createElement("table", { className: timeFormat ? 'rdtDaysPart' : '' }, tableChildren),
387
- timeFormat ? (react_1.default.createElement("div", { className: timeFormat.toLowerCase().indexOf('s') > 0 ? "rdtTimePartWithS" : "rdtTimePart" }, this.renderTimes())) : null),
426
+ timeFormat ? (react_1.default.createElement("div", { className: timeFormat.toLowerCase().indexOf('s') > 0
427
+ ? 'rdtTimePartWithS'
428
+ : 'rdtTimePart' }, this.renderTimes())) : null),
388
429
  react_1.default.createElement("table", null, this.renderFooter())));
389
430
  };
390
431
  return CustomDaysView;