amis 1.8.0-beta.0 → 1.8.0-beta.3

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 (217) hide show
  1. package/lib/SchemaRenderer.js +19 -3
  2. package/lib/SchemaRenderer.js.map +2 -2
  3. package/lib/WithRootStore.d.ts +18 -0
  4. package/lib/WithStore.js +2 -1
  5. package/lib/WithStore.js.map +2 -2
  6. package/lib/actions/CmptAction.js +14 -3
  7. package/lib/actions/CmptAction.js.map +2 -2
  8. package/lib/components/BarCode.js +1 -1
  9. package/lib/components/BarCode.js.map +2 -2
  10. package/lib/components/DatePicker.d.ts +3 -0
  11. package/lib/components/DatePicker.js +56 -11
  12. package/lib/components/DatePicker.js.map +2 -2
  13. package/lib/components/DateRangePicker.d.ts +92 -84
  14. package/lib/components/DateRangePicker.js +198 -5
  15. package/lib/components/DateRangePicker.js.map +2 -2
  16. package/lib/components/MonthRangePicker.d.ts +84 -84
  17. package/lib/components/Progress.js +12 -9
  18. package/lib/components/Progress.js.map +2 -2
  19. package/lib/components/Radios.d.ts +1 -1
  20. package/lib/components/Radios.js +3 -5
  21. package/lib/components/Radios.js.map +2 -2
  22. package/lib/components/Range.d.ts +2 -2
  23. package/lib/components/Range.js +24 -11
  24. package/lib/components/Range.js.map +2 -2
  25. package/lib/components/Steps.d.ts +6 -0
  26. package/lib/components/Steps.js +13 -9
  27. package/lib/components/Steps.js.map +2 -2
  28. package/lib/components/calendar/Calendar.js +16 -12
  29. package/lib/components/calendar/Calendar.js.map +2 -2
  30. package/lib/components/calendar/YearsView.js +3 -3
  31. package/lib/components/calendar/YearsView.js.map +2 -2
  32. package/lib/components/formula/Editor.d.ts +3 -1
  33. package/lib/components/formula/Editor.js +20 -2
  34. package/lib/components/formula/Editor.js.map +2 -2
  35. package/lib/components/formula/Picker.d.ts +5 -0
  36. package/lib/components/formula/Picker.js +19 -4
  37. package/lib/components/formula/Picker.js.map +2 -2
  38. package/lib/factory.d.ts +4 -0
  39. package/lib/factory.js +8 -2
  40. package/lib/factory.js.map +2 -2
  41. package/lib/index.js +1 -1
  42. package/lib/locale/de-DE.js +13 -0
  43. package/lib/locale/de-DE.js.map +2 -2
  44. package/lib/locale/en-US.js +13 -0
  45. package/lib/locale/en-US.js.map +2 -2
  46. package/lib/locale/zh-CN.js +13 -0
  47. package/lib/locale/zh-CN.js.map +2 -2
  48. package/lib/renderers/Action.d.ts +2 -0
  49. package/lib/renderers/Action.js +23 -5
  50. package/lib/renderers/Action.js.map +2 -2
  51. package/lib/renderers/Carousel.d.ts +1 -0
  52. package/lib/renderers/Carousel.js +13 -1
  53. package/lib/renderers/Carousel.js.map +2 -2
  54. package/lib/renderers/Dialog.d.ts +4 -0
  55. package/lib/renderers/Dialog.js +4 -3
  56. package/lib/renderers/Dialog.js.map +2 -2
  57. package/lib/renderers/DropDownButton.d.ts +2 -0
  58. package/lib/renderers/DropDownButton.js +13 -4
  59. package/lib/renderers/DropDownButton.js.map +2 -2
  60. package/lib/renderers/Form/Checkboxes.d.ts +2 -2
  61. package/lib/renderers/Form/Checkboxes.js +2 -6
  62. package/lib/renderers/Form/Checkboxes.js.map +2 -2
  63. package/lib/renderers/Form/Combo.js +3 -2
  64. package/lib/renderers/Form/Combo.js.map +2 -2
  65. package/lib/renderers/Form/InputCity.d.ts +3 -0
  66. package/lib/renderers/Form/InputCity.js +44 -2
  67. package/lib/renderers/Form/InputCity.js.map +2 -2
  68. package/lib/renderers/Form/InputDateRange.d.ts +5 -0
  69. package/lib/renderers/Form/InputDateRange.js.map +2 -2
  70. package/lib/renderers/Form/InputFile.js +6 -3
  71. package/lib/renderers/Form/InputFile.js.map +2 -2
  72. package/lib/renderers/Form/InputFormula.d.ts +4 -0
  73. package/lib/renderers/Form/InputFormula.js +2 -2
  74. package/lib/renderers/Form/InputFormula.js.map +2 -2
  75. package/lib/renderers/Form/InputImage.js +6 -3
  76. package/lib/renderers/Form/InputImage.js.map +2 -2
  77. package/lib/renderers/Form/InputRange.js +13 -14
  78. package/lib/renderers/Form/InputRange.js.map +2 -2
  79. package/lib/renderers/Form/InputTable.js +4 -2
  80. package/lib/renderers/Form/InputTable.js.map +2 -2
  81. package/lib/renderers/Form/Item.d.ts +11 -6
  82. package/lib/renderers/Form/index.js +1 -1
  83. package/lib/renderers/Form/index.js.map +2 -2
  84. package/lib/renderers/Form/wrapControl.d.ts +9 -0
  85. package/lib/renderers/Form/wrapControl.js +1 -1
  86. package/lib/renderers/Form/wrapControl.js.map +2 -2
  87. package/lib/renderers/Nav.js +2 -2
  88. package/lib/renderers/Nav.js.map +2 -2
  89. package/lib/renderers/Page.js +2 -3
  90. package/lib/renderers/Page.js.map +2 -2
  91. package/lib/renderers/Progress.d.ts +1 -1
  92. package/lib/renderers/Progress.js +1 -1
  93. package/lib/renderers/Progress.js.map +2 -2
  94. package/lib/renderers/Steps.d.ts +8 -0
  95. package/lib/renderers/Steps.js +2 -2
  96. package/lib/renderers/Steps.js.map +2 -2
  97. package/lib/renderers/Table/TableRow.js +1 -1
  98. package/lib/renderers/Table/TableRow.js.map +2 -2
  99. package/lib/renderers/Table/index.js +7 -3
  100. package/lib/renderers/Table/index.js.map +2 -2
  101. package/lib/renderers/Tabs.d.ts +4 -0
  102. package/lib/renderers/Tabs.js +22 -6
  103. package/lib/renderers/Tabs.js.map +2 -2
  104. package/lib/renderers/Wizard.d.ts +6 -3
  105. package/lib/renderers/Wizard.js +257 -152
  106. package/lib/renderers/Wizard.js.map +2 -2
  107. package/lib/store/index.d.ts +5 -0
  108. package/lib/store/index.js +14 -0
  109. package/lib/store/index.js.map +2 -2
  110. package/lib/store/table.js +4 -4
  111. package/lib/store/table.js.map +2 -2
  112. package/lib/themes/ang-ie11.css +194 -23
  113. package/lib/themes/ang.css +193 -22
  114. package/lib/themes/ang.css.map +1 -1
  115. package/lib/themes/antd-ie11.css +194 -23
  116. package/lib/themes/antd.css +193 -22
  117. package/lib/themes/antd.css.map +1 -1
  118. package/lib/themes/cxd-ie11.css +194 -23
  119. package/lib/themes/cxd.css +193 -22
  120. package/lib/themes/cxd.css.map +1 -1
  121. package/lib/themes/dark-ie11.css +194 -23
  122. package/lib/themes/dark.css +193 -22
  123. package/lib/themes/dark.css.map +1 -1
  124. package/lib/themes/default-ie11.css +194 -23
  125. package/lib/themes/default.css +193 -22
  126. package/lib/themes/default.css.map +1 -1
  127. package/lib/types.d.ts +1 -1
  128. package/lib/types.js.map +1 -1
  129. package/lib/utils/columnsSplit.d.ts +1 -0
  130. package/lib/utils/columnsSplit.js +40 -0
  131. package/lib/utils/columnsSplit.js.map +13 -0
  132. package/lib/utils/debug.d.ts +1 -1
  133. package/lib/utils/debug.js +16 -22
  134. package/lib/utils/debug.js.map +2 -2
  135. package/package.json +1 -1
  136. package/schema.json +181 -30
  137. package/scss/_properties.scss +2 -2
  138. package/scss/components/_barcode.scss +1 -1
  139. package/scss/components/_carousel.scss +1 -0
  140. package/scss/components/_debug.scss +3 -3
  141. package/scss/components/_formula.scss +18 -0
  142. package/scss/components/_progress.scss +3 -8
  143. package/scss/components/_steps.scss +199 -8
  144. package/scss/components/form/_date.scss +14 -0
  145. package/scss/components/form/_editor.scss +2 -1
  146. package/sdk/ang-ie11.css +234 -25
  147. package/sdk/ang.css +233 -24
  148. package/sdk/antd-ie11.css +234 -25
  149. package/sdk/antd.css +233 -24
  150. package/sdk/barcode.js +51 -51
  151. package/sdk/charts.js +14 -14
  152. package/sdk/codemirror.js +7 -7
  153. package/sdk/color-picker.js +65 -65
  154. package/sdk/cropperjs.js +2 -2
  155. package/sdk/cxd-ie11.css +234 -25
  156. package/sdk/cxd.css +233 -24
  157. package/sdk/dark-ie11.css +234 -25
  158. package/sdk/dark.css +233 -24
  159. package/sdk/exceljs.js +1 -1
  160. package/sdk/locale/de-DE.js +13 -0
  161. package/sdk/markdown.js +69 -69
  162. package/sdk/papaparse.js +1 -1
  163. package/sdk/renderers/Form/CityDB.js +1 -1
  164. package/sdk/rest.js +17 -17
  165. package/sdk/rich-text.js +62 -62
  166. package/sdk/sdk-ie11.css +234 -25
  167. package/sdk/sdk.css +233 -24
  168. package/sdk/sdk.js +1290 -1288
  169. package/sdk/thirds/hls.js/hls.js +1 -1
  170. package/sdk/thirds/mpegts.js/mpegts.js +1 -1
  171. package/sdk/tinymce.js +57 -57
  172. package/src/SchemaRenderer.tsx +32 -14
  173. package/src/WithStore.tsx +3 -1
  174. package/src/actions/CmptAction.ts +18 -0
  175. package/src/components/BarCode.tsx +2 -2
  176. package/src/components/DatePicker.tsx +77 -22
  177. package/src/components/DateRangePicker.tsx +198 -4
  178. package/src/components/Progress.tsx +8 -12
  179. package/src/components/Radios.tsx +6 -17
  180. package/src/components/Range.tsx +26 -12
  181. package/src/components/Steps.tsx +28 -27
  182. package/src/components/calendar/Calendar.tsx +17 -12
  183. package/src/components/calendar/YearsView.tsx +3 -4
  184. package/src/components/formula/Editor.tsx +34 -3
  185. package/src/components/formula/Picker.tsx +28 -1
  186. package/src/factory.tsx +15 -2
  187. package/src/locale/de-DE.ts +13 -0
  188. package/src/locale/en-US.ts +13 -0
  189. package/src/locale/zh-CN.ts +13 -0
  190. package/src/renderers/Action.tsx +22 -1
  191. package/src/renderers/Carousel.tsx +8 -0
  192. package/src/renderers/Dialog.tsx +17 -3
  193. package/src/renderers/DropDownButton.tsx +14 -3
  194. package/src/renderers/Form/Checkboxes.tsx +5 -18
  195. package/src/renderers/Form/Combo.tsx +2 -3
  196. package/src/renderers/Form/InputCity.tsx +33 -4
  197. package/src/renderers/Form/InputDateRange.tsx +8 -1
  198. package/src/renderers/Form/InputFile.tsx +7 -3
  199. package/src/renderers/Form/InputFormula.tsx +7 -0
  200. package/src/renderers/Form/InputImage.tsx +7 -3
  201. package/src/renderers/Form/InputRange.tsx +18 -16
  202. package/src/renderers/Form/InputTable.tsx +6 -2
  203. package/src/renderers/Form/index.tsx +1 -1
  204. package/src/renderers/Form/wrapControl.tsx +1 -1
  205. package/src/renderers/Nav.tsx +1 -1
  206. package/src/renderers/Page.tsx +1 -2
  207. package/src/renderers/Progress.tsx +2 -2
  208. package/src/renderers/Steps.tsx +14 -0
  209. package/src/renderers/Table/TableRow.tsx +1 -1
  210. package/src/renderers/Table/index.tsx +11 -2
  211. package/src/renderers/Tabs.tsx +75 -28
  212. package/src/renderers/Wizard.tsx +154 -93
  213. package/src/store/index.ts +20 -0
  214. package/src/store/table.ts +4 -4
  215. package/src/types.ts +3 -1
  216. package/src/utils/columnsSplit.tsx +57 -0
  217. package/src/utils/debug.tsx +17 -24
@@ -6,8 +6,8 @@
6
6
  "/src/components/calendar/Calendar.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 基于 react-datetime 改造。\n */\nimport React from 'react';\nimport CustomCalendarContainer from './CalendarContainer';\nimport cx from 'classnames';\nimport moment from 'moment';\nimport {themeable, ThemeOutterProps, ThemeProps} from '../../theme';\nimport {convertArrayValueToMoment, getRange} from '../../utils/helper';\nimport {PickerOption} from '../PickerColumn';\n\nexport type DateType =\n | 'year'\n | 'month'\n | 'date'\n | 'hours'\n | 'minutes'\n | 'seconds';\nexport interface BoundaryObject {\n max: number;\n min: number;\n}\n\nexport interface DateBoundary {\n year: BoundaryObject;\n month: BoundaryObject;\n date: BoundaryObject;\n hours: BoundaryObject;\n minutes: BoundaryObject;\n seconds: BoundaryObject;\n}\n\nconst viewModes = Object.freeze({\n YEARS: 'years',\n MONTHS: 'months',\n DAYS: 'days',\n TIME: 'time'\n});\n\ninterface BaseDatePickerProps {\n className?: string;\n value?: any;\n defaultValue?: any;\n viewMode?: 'years' | 'months' | 'days' | 'time' | 'quarters';\n dateFormat?: boolean | string;\n inputFormat?: boolean | string;\n timeFormat?: boolean | string;\n input?: boolean;\n locale: string;\n date?: any;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n onViewModeChange?: (type: string) => void;\n requiredConfirm?: boolean;\n onClose?: () => void;\n onChange?: (value: any) => void;\n isEndDate?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n viewDate?: moment.Moment;\n renderMonth?: (props: any, month: number, year: number, date: any) => void;\n renderDay?: (\n props: any,\n currentDate: moment.Moment,\n selectedDate: moment.Moment\n ) => JSX.Element;\n renderQuarter?: (\n props: any,\n quartar: number,\n year?: number,\n date?: moment.Moment\n ) => JSX.Element;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: string | React.ReactElement;\n color?: string;\n }>;\n largeMode?: boolean;\n onScheduleClick?: (scheduleData: any) => void;\n hideHeader?: boolean;\n updateOn?: string;\n useMobileUI?: boolean;\n embed?: boolean;\n closeOnSelect?: boolean;\n showToolbar?: boolean;\n open?: boolean;\n utc?: boolean;\n displayTimeZone?: string;\n timeConstraints?: any;\n}\n\ninterface BaseDatePickerState {\n inputFormat?: boolean | string;\n currentView: string;\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n inputValue?: string;\n open?: boolean;\n}\n\ntype AllowedSetTime = 'hours' | 'minutes' | 'seconds' | 'milliseconds';\n\nclass BaseDatePicker extends React.Component<\n BaseDatePickerProps,\n BaseDatePickerState\n> {\n tzWarning: boolean;\n\n static defaultProps: {\n className: '';\n defaultValue: '';\n inputProps: {};\n input: true;\n onFocus: () => {};\n onBlur: () => {};\n onChange: () => {};\n timeFormat: true;\n timeConstraints: {};\n dateFormat: true;\n strictParsing: true;\n closeOnSelect: false;\n closeOnTab: true;\n utc: false;\n };\n\n getFormats(props: BaseDatePickerProps) {\n let formats: any = {\n date: props.dateFormat || '',\n time: props.timeFormat || ''\n },\n locale = this.localMoment(props.date, undefined, props).localeData();\n if (formats.date === true) {\n formats.date = locale.longDateFormat('L');\n } else if (this.getUpdateOn(formats) !== viewModes.DAYS) {\n formats.time = '';\n }\n\n if (formats.time === true) {\n formats.time = locale.longDateFormat('LT');\n }\n\n formats.datetime =\n formats.date && formats.time\n ? formats.date + ' ' + formats.time\n : formats.date || formats.time;\n\n return formats;\n }\n\n componentDidUpdate(prevProps: BaseDatePickerProps) {\n const props = this.props;\n let formats = this.getFormats(props),\n updatedState: any = {};\n if (\n props.value !== prevProps.value ||\n formats.datetime !== this.getFormats(prevProps).datetime\n ) {\n updatedState = this.getStateFromProps(props);\n }\n\n if (updatedState.open === undefined) {\n if (typeof props.open !== 'undefined') {\n updatedState.open = props.open;\n } else if (\n prevProps.closeOnSelect &&\n this.state.currentView !== viewModes.TIME\n ) {\n updatedState.open = false;\n } else {\n updatedState.open = this.state.open;\n }\n }\n\n if (props.viewMode !== prevProps.viewMode) {\n updatedState.currentView = props.viewMode;\n }\n\n if (props.locale !== prevProps.locale) {\n if (this.state.viewDate) {\n var updatedViewDate = this.state.viewDate.clone().locale(props.locale);\n updatedState.viewDate = updatedViewDate;\n }\n if (this.state.selectedDate) {\n var updatedSelectedDate = this.state.selectedDate\n .clone()\n .locale(props.locale);\n updatedState.selectedDate = updatedSelectedDate;\n updatedState.inputValue = updatedSelectedDate.format(formats.datetime);\n }\n }\n\n if (\n props.utc !== prevProps.utc ||\n props.displayTimeZone !== prevProps.displayTimeZone\n ) {\n if (props.utc) {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate.clone().utc();\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate.clone().utc();\n updatedState.inputValue = updatedState.selectedDate.format(\n formats.datetime\n );\n }\n } else if (props.displayTimeZone) {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate\n .clone()\n // @ts-ignore 其实目前不支持,需要自己 import \"moment-timezone\";\n .tz(props.displayTimeZone);\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate\n .clone()\n // @ts-ignore\n .tz(props.displayTimeZone);\n updatedState.inputValue = updatedState.selectedDate\n .tz(props.displayTimeZone)\n .format(formats.datetime);\n }\n } else {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate.clone().local();\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate.clone().local();\n updatedState.inputValue = updatedState.selectedDate.format(\n formats.datetime\n );\n }\n }\n }\n\n if (props.viewDate !== prevProps.viewDate) {\n updatedState.viewDate = moment(props.viewDate);\n }\n\n this.checkTZ(props);\n }\n\n checkTZ(props: BaseDatePickerProps) {\n var con = console;\n\n // @ts-ignore\n if (props.displayTimeZone && !this.tzWarning && !moment.tz) {\n this.tzWarning = true;\n con &&\n con.error(\n 'react-datetime: displayTimeZone prop with value \"' +\n props.displayTimeZone +\n '\" is used but moment.js timezone is not loaded.'\n );\n }\n }\n\n localMoment(date?: any, format?: string, props?: any) {\n props = props || this.props;\n var m = null;\n\n if (props.utc) {\n m = moment.utc(date, format, props.strictParsing);\n } else if (props.displayTimeZone) {\n // @ts-ignore 以后再修\n m = moment.tz(date, format, props.displayTimeZone);\n } else {\n m = moment(date, format, props.strictParsing);\n }\n\n if (props.locale) m.locale(props.locale);\n return m;\n }\n\n parseDate(date: any, formats: any) {\n var parsedDate;\n\n if (date && typeof date === 'string')\n parsedDate = this.localMoment(date, formats.datetime);\n else if (date) parsedDate = this.localMoment(date);\n\n if (parsedDate && !parsedDate.isValid()) parsedDate = null;\n\n return parsedDate;\n }\n\n getStateFromProps(props: BaseDatePickerProps) {\n var formats = this.getFormats(props),\n date = props.value || props.defaultValue || '',\n selectedDate,\n viewDate,\n updateOn,\n inputValue;\n\n selectedDate = this.parseDate(date, formats);\n\n viewDate = this.parseDate(props.viewDate, formats);\n\n viewDate = selectedDate\n ? selectedDate.clone().startOf('month')\n : viewDate\n ? viewDate.clone().startOf('month')\n : this.localMoment().startOf('month');\n\n updateOn = this.getUpdateOn(formats);\n\n if (selectedDate) inputValue = selectedDate.format(formats.datetime);\n else if (date.isValid && !date.isValid()) inputValue = '';\n else inputValue = date || '';\n\n return {\n updateOn: updateOn,\n inputFormat: formats.datetime,\n viewDate: viewDate,\n selectedDate: selectedDate,\n inputValue: inputValue,\n open: props.open\n };\n }\n\n timeCellLength = {\n year: 4,\n month: 2,\n date: 2,\n hours: 2,\n minutes: 2,\n seconds: 2,\n milliseconds: 3\n };\n\n constructor(props: any) {\n super(props);\n const state: any = this.getStateFromProps(this.props);\n\n if (state.open === undefined) {\n state.open = !this.props.input;\n }\n\n state.currentView = this.props.dateFormat\n ? this.props.viewMode || state.updateOn || 'days'\n : this.props.viewMode || 'time';\n\n this.state = state;\n }\n\n getUpdateOn = (formats: any) => {\n if (formats.date.match(/[lLD]/)) {\n return 'days';\n } else if (formats.date.indexOf('M') !== -1) {\n return 'months';\n } else if (formats.date.indexOf('Q') !== -1) {\n return 'quarters';\n } else if (formats.date.indexOf('Y') !== -1) {\n return 'years';\n }\n\n return 'days';\n };\n\n componentProps = {\n fromProps: [\n 'value',\n 'isValidDate',\n 'renderDay',\n 'renderMonth',\n 'renderYear',\n 'timeConstraints'\n ],\n fromState: ['viewDate', 'selectedDate', 'updateOn'],\n fromThis: [\n 'setDate',\n 'setTime',\n 'showView',\n 'addTime',\n 'subtractTime',\n 'updateSelectedDate',\n 'localMoment',\n 'handleClickOutside'\n ]\n };\n\n getComponentProps() {\n let me: any = this,\n formats = this.getFormats(this.props),\n props: any = {dateFormat: formats.date, timeFormat: formats.time};\n this.componentProps.fromProps.forEach(function (name) {\n props[name] = me.props[name];\n });\n this.componentProps.fromState.forEach(function (name) {\n props[name] = me.state[name];\n });\n this.componentProps.fromThis.forEach(function (name) {\n props[name] = me[name];\n });\n\n props.setDateTimeState = this.setState.bind(this);\n\n [\n 'inputFormat',\n 'onChange',\n 'onClose',\n 'requiredConfirm',\n 'classPrefix',\n 'prevIcon',\n 'nextIcon',\n 'isEndDate',\n 'classnames',\n 'minDate',\n 'maxDate',\n 'schedules',\n 'largeMode',\n 'onScheduleClick',\n 'hideHeader',\n 'updateOn',\n 'useMobileUI',\n 'showToolbar',\n 'embed'\n ].forEach(key => (props[key] = (this.props as any)[key]));\n\n return props;\n }\n\n showView = (view: string) => {\n return () => {\n this.setState({currentView: view});\n };\n };\n\n subtractTime = (amount: string, type: string, toSelected: boolean) => {\n return () => {\n this.updateTime('subtract', amount, type, toSelected);\n };\n };\n\n addTime = (amount: string, type: string, toSelected: boolean) => {\n return () => {\n this.updateTime('add', amount, type, toSelected);\n };\n };\n\n updateTime(op: string, amount: string, type: string, toSelected: boolean) {\n var update = {},\n date = toSelected ? 'selectedDate' : 'viewDate';\n\n // @ts-ignore\n update[date] = this.state[date].clone()[op](amount, type);\n\n this.setState(update);\n }\n\n allowedSetTime = ['hours', 'minutes', 'seconds', 'milliseconds'];\n\n setTime = (type: AllowedSetTime, value: any) => {\n var index = this.allowedSetTime.indexOf(type) + 1,\n state = this.state,\n date = (state.selectedDate || state.viewDate).clone(),\n nextType;\n\n // It is needed to set all the time properties\n // to not to reset the time\n date[type](value);\n for (; index < this.allowedSetTime.length; index++) {\n nextType = this.allowedSetTime[index] as AllowedSetTime;\n date[nextType](date[nextType]());\n }\n\n if (!this.props.value) {\n this.setState({\n selectedDate: date,\n inputValue: date.format(state.inputFormat as string)\n });\n }\n this.props.onChange && this.props.onChange(date);\n };\n\n setDate = (type: 'month' | 'year' | 'quarters') => {\n // todo 没看懂这个是啥意思,好像没啥用\n const currentShould =\n this.props.viewMode === 'months' &&\n !/^mm$/i.test((this.props.inputFormat as string) || '');\n const nextViews = {\n month: currentShould ? 'months' : 'days',\n year: currentShould ? 'months' : 'days',\n quarters: ''\n };\n\n if ((this.props.viewMode as any) === 'quarters') {\n nextViews.year = 'quarters';\n }\n\n return (e: any) => {\n this.setState({\n viewDate: (\n this.state.viewDate\n .clone()\n [type](\n parseInt(e.target.closest('td').getAttribute('data-value'), 10)\n ) as moment.Moment\n ).startOf(type),\n currentView: nextViews[type]\n });\n };\n };\n\n updateSelectedDate = (e: React.MouseEvent, close?: boolean) => {\n const that: any = this;\n let target = e.currentTarget,\n modifier = 0,\n viewDate = this.state.viewDate,\n currentDate = this.state.selectedDate || viewDate,\n date: any;\n\n if (target.className.indexOf('rdtDay') !== -1) {\n if (target.className.indexOf('rdtNew') !== -1) modifier = 1;\n else if (target.className.indexOf('rdtOld') !== -1) modifier = -1;\n\n date = viewDate\n .clone()\n .month(viewDate.month() + modifier)\n .date(parseInt(target.getAttribute('data-value')!, 10));\n } else if (target.className.indexOf('rdtMonth') !== -1) {\n date = viewDate\n .clone()\n .month(parseInt(target.getAttribute('data-value')!, 10))\n .date(currentDate.date());\n } else if (target.className.indexOf('rdtQuarter') !== -1) {\n date = viewDate\n .clone()\n .quarter(parseInt(target.getAttribute('data-value')!, 10))\n .startOf('quarter')\n .date(currentDate.date());\n } else if (target.className.indexOf('rdtYear') !== -1) {\n date = viewDate\n .clone()\n .month(currentDate.month())\n .date(currentDate.date())\n .year(parseInt(target.getAttribute('data-value')!, 10));\n }\n\n date\n ?.hours(currentDate.hours())\n .minutes(currentDate.minutes())\n .seconds(currentDate.seconds())\n .milliseconds(currentDate.milliseconds());\n\n if (!this.props.value) {\n var open = !(this.props.closeOnSelect && close);\n if (!open) {\n that.props.onBlur(date);\n }\n\n this.setState({\n selectedDate: date,\n viewDate: date?.clone().startOf('month'),\n inputValue: date?.format(this.state.inputFormat),\n open: open\n });\n } else {\n this.setState({\n selectedDate: date,\n viewDate: date?.clone().startOf('month'),\n inputValue: date?.format(this.state.inputFormat)\n });\n if (this.props.closeOnSelect && close) {\n that.closeCalendar();\n }\n }\n\n that.props.onChange(date);\n };\n\n getDateBoundary = (currentDate: moment.Moment) => {\n const {years, months} = currentDate.toObject();\n const maxDateObject = this.props.maxDate?.toObject();\n const minDateObject = this.props.minDate?.toObject();\n\n const yearBoundary = {\n max: maxDateObject ? maxDateObject.years : years + 100,\n min: minDateObject ? minDateObject.years : years - 100\n };\n const monthBoundary = {\n max: years === maxDateObject?.years ? maxDateObject.months : 11,\n min: years === minDateObject?.years ? minDateObject.months : 0\n };\n const dateBoundary = {\n max:\n years === maxDateObject?.years && months === maxDateObject?.months\n ? maxDateObject.date\n : currentDate.daysInMonth(),\n min:\n years === minDateObject?.years && months === minDateObject?.months\n ? minDateObject.date\n : 1\n };\n return {\n year: yearBoundary,\n month: monthBoundary,\n date: dateBoundary,\n hours: {max: 23, min: 0},\n minutes: {max: 59, min: 0},\n seconds: {max: 59, min: 0}\n };\n };\n\n timeCell = (value: number, type: DateType) => {\n let str = value + '';\n while (str.length < this.timeCellLength[type]) str = '0' + str;\n return str;\n };\n\n getColumns = (types: DateType[], dateBoundary: DateBoundary) => {\n const columns: {options: PickerOption[]}[] = [];\n types.map((type: DateType) => {\n const options = getRange(\n dateBoundary[type].min,\n dateBoundary[type].max,\n 1\n ).map(item => {\n return {\n text:\n type === 'month'\n ? this.timeCell(item + 1, type)\n : this.timeCell(item, type),\n value: item\n };\n });\n columns.push({options});\n });\n return columns;\n };\n\n onConfirm = (value: number[], types: string[]) => {\n const currentDate = (\n this.state.selectedDate ||\n this.state.viewDate ||\n moment()\n ).clone();\n const date = convertArrayValueToMoment(value, types, currentDate);\n\n if (!this.props.value) {\n this.setState({\n selectedDate: date,\n inputValue: date!.format(this.state.inputFormat as string)\n });\n }\n this.props.onChange && this.props.onChange(date);\n this.props.onClose && this.props.onClose();\n };\n\n render() {\n const Component = CustomCalendarContainer as any;\n const viewProps = this.getComponentProps();\n\n if (this.props.viewMode === 'quarters') {\n [viewProps.updateOn, viewProps.renderQuarter] = [\n 'quarters',\n this.props.renderQuarter\n ];\n } else if (this.props.viewMode === 'years') {\n viewProps.updateOn = 'years';\n } else if (this.props.viewMode === 'months') {\n viewProps.updateOn = 'months';\n }\n\n viewProps.onConfirm = this.onConfirm;\n viewProps.getDateBoundary = this.getDateBoundary;\n viewProps.getColumns = this.getColumns;\n viewProps.timeCell = this.timeCell;\n\n return (\n <div className={cx('rdt rdtStatic rdtOpen', this.props.className)}>\n <div key=\"dt\" className=\"rdtPicker\">\n <Component view={this.state.currentView} viewProps={viewProps} />\n </div>\n </div>\n );\n }\n}\n\nconst Calendar: any = themeable(BaseDatePicker as any);\nexport default Calendar as React.ComponentType<BaseDatePickerProps>;\n"
11
+ "/**\n * @file 基于 react-datetime 改造。\n */\nimport React from 'react';\nimport CustomCalendarContainer from './CalendarContainer';\nimport cx from 'classnames';\nimport moment from 'moment';\nimport {themeable, ThemeOutterProps, ThemeProps} from '../../theme';\nimport {convertArrayValueToMoment, getRange} from '../../utils/helper';\nimport {PickerOption} from '../PickerColumn';\n\nexport type DateType =\n | 'year'\n | 'month'\n | 'date'\n | 'hours'\n | 'minutes'\n | 'seconds';\nexport interface BoundaryObject {\n max: number;\n min: number;\n}\n\nexport interface DateBoundary {\n year: BoundaryObject;\n month: BoundaryObject;\n date: BoundaryObject;\n hours: BoundaryObject;\n minutes: BoundaryObject;\n seconds: BoundaryObject;\n}\n\nconst viewModes = Object.freeze({\n YEARS: 'years',\n MONTHS: 'months',\n DAYS: 'days',\n TIME: 'time'\n});\n\ninterface BaseDatePickerProps {\n className?: string;\n value?: any;\n defaultValue?: any;\n viewMode?: 'years' | 'months' | 'days' | 'time' | 'quarters';\n dateFormat?: boolean | string;\n inputFormat?: boolean | string;\n timeFormat?: boolean | string;\n input?: boolean;\n locale: string;\n date?: any;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n onViewModeChange?: (type: string) => void;\n requiredConfirm?: boolean;\n onClose?: () => void;\n onChange?: (value: any) => void;\n isEndDate?: boolean;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n viewDate?: moment.Moment;\n renderMonth?: (props: any, month: number, year: number, date: any) => void;\n renderDay?: (\n props: any,\n currentDate: moment.Moment,\n selectedDate: moment.Moment\n ) => JSX.Element;\n renderQuarter?: (\n props: any,\n quartar: number,\n year?: number,\n date?: moment.Moment\n ) => JSX.Element;\n schedules?: Array<{\n startTime: Date;\n endTime: Date;\n content: string | React.ReactElement;\n color?: string;\n }>;\n largeMode?: boolean;\n onScheduleClick?: (scheduleData: any) => void;\n hideHeader?: boolean;\n updateOn?: string;\n useMobileUI?: boolean;\n embed?: boolean;\n closeOnSelect?: boolean;\n showToolbar?: boolean;\n open?: boolean;\n utc?: boolean;\n displayTimeZone?: string;\n timeConstraints?: any;\n}\n\ninterface BaseDatePickerState {\n inputFormat?: boolean | string;\n currentView: string;\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n inputValue?: string;\n open?: boolean;\n}\n\ntype AllowedSetTime = 'hours' | 'minutes' | 'seconds' | 'milliseconds';\n\nclass BaseDatePicker extends React.Component<\n BaseDatePickerProps,\n BaseDatePickerState\n> {\n tzWarning: boolean;\n\n static defaultProps: {\n className: '';\n defaultValue: '';\n inputProps: {};\n input: true;\n onFocus: () => {};\n onBlur: () => {};\n onChange: () => {};\n timeFormat: true;\n timeConstraints: {};\n dateFormat: true;\n strictParsing: true;\n closeOnSelect: false;\n closeOnTab: true;\n utc: false;\n };\n\n getFormats(props: BaseDatePickerProps) {\n let formats: any = {\n date: props.dateFormat || '',\n time: props.timeFormat || ''\n },\n locale = this.localMoment(props.date, undefined, props).localeData();\n if (formats.date === true) {\n formats.date = locale.longDateFormat('L');\n } else if (this.getUpdateOn(formats) !== viewModes.DAYS) {\n formats.time = '';\n }\n\n if (formats.time === true) {\n formats.time = locale.longDateFormat('LT');\n }\n\n formats.datetime =\n formats.date && formats.time\n ? formats.date + ' ' + formats.time\n : formats.date || formats.time;\n\n return formats;\n }\n\n componentDidUpdate(prevProps: BaseDatePickerProps) {\n const props = this.props;\n let formats = this.getFormats(props),\n updatedState: any = {};\n if (\n props.value !== prevProps.value ||\n formats.datetime !== this.getFormats(prevProps).datetime\n ) {\n updatedState = this.getStateFromProps(props);\n }\n\n // open 是外部控制了\n // if (updatedState.open === undefined) {\n // if (typeof props.open !== 'undefined') {\n // updatedState.open = props.open;\n // } else if (\n // prevProps.closeOnSelect &&\n // this.state.currentView !== viewModes.TIME\n // ) {\n // updatedState.open = false;\n // } else {\n // updatedState.open = this.state.open;\n // }\n // }\n\n if (props.viewMode !== prevProps.viewMode) {\n updatedState.currentView = props.viewMode;\n }\n\n if (props.locale !== prevProps.locale) {\n if (this.state.viewDate) {\n var updatedViewDate = this.state.viewDate.clone().locale(props.locale);\n updatedState.viewDate = updatedViewDate;\n }\n if (this.state.selectedDate) {\n var updatedSelectedDate = this.state.selectedDate\n .clone()\n .locale(props.locale);\n updatedState.selectedDate = updatedSelectedDate;\n updatedState.inputValue = updatedSelectedDate.format(formats.datetime);\n }\n }\n\n if (\n props.utc !== prevProps.utc ||\n props.displayTimeZone !== prevProps.displayTimeZone\n ) {\n if (props.utc) {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate.clone().utc();\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate.clone().utc();\n updatedState.inputValue = updatedState.selectedDate.format(\n formats.datetime\n );\n }\n } else if (props.displayTimeZone) {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate\n .clone()\n // @ts-ignore 其实目前不支持,需要自己 import \"moment-timezone\";\n .tz(props.displayTimeZone);\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate\n .clone()\n // @ts-ignore\n .tz(props.displayTimeZone);\n updatedState.inputValue = updatedState.selectedDate\n .tz(props.displayTimeZone)\n .format(formats.datetime);\n }\n } else {\n if (this.state.viewDate)\n updatedState.viewDate = this.state.viewDate.clone().local();\n if (this.state.selectedDate) {\n updatedState.selectedDate = this.state.selectedDate.clone().local();\n updatedState.inputValue = updatedState.selectedDate.format(\n formats.datetime\n );\n }\n }\n }\n\n if (props.viewDate !== prevProps.viewDate) {\n updatedState.viewDate = moment(props.viewDate);\n }\n\n if (Object.keys(updatedState).length) {\n this.setState(updatedState);\n }\n\n this.checkTZ(props);\n }\n\n checkTZ(props: BaseDatePickerProps) {\n var con = console;\n\n // @ts-ignore\n if (props.displayTimeZone && !this.tzWarning && !moment.tz) {\n this.tzWarning = true;\n con &&\n con.error(\n 'react-datetime: displayTimeZone prop with value \"' +\n props.displayTimeZone +\n '\" is used but moment.js timezone is not loaded.'\n );\n }\n }\n\n localMoment(date?: any, format?: string, props?: any) {\n props = props || this.props;\n var m = null;\n\n if (props.utc) {\n m = moment.utc(date, format, props.strictParsing);\n } else if (props.displayTimeZone) {\n // @ts-ignore 以后再修\n m = moment.tz(date, format, props.displayTimeZone);\n } else {\n m = moment(date, format, props.strictParsing);\n }\n\n if (props.locale) m.locale(props.locale);\n return m;\n }\n\n parseDate(date: any, formats: any) {\n var parsedDate;\n\n if (date && typeof date === 'string')\n parsedDate = this.localMoment(date, formats.datetime);\n else if (date) parsedDate = this.localMoment(date);\n\n if (parsedDate && !parsedDate.isValid()) parsedDate = null;\n\n return parsedDate;\n }\n\n getStateFromProps(props: BaseDatePickerProps) {\n var formats = this.getFormats(props),\n date = props.value || props.defaultValue || '',\n selectedDate,\n viewDate,\n updateOn,\n inputValue;\n\n selectedDate = this.parseDate(date, formats);\n\n viewDate = this.parseDate(props.viewDate, formats);\n\n viewDate = selectedDate\n ? selectedDate.clone().startOf('month')\n : viewDate\n ? viewDate.clone().startOf('month')\n : this.localMoment().startOf('month');\n\n updateOn = this.getUpdateOn(formats);\n\n if (selectedDate) inputValue = selectedDate.format(formats.datetime);\n else if (date.isValid && !date.isValid()) inputValue = '';\n else inputValue = date || '';\n\n return {\n updateOn: updateOn,\n inputFormat: formats.datetime,\n viewDate: viewDate,\n selectedDate: selectedDate,\n inputValue: inputValue,\n open: props.open\n };\n }\n\n timeCellLength = {\n year: 4,\n month: 2,\n date: 2,\n hours: 2,\n minutes: 2,\n seconds: 2,\n milliseconds: 3\n };\n\n constructor(props: any) {\n super(props);\n const state: any = this.getStateFromProps(this.props);\n\n if (state.open === undefined) {\n state.open = !this.props.input;\n }\n\n state.currentView = this.props.dateFormat\n ? this.props.viewMode || state.updateOn || 'days'\n : this.props.viewMode || 'time';\n\n this.state = state;\n }\n\n getUpdateOn = (formats: any) => {\n if (formats.date.match(/[lLD]/)) {\n return 'days';\n } else if (formats.date.indexOf('M') !== -1) {\n return 'months';\n } else if (formats.date.indexOf('Q') !== -1) {\n return 'quarters';\n } else if (formats.date.indexOf('Y') !== -1) {\n return 'years';\n }\n\n return 'days';\n };\n\n componentProps = {\n fromProps: [\n 'value',\n 'isValidDate',\n 'renderDay',\n 'renderMonth',\n 'renderYear',\n 'timeConstraints'\n ],\n fromState: ['viewDate', 'selectedDate', 'updateOn'],\n fromThis: [\n 'setDate',\n 'setTime',\n 'showView',\n 'addTime',\n 'subtractTime',\n 'updateSelectedDate',\n 'localMoment',\n 'handleClickOutside'\n ]\n };\n\n getComponentProps() {\n let me: any = this,\n formats = this.getFormats(this.props),\n props: any = {dateFormat: formats.date, timeFormat: formats.time};\n this.componentProps.fromProps.forEach(function (name) {\n props[name] = me.props[name];\n });\n this.componentProps.fromState.forEach(function (name) {\n props[name] = me.state[name];\n });\n this.componentProps.fromThis.forEach(function (name) {\n props[name] = me[name];\n });\n\n props.setDateTimeState = this.setState.bind(this);\n\n [\n 'inputFormat',\n 'onChange',\n 'onClose',\n 'requiredConfirm',\n 'classPrefix',\n 'prevIcon',\n 'nextIcon',\n 'isEndDate',\n 'classnames',\n 'minDate',\n 'maxDate',\n 'schedules',\n 'largeMode',\n 'onScheduleClick',\n 'hideHeader',\n 'updateOn',\n 'useMobileUI',\n 'showToolbar',\n 'embed'\n ].forEach(key => (props[key] = (this.props as any)[key]));\n\n return props;\n }\n\n showView = (view: string) => {\n return () => {\n this.setState({currentView: view});\n };\n };\n\n subtractTime = (amount: string, type: string, toSelected: boolean) => {\n return () => {\n this.updateTime('subtract', amount, type, toSelected);\n };\n };\n\n addTime = (amount: string, type: string, toSelected: boolean) => {\n return () => {\n this.updateTime('add', amount, type, toSelected);\n };\n };\n\n updateTime(op: string, amount: string, type: string, toSelected: boolean) {\n var update = {},\n date = toSelected ? 'selectedDate' : 'viewDate';\n\n // @ts-ignore\n update[date] = this.state[date].clone()[op](amount, type);\n\n this.setState(update);\n }\n\n allowedSetTime = ['hours', 'minutes', 'seconds', 'milliseconds'];\n\n setTime = (type: AllowedSetTime, value: any) => {\n var index = this.allowedSetTime.indexOf(type) + 1,\n state = this.state,\n date = (state.selectedDate || state.viewDate).clone(),\n nextType;\n\n // It is needed to set all the time properties\n // to not to reset the time\n date[type](value);\n for (; index < this.allowedSetTime.length; index++) {\n nextType = this.allowedSetTime[index] as AllowedSetTime;\n date[nextType](date[nextType]());\n }\n\n if (!this.props.value) {\n this.setState({\n selectedDate: date,\n inputValue: date.format(state.inputFormat as string)\n });\n }\n this.props.onChange && this.props.onChange(date);\n };\n\n setDate = (type: 'month' | 'year' | 'quarters') => {\n // todo 没看懂这个是啥意思,好像没啥用\n const currentShould =\n this.props.viewMode === 'months' &&\n !/^mm$/i.test((this.props.inputFormat as string) || '');\n const nextViews = {\n month: currentShould ? 'months' : 'days',\n year: currentShould ? 'months' : 'days',\n quarters: ''\n };\n\n if ((this.props.viewMode as any) === 'quarters') {\n nextViews.year = 'quarters';\n }\n\n return (e: any) => {\n this.setState({\n viewDate: (\n this.state.viewDate\n .clone()\n [type](\n parseInt(e.target.closest('td').getAttribute('data-value'), 10)\n ) as moment.Moment\n ).startOf(type),\n currentView: nextViews[type]\n });\n };\n };\n\n updateSelectedDate = (e: React.MouseEvent, close?: boolean) => {\n const that: any = this;\n let target = e.currentTarget,\n modifier = 0,\n viewDate = this.state.viewDate,\n currentDate = this.state.selectedDate || viewDate,\n date: any;\n\n if (target.className.indexOf('rdtDay') !== -1) {\n if (target.className.indexOf('rdtNew') !== -1) modifier = 1;\n else if (target.className.indexOf('rdtOld') !== -1) modifier = -1;\n\n date = viewDate\n .clone()\n .month(viewDate.month() + modifier)\n .date(parseInt(target.getAttribute('data-value')!, 10));\n } else if (target.className.indexOf('rdtMonth') !== -1) {\n date = viewDate\n .clone()\n .month(parseInt(target.getAttribute('data-value')!, 10))\n .date(currentDate.date());\n } else if (target.className.indexOf('rdtQuarter') !== -1) {\n date = viewDate\n .clone()\n .quarter(parseInt(target.getAttribute('data-value')!, 10))\n .startOf('quarter')\n .date(currentDate.date());\n } else if (target.className.indexOf('rdtYear') !== -1) {\n date = viewDate\n .clone()\n .month(currentDate.month())\n .date(currentDate.date())\n .year(parseInt(target.getAttribute('data-value')!, 10));\n }\n\n date\n ?.hours(currentDate.hours())\n .minutes(currentDate.minutes())\n .seconds(currentDate.seconds())\n .milliseconds(currentDate.milliseconds());\n\n if (!this.props.value) {\n var open = !(this.props.closeOnSelect && close);\n if (!open) {\n that.props.onBlur(date);\n }\n\n this.setState({\n selectedDate: date,\n viewDate: date?.clone().startOf('month'),\n inputValue: date?.format(this.state.inputFormat),\n open: open\n });\n } else {\n this.setState({\n selectedDate: date,\n viewDate: date?.clone().startOf('month'),\n inputValue: date?.format(this.state.inputFormat)\n });\n if (this.props.closeOnSelect && close) {\n that.closeCalendar();\n }\n }\n\n that.props.onChange(date);\n };\n\n getDateBoundary = (currentDate: moment.Moment) => {\n const {years, months} = currentDate.toObject();\n const maxDateObject = this.props.maxDate?.toObject();\n const minDateObject = this.props.minDate?.toObject();\n\n const yearBoundary = {\n max: maxDateObject ? maxDateObject.years : years + 100,\n min: minDateObject ? minDateObject.years : years - 100\n };\n const monthBoundary = {\n max: years === maxDateObject?.years ? maxDateObject.months : 11,\n min: years === minDateObject?.years ? minDateObject.months : 0\n };\n const dateBoundary = {\n max:\n years === maxDateObject?.years && months === maxDateObject?.months\n ? maxDateObject.date\n : currentDate.daysInMonth(),\n min:\n years === minDateObject?.years && months === minDateObject?.months\n ? minDateObject.date\n : 1\n };\n return {\n year: yearBoundary,\n month: monthBoundary,\n date: dateBoundary,\n hours: {max: 23, min: 0},\n minutes: {max: 59, min: 0},\n seconds: {max: 59, min: 0}\n };\n };\n\n timeCell = (value: number, type: DateType) => {\n let str = value + '';\n while (str.length < this.timeCellLength[type]) str = '0' + str;\n return str;\n };\n\n getColumns = (types: DateType[], dateBoundary: DateBoundary) => {\n const columns: {options: PickerOption[]}[] = [];\n types.map((type: DateType) => {\n const options = getRange(\n dateBoundary[type].min,\n dateBoundary[type].max,\n 1\n ).map(item => {\n return {\n text:\n type === 'month'\n ? this.timeCell(item + 1, type)\n : this.timeCell(item, type),\n value: item\n };\n });\n columns.push({options});\n });\n return columns;\n };\n\n onConfirm = (value: number[], types: string[]) => {\n const currentDate = (\n this.state.selectedDate ||\n this.state.viewDate ||\n moment()\n ).clone();\n const date = convertArrayValueToMoment(value, types, currentDate);\n\n if (!this.props.value) {\n this.setState({\n selectedDate: date,\n inputValue: date!.format(this.state.inputFormat as string)\n });\n }\n this.props.onChange && this.props.onChange(date);\n this.props.onClose && this.props.onClose();\n };\n\n render() {\n const Component = CustomCalendarContainer as any;\n const viewProps = this.getComponentProps();\n\n if (this.props.viewMode === 'quarters') {\n [viewProps.updateOn, viewProps.renderQuarter] = [\n 'quarters',\n this.props.renderQuarter\n ];\n } else if (this.props.viewMode === 'years') {\n viewProps.updateOn = 'years';\n } else if (this.props.viewMode === 'months') {\n viewProps.updateOn = 'months';\n }\n\n viewProps.onConfirm = this.onConfirm;\n viewProps.getDateBoundary = this.getDateBoundary;\n viewProps.getColumns = this.getColumns;\n viewProps.timeCell = this.timeCell;\n\n return (\n <div className={cx('rdt rdtStatic rdtOpen', this.props.className)}>\n <div key=\"dt\" className=\"rdtPicker\">\n <Component view={this.state.currentView} viewProps={viewProps} />\n </div>\n </div>\n );\n }\n}\n\nconst Calendar: any = themeable(BaseDatePicker as any);\nexport default Calendar as React.ComponentType<BaseDatePickerProps>;\n"
12
12
  ]
13
13
  }
@@ -53,9 +53,6 @@ var CustomYearsView = /** @class */ (function (_super) {
53
53
  currentYear = this.props.viewDate
54
54
  .clone()
55
55
  .set({ year: year, month: irrelevantMonth, date: irrelevantDate });
56
- // Not sure what 'rdtOld' is for, commenting out for now as it's not working properly
57
- // if ( i === -1 | i === 10 )
58
- // classes += ' rdtOld';
59
56
  noOfDaysInYear = parseInt(currentYear.endOf('year').format('DDD'), 10);
60
57
  daysInYear = Array.from({ length: noOfDaysInYear }, function (e, i) {
61
58
  return i + 1;
@@ -69,6 +66,9 @@ var CustomYearsView = /** @class */ (function (_super) {
69
66
  classes += ' rdtDisabled';
70
67
  if (selectedDate && selectedDate.year() === year)
71
68
  classes += ' rdtActive';
69
+ // 第一个和最后一个置灰
70
+ if (i === -1 || i === 10)
71
+ classes += ' text-muted';
72
72
  props = {
73
73
  'key': year,
74
74
  'data-value': year,
@@ -6,8 +6,8 @@
6
6
  "/src/components/calendar/YearsView.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import moment from 'moment';\nimport React from 'react';\nimport {LocaleProps, localeable} from '../../locale';\nimport Picker from '../Picker';\nimport {getRange, isMobile} from '../../utils/helper';\n\ninterface CustomYearsViewProps extends LocaleProps {\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n subtractTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n addTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n showView: (view: string) => () => void;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n onChange?: () => void;\n onClose?: () => void;\n onConfirm?: (value: number[], types: string[]) => void;\n useMobileUI: boolean;\n updateOn?: string;\n setDate?: (date: string) => void;\n renderYear?: (props: any, year: number) => JSX.Element;\n updateSelectedDate: (event: React.MouseEvent<any>, close?: boolean) => void;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n}\n\nexport class CustomYearsView extends React.Component<CustomYearsViewProps> {\n state: {pickerValue: number[]};\n\n constructor(props: any) {\n super(props);\n\n const {selectedDate, viewDate} = props;\n const currentDate = selectedDate || viewDate || moment();\n\n this.state = {\n pickerValue: currentDate.toObject().years\n };\n\n this.updateSelectedYear = this.updateSelectedYear.bind(this);\n }\n\n renderYears(year: number) {\n let years = [],\n i = -1,\n rows = [],\n renderer = this.props.renderYear || this.renderYear,\n selectedDate = this.props.selectedDate,\n isValid = this.props.isValidDate || this.alwaysValidDate,\n classes,\n props,\n currentYear: moment.Moment,\n isDisabled,\n noOfDaysInYear,\n daysInYear,\n validDay,\n // Month and date are irrelevant here because\n // we're only interested in the year\n irrelevantMonth = 0,\n irrelevantDate = 1;\n year--;\n while (i < 11) {\n classes = 'rdtYear';\n currentYear = this.props.viewDate\n .clone()\n .set({year: year, month: irrelevantMonth, date: irrelevantDate});\n\n // Not sure what 'rdtOld' is for, commenting out for now as it's not working properly\n // if ( i === -1 | i === 10 )\n // classes += ' rdtOld';\n\n noOfDaysInYear = parseInt(currentYear.endOf('year').format('DDD'), 10);\n daysInYear = Array.from({length: noOfDaysInYear}, function (e, i) {\n return i + 1;\n });\n\n validDay = daysInYear.find(function (d) {\n var day = currentYear.clone().dayOfYear(d);\n return isValid(day);\n });\n\n isDisabled = validDay === undefined;\n\n if (isDisabled) classes += ' rdtDisabled';\n\n if (selectedDate && selectedDate.year() === year) classes += ' rdtActive';\n\n props = {\n 'key': year,\n 'data-value': year,\n 'className': classes\n };\n\n if (!isDisabled)\n (props as any).onClick =\n this.props.updateOn === 'years'\n ? this.updateSelectedYear\n : this.props.setDate && this.props.setDate('year');\n\n years.push(renderer(props, year, selectedDate && selectedDate.clone()));\n\n if (years.length === 4) {\n rows.push(React.createElement('tr', {key: i}, years));\n years = [];\n }\n\n year++;\n i++;\n }\n\n return rows;\n }\n\n updateSelectedYear(event: any) {\n this.props.updateSelectedDate(event);\n }\n\n renderYear = (props: any, year: number, date?: moment.Moment) => {\n return (\n <td {...props}>\n <span>{year}</span>\n </td>\n );\n };\n\n onConfirm = (value: number[]) => {\n this.props.onConfirm && this.props.onConfirm(value, ['year']);\n };\n\n onPickerChange = (value: number[]) => {\n this.setState({pickerValue: value[0]});\n };\n\n renderYearPicker = () => {\n const {\n translate: __,\n minDate,\n maxDate,\n selectedDate,\n viewDate\n } = this.props;\n const year = (selectedDate || viewDate || moment()).year();\n const maxYear = maxDate ? maxDate.toObject().years : year + 100;\n const minYear = minDate ? minDate.toObject().years : year - 100;\n const title = __('Date.titleYear');\n\n const columns = [\n {\n options: getRange(minYear, maxYear, 1)\n }\n ];\n\n return (\n <Picker\n translate={this.props.translate}\n locale={this.props.locale}\n title={title}\n columns={columns}\n value={this.state.pickerValue}\n onConfirm={this.onConfirm}\n onChange={this.onPickerChange}\n onClose={this.props.onClose}\n />\n );\n };\n\n alwaysValidDate() {\n return true;\n }\n\n render() {\n let year = this.props.viewDate.year();\n year = year - (year % 10);\n const __ = this.props.translate;\n if (isMobile() && this.props.useMobileUI) {\n return <div className=\"rdtYears\">{this.renderYearPicker()}</div>;\n }\n return (\n <div className=\"rdtYears\">\n <table>\n <thead>\n <tr>\n <th\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(10, 'years')}\n >\n &laquo;\n </th>\n <th className=\"rdtSwitch\">\n {__('year-to-year', {from: year, to: year + 9})}\n </th>\n <th className=\"rdtNext\" onClick={this.props.addTime(10, 'years')}>\n &raquo;\n </th>\n </tr>\n </thead>\n </table>\n <table>\n <tbody>{this.renderYears(year)}</tbody>\n </table>\n </div>\n );\n }\n}\n\nexport default localeable(CustomYearsView as any);\n"
11
+ "import moment from 'moment';\nimport React from 'react';\nimport {LocaleProps, localeable} from '../../locale';\nimport Picker from '../Picker';\nimport {getRange, isMobile} from '../../utils/helper';\n\ninterface CustomYearsViewProps extends LocaleProps {\n viewDate: moment.Moment;\n selectedDate: moment.Moment;\n subtractTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n addTime: (\n amount: number,\n type: string,\n toSelected?: moment.Moment\n ) => () => void;\n showView: (view: string) => () => void;\n minDate?: moment.Moment;\n maxDate?: moment.Moment;\n onChange?: () => void;\n onClose?: () => void;\n onConfirm?: (value: number[], types: string[]) => void;\n useMobileUI: boolean;\n updateOn?: string;\n setDate?: (date: string) => void;\n renderYear?: (props: any, year: number) => JSX.Element;\n updateSelectedDate: (event: React.MouseEvent<any>, close?: boolean) => void;\n isValidDate?: (\n currentDate: moment.Moment,\n selected?: moment.Moment\n ) => boolean;\n}\n\nexport class CustomYearsView extends React.Component<CustomYearsViewProps> {\n state: {pickerValue: number[]};\n\n constructor(props: any) {\n super(props);\n\n const {selectedDate, viewDate} = props;\n const currentDate = selectedDate || viewDate || moment();\n\n this.state = {\n pickerValue: currentDate.toObject().years\n };\n\n this.updateSelectedYear = this.updateSelectedYear.bind(this);\n }\n\n renderYears(year: number) {\n let years = [],\n i = -1,\n rows = [],\n renderer = this.props.renderYear || this.renderYear,\n selectedDate = this.props.selectedDate,\n isValid = this.props.isValidDate || this.alwaysValidDate,\n classes,\n props,\n currentYear: moment.Moment,\n isDisabled,\n noOfDaysInYear,\n daysInYear,\n validDay,\n // Month and date are irrelevant here because\n // we're only interested in the year\n irrelevantMonth = 0,\n irrelevantDate = 1;\n year--;\n while (i < 11) {\n classes = 'rdtYear';\n currentYear = this.props.viewDate\n .clone()\n .set({year: year, month: irrelevantMonth, date: irrelevantDate});\n\n noOfDaysInYear = parseInt(currentYear.endOf('year').format('DDD'), 10);\n daysInYear = Array.from({length: noOfDaysInYear}, function (e, i) {\n return i + 1;\n });\n\n validDay = daysInYear.find(function (d) {\n var day = currentYear.clone().dayOfYear(d);\n return isValid(day);\n });\n\n isDisabled = validDay === undefined;\n\n if (isDisabled) classes += ' rdtDisabled';\n\n if (selectedDate && selectedDate.year() === year) classes += ' rdtActive';\n\n // 第一个和最后一个置灰\n if (i === -1 || i === 10) classes += ' text-muted';\n\n props = {\n 'key': year,\n 'data-value': year,\n 'className': classes\n };\n\n if (!isDisabled)\n (props as any).onClick =\n this.props.updateOn === 'years'\n ? this.updateSelectedYear\n : this.props.setDate && this.props.setDate('year');\n\n years.push(renderer(props, year, selectedDate && selectedDate.clone()));\n\n if (years.length === 4) {\n rows.push(React.createElement('tr', {key: i}, years));\n years = [];\n }\n\n year++;\n i++;\n }\n\n return rows;\n }\n\n updateSelectedYear(event: any) {\n this.props.updateSelectedDate(event);\n }\n\n renderYear = (props: any, year: number, date?: moment.Moment) => {\n return (\n <td {...props}>\n <span>{year}</span>\n </td>\n );\n };\n\n onConfirm = (value: number[]) => {\n this.props.onConfirm && this.props.onConfirm(value, ['year']);\n };\n\n onPickerChange = (value: number[]) => {\n this.setState({pickerValue: value[0]});\n };\n\n renderYearPicker = () => {\n const {\n translate: __,\n minDate,\n maxDate,\n selectedDate,\n viewDate\n } = this.props;\n const year = (selectedDate || viewDate || moment()).year();\n const maxYear = maxDate ? maxDate.toObject().years : year + 100;\n const minYear = minDate ? minDate.toObject().years : year - 100;\n const title = __('Date.titleYear');\n\n const columns = [\n {\n options: getRange(minYear, maxYear, 1)\n }\n ];\n\n return (\n <Picker\n translate={this.props.translate}\n locale={this.props.locale}\n title={title}\n columns={columns}\n value={this.state.pickerValue}\n onConfirm={this.onConfirm}\n onChange={this.onPickerChange}\n onClose={this.props.onClose}\n />\n );\n };\n\n alwaysValidDate() {\n return true;\n }\n\n render() {\n let year = this.props.viewDate.year();\n year = year - (year % 10);\n const __ = this.props.translate;\n if (isMobile() && this.props.useMobileUI) {\n return <div className=\"rdtYears\">{this.renderYearPicker()}</div>;\n }\n return (\n <div className=\"rdtYears\">\n <table>\n <thead>\n <tr>\n <th\n className=\"rdtPrev\"\n onClick={this.props.subtractTime(10, 'years')}\n >\n &laquo;\n </th>\n <th className=\"rdtSwitch\">\n {__('year-to-year', {from: year, to: year + 9})}\n </th>\n <th className=\"rdtNext\" onClick={this.props.addTime(10, 'years')}>\n &raquo;\n </th>\n </tr>\n </thead>\n </table>\n <table>\n <tbody>{this.renderYears(year)}</tbody>\n </table>\n </div>\n );\n }\n}\n\nexport default localeable(CustomYearsView as any);\n"
12
12
  ]
13
13
  }
@@ -74,7 +74,9 @@ export declare class FormulaEditor extends React.Component<FormulaEditorProps, F
74
74
  [propName: string]: any;
75
75
  }>): FuncGroup[];
76
76
  static defaultProps: Pick<FormulaEditorProps, 'functions' | 'variables' | 'evalMode'>;
77
- static highlightValue(value: string, variables: Array<VariableItem>, functions: Array<FuncGroup>): string;
77
+ static highlightValue(value: string, variables: Array<VariableItem>, functions: Array<FuncGroup>): {
78
+ html: string;
79
+ } | undefined;
78
80
  componentWillUnmount(): void;
79
81
  handleFocus(): void;
80
82
  handleBlur(): void;
@@ -42,8 +42,26 @@ var FormulaEditor = /** @class */ (function (_super) {
42
42
  return funcs;
43
43
  };
44
44
  FormulaEditor.highlightValue = function (value, variables, functions) {
45
- // todo 高亮原始文本
46
- return value;
45
+ if (!Array.isArray(variables) || !variables.length || !value) {
46
+ return;
47
+ }
48
+ var varMap = {};
49
+ (0, helper_1.eachTree)(variables, function (item) { return item.value && (varMap[item.value] = item.label); });
50
+ var vars = Object.keys(varMap).sort(function (a, b) { return b.length - a.length; });
51
+ var content = value || '';
52
+ // 标记方法调用
53
+ content = content.replace(/([A-Z]+)\s*\(/g, function (_, func, pos) {
54
+ return _ === null || _ === void 0 ? void 0 : _.replace(func, "<span class=\"c-func\">".concat(func, "</span>"));
55
+ });
56
+ vars.forEach(function (v) {
57
+ var from = 0;
58
+ var idx = -1;
59
+ while (~(idx = content.indexOf(v, from))) {
60
+ content = content.replace(v, "<span class=\"c-field\">".concat(varMap[v], "</span>"));
61
+ from = idx + v.length;
62
+ }
63
+ });
64
+ return { html: content };
47
65
  };
48
66
  FormulaEditor.prototype.componentWillUnmount = function () {
49
67
  var _a;
@@ -6,8 +6,8 @@
6
6
  "/src/components/formula/Editor.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": "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",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "/**\n * @file 公式编辑器\n */\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport {parse} from 'amis-formula';\nimport {doc} from 'amis-formula/dist/doc';\n\nimport {FormulaPlugin, editorFactory} from './plugin';\nimport FuncList from './FuncList';\nimport {VariableList} from './VariableList';\nimport CodeMirrorEditor from '../CodeMirror';\nimport {autobind} from '../../utils/helper';\nimport {themeable, ThemeProps} from '../../theme';\nimport {localeable, LocaleProps} from '../../locale';\n\nexport interface VariableItem {\n label: string;\n value?: string;\n children?: Array<VariableItem>;\n type: '';\n tag?: string;\n selectMode?: 'tree' | 'tabs';\n}\n\nexport interface FuncGroup {\n groupName: string;\n items: Array<FuncItem>;\n}\n\nexport interface FuncItem {\n name: string;\n [propName: string]: any;\n}\n\nexport interface FormulaEditorProps extends ThemeProps, LocaleProps {\n onChange?: (value: string) => void;\n value: string;\n /**\n * evalMode 即直接就是表达式,否则\n * 需要 ${这里面才是表达式}\n * 默认为 true\n */\n evalMode?: boolean;\n\n /**\n * 用于提示的变量集合,默认为空\n */\n variables: Array<VariableItem>;\n\n /**\n * 变量展现模式,可选值:'tabs' | 'tree'\n */\n variableMode?: 'tabs' | 'tree';\n\n /**\n * 函数集合,默认不需要传,即 amis-formula 里面那个函数\n * 如果有扩充,则需要传。\n */\n functions: Array<FuncGroup>;\n\n /**\n * 顶部标题,默认为表达式\n */\n header: string;\n\n variableClassName?: string;\n\n functionClassName?: string;\n}\n\nexport interface FunctionsProps {\n name: string;\n items: FunctionProps[];\n}\n\nexport interface FunctionProps {\n name: string;\n intro: string;\n usage: string;\n example: string;\n}\n\nexport interface FormulaState {\n focused: boolean;\n}\n\nexport class FormulaEditor extends React.Component<\n FormulaEditorProps,\n FormulaState\n> {\n state: FormulaState = {\n focused: false\n };\n editorPlugin?: FormulaPlugin;\n\n static buildDefaultFunctions(\n doc: Array<{\n namespace: string;\n name: string;\n [propName: string]: any;\n }>\n ) {\n const funcs: Array<FuncGroup> = [];\n\n doc.forEach(item => {\n const namespace = item.namespace || 'Others';\n let exists = funcs.find(item => item.groupName === namespace);\n if (!exists) {\n exists = {\n groupName: namespace,\n items: []\n };\n funcs.push(exists);\n }\n exists.items.push(item);\n });\n\n return funcs;\n }\n\n static defaultProps: Pick<\n FormulaEditorProps,\n 'functions' | 'variables' | 'evalMode'\n > = {\n functions: FormulaEditor.buildDefaultFunctions(doc),\n variables: [],\n evalMode: true\n };\n\n static highlightValue(\n value: string,\n variables: Array<VariableItem>,\n functions: Array<FuncGroup>\n ) {\n // todo 高亮原始文本\n return value;\n }\n\n componentWillUnmount() {\n this.editorPlugin?.dispose();\n }\n\n @autobind\n handleFocus() {\n this.setState({\n focused: true\n });\n }\n\n @autobind\n handleBlur() {\n this.setState({\n focused: false\n });\n }\n\n @autobind\n insertValue(value: any, type: 'variable' | 'func') {\n this.editorPlugin?.insertContent(value, type);\n }\n\n @autobind\n handleEditorMounted(cm: any, editor: any) {\n this.editorPlugin = new FormulaPlugin(editor, cm, () => this.props);\n }\n\n @autobind\n validate() {\n const value = this.props.value;\n\n try {\n value\n ? parse(value, {\n evalMode: this.props.evalMode\n })\n : null;\n } catch (e) {\n return e.message;\n }\n\n return;\n }\n\n @autobind\n handleFunctionSelect(item: FuncItem) {\n this.editorPlugin?.insertContent(`${item.name}`, 'func');\n }\n\n @autobind\n handleVariableSelect(item: VariableItem) {\n this.editorPlugin?.insertContent(\n {\n key: item.value,\n name: item.label\n },\n 'variable'\n );\n }\n\n @autobind\n handleOnChange(value: any) {\n const onChange = this.props.onChange;\n onChange?.(value);\n }\n\n @autobind\n editorFactory(dom: HTMLElement, cm: any) {\n return editorFactory(dom, cm, this.props);\n }\n\n render() {\n const {\n variables,\n header,\n value,\n functions,\n variableMode,\n translate: __,\n classnames: cx,\n variableClassName,\n functionClassName,\n classPrefix\n } = this.props;\n const {focused} = this.state;\n return (\n <div\n className={cx(`FormulaEditor`, {\n 'is-focused': focused\n })}\n >\n <section className={cx(`FormulaEditor-content`)}>\n <header className={cx(`FormulaEditor-header`)}>\n {__(header || 'FormulaEditor.title')}\n </header>\n\n <CodeMirrorEditor\n className={cx('FormulaEditor-editor')}\n value={value}\n onChange={this.handleOnChange}\n editorFactory={this.editorFactory}\n editorDidMount={this.handleEditorMounted}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </section>\n\n <section className={cx('FormulaEditor-settings')}>\n <div className={cx('FormulaEditor-panel')}>\n <div className={cx('FormulaEditor-panel-header')}>\n {__('FormulaEditor.variable')}\n </div>\n <div className={cx('FormulaEditor-panel-body')}>\n <VariableList\n classPrefix={classPrefix}\n className={cx(\n 'FormulaEditor-VariableList',\n 'FormulaEditor-VariableList-root',\n variableClassName\n )}\n selectMode={variableMode}\n data={variables}\n onSelect={this.handleVariableSelect}\n />\n </div>\n </div>\n\n <FuncList\n className={functionClassName}\n title={__('FormulaEditor.function')}\n data={functions}\n onSelect={this.handleFunctionSelect}\n />\n </section>\n </div>\n );\n }\n}\n\nexport default uncontrollable(\n themeable(localeable(FormulaEditor)),\n {\n value: 'onChange'\n },\n ['validate']\n);\n"
11
+ "/**\n * @file 公式编辑器\n */\nimport React from 'react';\nimport {uncontrollable} from 'uncontrollable';\nimport {parse} from 'amis-formula';\nimport {doc} from 'amis-formula/dist/doc';\n\nimport {FormulaPlugin, editorFactory} from './plugin';\nimport FuncList from './FuncList';\nimport {VariableList} from './VariableList';\nimport CodeMirrorEditor from '../CodeMirror';\nimport {autobind, eachTree} from '../../utils/helper';\nimport {themeable, ThemeProps} from '../../theme';\nimport {localeable, LocaleProps} from '../../locale';\n\nexport interface VariableItem {\n label: string;\n value?: string;\n children?: Array<VariableItem>;\n type: '';\n tag?: string;\n selectMode?: 'tree' | 'tabs';\n}\n\nexport interface FuncGroup {\n groupName: string;\n items: Array<FuncItem>;\n}\n\nexport interface FuncItem {\n name: string;\n [propName: string]: any;\n}\n\nexport interface FormulaEditorProps extends ThemeProps, LocaleProps {\n onChange?: (value: string) => void;\n value: string;\n /**\n * evalMode 即直接就是表达式,否则\n * 需要 ${这里面才是表达式}\n * 默认为 true\n */\n evalMode?: boolean;\n\n /**\n * 用于提示的变量集合,默认为空\n */\n variables: Array<VariableItem>;\n\n /**\n * 变量展现模式,可选值:'tabs' | 'tree'\n */\n variableMode?: 'tabs' | 'tree';\n\n /**\n * 函数集合,默认不需要传,即 amis-formula 里面那个函数\n * 如果有扩充,则需要传。\n */\n functions: Array<FuncGroup>;\n\n /**\n * 顶部标题,默认为表达式\n */\n header: string;\n\n variableClassName?: string;\n\n functionClassName?: string;\n}\n\nexport interface FunctionsProps {\n name: string;\n items: FunctionProps[];\n}\n\nexport interface FunctionProps {\n name: string;\n intro: string;\n usage: string;\n example: string;\n}\n\nexport interface FormulaState {\n focused: boolean;\n}\n\nexport class FormulaEditor extends React.Component<\n FormulaEditorProps,\n FormulaState\n> {\n state: FormulaState = {\n focused: false\n };\n editorPlugin?: FormulaPlugin;\n\n static buildDefaultFunctions(\n doc: Array<{\n namespace: string;\n name: string;\n [propName: string]: any;\n }>\n ) {\n const funcs: Array<FuncGroup> = [];\n\n doc.forEach(item => {\n const namespace = item.namespace || 'Others';\n let exists = funcs.find(item => item.groupName === namespace);\n if (!exists) {\n exists = {\n groupName: namespace,\n items: []\n };\n funcs.push(exists);\n }\n exists.items.push(item);\n });\n\n return funcs;\n }\n\n static defaultProps: Pick<\n FormulaEditorProps,\n 'functions' | 'variables' | 'evalMode'\n > = {\n functions: FormulaEditor.buildDefaultFunctions(doc),\n variables: [],\n evalMode: true\n };\n\n static highlightValue(\n value: string,\n variables: Array<VariableItem>,\n functions: Array<FuncGroup>\n ) {\n if (!Array.isArray(variables) || !variables.length || !value) {\n return;\n }\n\n const varMap: {\n [propname: string]: string;\n } = {};\n\n eachTree(\n variables,\n item => item.value && (varMap[item.value] = item.label)\n );\n const vars = Object.keys(varMap).sort((a, b) => b.length - a.length);\n let content = value || '';\n\n // 标记方法调用\n content = content.replace(/([A-Z]+)\\s*\\(/g, (_, func, pos) => {\n return _?.replace(func, `<span class=\"c-func\">${func}</span>`);\n });\n\n vars.forEach(v => {\n let from = 0;\n let idx = -1;\n while (~(idx = content.indexOf(v, from))) {\n content = content.replace(\n v,\n `<span class=\"c-field\">${varMap[v]}</span>`\n );\n from = idx + v.length;\n }\n });\n\n return {html: content};\n }\n\n componentWillUnmount() {\n this.editorPlugin?.dispose();\n }\n\n @autobind\n handleFocus() {\n this.setState({\n focused: true\n });\n }\n\n @autobind\n handleBlur() {\n this.setState({\n focused: false\n });\n }\n\n @autobind\n insertValue(value: any, type: 'variable' | 'func') {\n this.editorPlugin?.insertContent(value, type);\n }\n\n @autobind\n handleEditorMounted(cm: any, editor: any) {\n this.editorPlugin = new FormulaPlugin(editor, cm, () => this.props);\n }\n\n @autobind\n validate() {\n const value = this.props.value;\n\n try {\n value\n ? parse(value, {\n evalMode: this.props.evalMode\n })\n : null;\n } catch (e) {\n return e.message;\n }\n\n return;\n }\n\n @autobind\n handleFunctionSelect(item: FuncItem) {\n this.editorPlugin?.insertContent(`${item.name}`, 'func');\n }\n\n @autobind\n handleVariableSelect(item: VariableItem) {\n this.editorPlugin?.insertContent(\n {\n key: item.value,\n name: item.label\n },\n 'variable'\n );\n }\n\n @autobind\n handleOnChange(value: any) {\n const onChange = this.props.onChange;\n onChange?.(value);\n }\n\n @autobind\n editorFactory(dom: HTMLElement, cm: any) {\n return editorFactory(dom, cm, this.props);\n }\n\n render() {\n const {\n variables,\n header,\n value,\n functions,\n variableMode,\n translate: __,\n classnames: cx,\n variableClassName,\n functionClassName,\n classPrefix\n } = this.props;\n const {focused} = this.state;\n return (\n <div\n className={cx(`FormulaEditor`, {\n 'is-focused': focused\n })}\n >\n <section className={cx(`FormulaEditor-content`)}>\n <header className={cx(`FormulaEditor-header`)}>\n {__(header || 'FormulaEditor.title')}\n </header>\n\n <CodeMirrorEditor\n className={cx('FormulaEditor-editor')}\n value={value}\n onChange={this.handleOnChange}\n editorFactory={this.editorFactory}\n editorDidMount={this.handleEditorMounted}\n onFocus={this.handleFocus}\n onBlur={this.handleBlur}\n />\n </section>\n\n <section className={cx('FormulaEditor-settings')}>\n <div className={cx('FormulaEditor-panel')}>\n <div className={cx('FormulaEditor-panel-header')}>\n {__('FormulaEditor.variable')}\n </div>\n <div className={cx('FormulaEditor-panel-body')}>\n <VariableList\n classPrefix={classPrefix}\n className={cx(\n 'FormulaEditor-VariableList',\n 'FormulaEditor-VariableList-root',\n variableClassName\n )}\n selectMode={variableMode}\n data={variables}\n onSelect={this.handleVariableSelect}\n />\n </div>\n </div>\n\n <FuncList\n className={functionClassName}\n title={__('FormulaEditor.function')}\n data={functions}\n onSelect={this.handleFunctionSelect}\n />\n </section>\n </div>\n );\n }\n}\n\nexport default uncontrollable(\n themeable(localeable(FormulaEditor)),\n {\n value: 'onChange'\n },\n ['validate']\n);\n"
12
12
  ]
13
13
  }
@@ -36,6 +36,10 @@ export interface FormulaPickerProps extends FormulaEditorProps {
36
36
  * 禁用状态
37
37
  */
38
38
  disabled?: boolean;
39
+ /**
40
+ * 是否允许输入,否需要点击fx在弹窗中输入
41
+ */
42
+ allowInput?: boolean;
39
43
  /**
40
44
  * 占位文本
41
45
  */
@@ -55,6 +59,7 @@ export interface FormulaPickerProps extends FormulaEditorProps {
55
59
  }
56
60
  export declare class FormulaPicker extends React.Component<FormulaPickerProps> {
57
61
  handleConfirm(value: any): void;
62
+ renderFormulaValue(item: any): "" | JSX.Element;
58
63
  render(): JSX.Element;
59
64
  }
60
65
  declare const _default: {
@@ -4,10 +4,11 @@ exports.FormulaPicker = void 0;
4
4
  var tslib_1 = require("tslib");
5
5
  var uncontrollable_1 = require("uncontrollable");
6
6
  var react_1 = (0, tslib_1.__importDefault)(require("react"));
7
+ var Editor_1 = require("./Editor");
7
8
  var helper_1 = require("../../utils/helper");
8
9
  var icon_1 = require("../../utils/icon");
9
10
  var PickerContainer_1 = (0, tslib_1.__importDefault)(require("../PickerContainer"));
10
- var Editor_1 = (0, tslib_1.__importDefault)(require("./Editor"));
11
+ var Editor_2 = (0, tslib_1.__importDefault)(require("./Editor"));
11
12
  var ResultBox_1 = (0, tslib_1.__importDefault)(require("../ResultBox"));
12
13
  var Button_1 = (0, tslib_1.__importDefault)(require("../Button"));
13
14
  var icons_1 = require("../icons");
@@ -23,9 +24,17 @@ var FormulaPicker = /** @class */ (function (_super) {
23
24
  var _a, _b;
24
25
  (_b = (_a = this.props).onChange) === null || _b === void 0 ? void 0 : _b.call(_a, value);
25
26
  };
27
+ FormulaPicker.prototype.renderFormulaValue = function (item) {
28
+ var _a = this.props, allowInput = _a.allowInput, cx = _a.classnames;
29
+ var html = { __html: item.html };
30
+ if (allowInput) {
31
+ return '';
32
+ }
33
+ return (react_1.default.createElement("div", { className: cx('FormulaPicker-ResultBox'), dangerouslySetInnerHTML: html }));
34
+ };
26
35
  FormulaPicker.prototype.render = function () {
27
36
  var _this = this;
28
- var _a = this.props, cx = _a.classnames, value = _a.value, __ = _a.translate, disabled = _a.disabled, className = _a.className, onChange = _a.onChange, size = _a.size, borderMode = _a.borderMode, placeholder = _a.placeholder, mode = _a.mode, btnLabel = _a.btnLabel, level = _a.level, btnSize = _a.btnSize, icon = _a.icon, title = _a.title, clearable = _a.clearable, variables = _a.variables, functions = _a.functions, rest = (0, tslib_1.__rest)(_a, ["classnames", "value", "translate", "disabled", "className", "onChange", "size", "borderMode", "placeholder", "mode", "btnLabel", "level", "btnSize", "icon", "title", "clearable", "variables", "functions"]);
37
+ var _a = this.props, cx = _a.classnames, value = _a.value, __ = _a.translate, disabled = _a.disabled, allowInput = _a.allowInput, className = _a.className, onChange = _a.onChange, size = _a.size, borderMode = _a.borderMode, placeholder = _a.placeholder, mode = _a.mode, btnLabel = _a.btnLabel, level = _a.level, btnSize = _a.btnSize, icon = _a.icon, title = _a.title, clearable = _a.clearable, variables = _a.variables, functions = _a.functions, rest = (0, tslib_1.__rest)(_a, ["classnames", "value", "translate", "disabled", "allowInput", "className", "onChange", "size", "borderMode", "placeholder", "mode", "btnLabel", "level", "btnSize", "icon", "title", "clearable", "variables", "functions"]);
29
38
  if ((0, tpl_builtin_1.isPureVariable)(variables)) {
30
39
  // 如果 variables 是 ${xxx} 这种形式,将其处理成实际的值
31
40
  variables = (0, tpl_builtin_1.resolveVariableAndFilter)(variables, this.props.data, '| raw');
@@ -37,7 +46,7 @@ var FormulaPicker = /** @class */ (function (_super) {
37
46
  var iconElement = (0, icon_1.generateIcon)(cx, icon, 'Icon');
38
47
  return (react_1.default.createElement(PickerContainer_1.default, { title: __(title || 'FormulaEditor.title'), headerClassName: "font-bold", bodyRender: function (_a) {
39
48
  var onClose = _a.onClose, value = _a.value, onChange = _a.onChange;
40
- return (react_1.default.createElement(Editor_1.default, (0, tslib_1.__assign)({}, rest, { variables: variables, functions: functions, value: value, onChange: onChange })));
49
+ return (react_1.default.createElement(Editor_2.default, (0, tslib_1.__assign)({}, rest, { variables: variables, functions: functions, value: value, onChange: onChange })));
41
50
  }, value: value, onConfirm: this.handleConfirm, size: 'md' }, function (_a) {
42
51
  var _b, _c, _d;
43
52
  var _e, _f;
@@ -51,7 +60,7 @@ var FormulaPicker = /** @class */ (function (_super) {
51
60
  _c['is-filled'] = !!value,
52
61
  _c)) })),
53
62
  react_1.default.createElement("span", { className: cx('FormulaPicker-label') }, __(btnLabel || 'FormulaEditor.btnLabel')))) : (react_1.default.createElement(react_1.default.Fragment, null,
54
- react_1.default.createElement(ResultBox_1.default, { className: cx('FormulaPicker-input', isOpened ? 'is-active' : ''), allowInput: true, clearable: clearable, value: value, onResultChange: helper_1.noop, onChange: _this.handleConfirm, disabled: disabled, borderMode: borderMode, placeholder: placeholder }),
63
+ react_1.default.createElement(ResultBox_1.default, { className: cx('FormulaPicker-input', isOpened ? 'is-active' : ''), allowInput: allowInput, clearable: clearable, value: value, result: Editor_1.FormulaEditor.highlightValue(value, variables, functions), itemRender: _this.renderFormulaValue, onResultChange: helper_1.noop, onChange: _this.handleConfirm, disabled: disabled, borderMode: borderMode, placeholder: placeholder }),
55
64
  react_1.default.createElement(Button_1.default, { className: cx('FormulaPicker-action'), onClick: onClick },
56
65
  react_1.default.createElement(icons_1.Icon, { icon: "function", className: cx('FormulaPicker-icon', 'icon', (_d = {},
57
66
  _d['is-filled'] = !!value,
@@ -64,6 +73,12 @@ var FormulaPicker = /** @class */ (function (_super) {
64
73
  (0, tslib_1.__metadata)("design:paramtypes", [Object]),
65
74
  (0, tslib_1.__metadata)("design:returntype", void 0)
66
75
  ], FormulaPicker.prototype, "handleConfirm", null);
76
+ (0, tslib_1.__decorate)([
77
+ helper_1.autobind,
78
+ (0, tslib_1.__metadata)("design:type", Function),
79
+ (0, tslib_1.__metadata)("design:paramtypes", [Object]),
80
+ (0, tslib_1.__metadata)("design:returntype", void 0)
81
+ ], FormulaPicker.prototype, "renderFormulaValue", null);
67
82
  return FormulaPicker;
68
83
  }(react_1.default.Component));
69
84
  exports.FormulaPicker = FormulaPicker;
@@ -6,8 +6,8 @@
6
6
  "/src/components/formula/Picker.tsx"
7
7
  ],
8
8
  "names": [],
9
- "mappings": ";;;;AAAA,iDAA8C;AAC9C,6DAA0B;AAE1B,6CAAkD;AAClD,yCAA8C;AAC9C,oFAAiD;AACjD,iEAA8B;AAC9B,wEAAqC;AACrC,kEAA+B;AAC/B,kCAA8B;AAC9B,qCAAsC;AACtC,uCAAwC;AAGxC,uDAGiC;AA2EjC;IAAmC,8CAAmC;IAAtE;;IA4HA,CAAC;IA1HC,qCAAa,GAAb,UAAc,KAAU;;QACtB,MAAA,MAAA,IAAI,CAAC,KAAK,EAAC,QAAQ,mDAAG,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,8BAAM,GAAN;QAAA,iBAqHC;QApHC,IAAI,KAoBA,IAAI,CAAC,KAAK,EAnBA,EAAE,gBAAA,EACd,KAAK,WAAA,EACM,EAAE,eAAA,EACb,QAAQ,cAAA,EACR,SAAS,eAAA,EACT,QAAQ,cAAA,EACR,IAAI,UAAA,EACJ,UAAU,gBAAA,EACV,WAAW,iBAAA,EACX,IAAI,UAAA,EACJ,QAAQ,cAAA,EACR,KAAK,WAAA,EACL,OAAO,aAAA,EACP,IAAI,UAAA,EACJ,KAAK,WAAA,EACL,SAAS,eAAA,EACT,SAAS,eAAA,EACT,SAAS,eAAA,EACN,IAAI,2BAnBL,8MAoBH,CAAa,CAAC;QACf,IAAI,IAAA,4BAAc,EAAC,SAAS,CAAC,EAAE;YAC7B,uCAAuC;YACvC,SAAS,GAAG,IAAA,sCAAwB,EAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3E;QAED,IAAI,IAAA,4BAAc,EAAC,SAAS,CAAC,EAAE;YAC7B,uCAAuC;YACvC,SAAS,GAAG,IAAA,sCAAwB,EAAC,SAAS,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;SAC3E;QACD,IAAM,WAAW,GAAG,IAAA,mBAAY,EAAC,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;QAEnD,OAAO,CACL,8BAAC,yBAAe,IACd,KAAK,EAAE,EAAE,CAAC,KAAK,IAAI,qBAAqB,CAAC,EACzC,eAAe,EAAC,WAAW,EAC3B,UAAU,EAAE,UAAC,EAA0B;oBAAzB,OAAO,aAAA,EAAE,KAAK,WAAA,EAAE,QAAQ,cAAA;gBACpC,OAAO,CACL,8BAAC,gBAAM,4BACD,IAAI,IACR,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,QAAQ,EAAE,QAAQ,IAClB,CACH,CAAC;YACJ,CAAC,EACD,KAAK,EAAE,KAAK,EACZ,SAAS,EAAE,IAAI,CAAC,aAAa,EAC7B,IAAI,EAAE,IAAI,IAET,UAAC,EAAmB;;;gBAAlB,OAAO,aAAA,EAAE,QAAQ,cAAA;YAAM,OAAA,CACxB,uCAAK,SAAS,EAAE,EAAE,CAAC,eAAe,EAAE,SAAS,CAAC,IAC3C,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,CACnB,8BAAC,gBAAM,IACL,SAAS,EAAE,EAAE,CAAC,sBAAsB,EAAE,QAAQ,CAAC,EAC/C,KAAK,EAAE,KAAK,EACZ,IAAI,EAAE,OAAO,EACb,OAAO,EAAE,OAAO;gBAEf,WAAW,CAAC,CAAC,CAAC,CACb,eAAK,CAAC,YAAY,CAAC,WAAW,EAAE;oBAC9B,SAAS,EAAE,EAAE,CACX,MAAA,MAAA,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,KAAK,0CAAE,SAAS,mCAAI,EAAE,EACnC,oBAAoB;wBAElB,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;4BAEzB;iBACF,CAAC,CACH,CAAC,CAAC,CAAC,CACF,8BAAC,YAAI,IACH,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,MAAM;wBACxC,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;4BACtB,GACF,CACH;gBACD,wCAAM,SAAS,EAAE,EAAE,CAAC,qBAAqB,CAAC,IACvC,EAAE,CAAC,QAAQ,IAAI,wBAAwB,CAAC,CACpC,CACA,CACV,CAAC,CAAC,CAAC,CACF;gBACE,8BAAC,mBAAS,IACR,SAAS,EAAE,EAAE,CACX,qBAAqB,EACrB,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAC5B,EACD,UAAU,QACV,SAAS,EAAE,SAAS,EACpB,KAAK,EAAE,KAAK,EACZ,cAAc,EAAE,aAAI,EACpB,QAAQ,EAAE,KAAI,CAAC,aAAa,EAC5B,QAAQ,EAAE,QAAQ,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,GACxB;gBAEF,8BAAC,gBAAM,IACL,SAAS,EAAE,EAAE,CAAC,sBAAsB,CAAC,EACrC,OAAO,EAAE,OAAO;oBAEhB,8BAAC,YAAI,IACH,IAAI,EAAC,UAAU,EACf,SAAS,EAAE,EAAE,CAAC,oBAAoB,EAAE,MAAM;4BACxC,GAAC,WAAW,IAAG,CAAC,CAAC,KAAK;gCACtB,GACF,CACK,CACR,CACJ,CACG,CACP,CAAA;SAAA,CACe,CACnB,CAAC;IACJ,CAAC;IAzHD;QADC,iBAAQ;;;;sDAGR;IAwHH,oBAAC;CAAA,AA5HD,CAAmC,eAAK,CAAC,SAAS,GA4HjD;AA5HY,sCAAa;AA8H1B,kBAAe,IAAA,iBAAS,EACtB,IAAA,mBAAU,EACR,IAAA,+BAAc,EAAC,aAAa,EAAE;IAC5B,KAAK,EAAE,UAAU;CAClB,CAAC,CACH,CACF,CAAC",
9
+ "mappings": "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",
10
10
  "sourcesContent": [
11
- "import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {FormulaEditor, FormulaEditorProps} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport PickerContainer from '../PickerContainer';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\n\nimport type {SchemaIcon} from '../../Schema';\nimport {\n resolveVariableAndFilter,\n isPureVariable\n} from '../../utils/tpl-builtin';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n}\n\nexport class FormulaPicker extends React.Component<FormulaPickerProps> {\n @autobind\n handleConfirm(value: any) {\n this.props.onChange?.(value);\n }\n\n render() {\n let {\n classnames: cx,\n value,\n translate: __,\n disabled,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n ...rest\n } = this.props;\n if (isPureVariable(variables)) {\n // 如果 variables 是 ${xxx} 这种形式,将其处理成实际的值\n variables = resolveVariableAndFilter(variables, this.props.data, '| raw');\n }\n\n if (isPureVariable(functions)) {\n // 如果 functions 是 ${xxx} 这种形式,将其处理成实际的值\n functions = resolveVariableAndFilter(functions, this.props.data, '| raw');\n }\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <PickerContainer\n title={__(title || 'FormulaEditor.title')}\n headerClassName=\"font-bold\"\n bodyRender={({onClose, value, onChange}) => {\n return (\n <Editor\n {...rest}\n variables={variables}\n functions={functions}\n value={value}\n onChange={onChange}\n />\n );\n }}\n value={value}\n onConfirm={this.handleConfirm}\n size={'md'}\n >\n {({onClick, isOpened}) => (\n <div className={cx('FormulaPicker', className)}>\n {mode === 'button' ? (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={onClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n ) : (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : ''\n )}\n allowInput\n clearable={clearable}\n value={value}\n onResultChange={noop}\n onChange={this.handleConfirm}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={onClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n </div>\n )}\n </PickerContainer>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
11
+ "import {uncontrollable} from 'uncontrollable';\nimport React from 'react';\nimport {FormulaEditor, FormulaEditorProps} from './Editor';\nimport {autobind, noop} from '../../utils/helper';\nimport {generateIcon} from '../../utils/icon';\nimport PickerContainer from '../PickerContainer';\nimport Editor from './Editor';\nimport ResultBox from '../ResultBox';\nimport Button from '../Button';\nimport {Icon} from '../icons';\nimport {themeable} from '../../theme';\nimport {localeable} from '../../locale';\n\nimport type {SchemaIcon} from '../../Schema';\nimport {\n resolveVariableAndFilter,\n isPureVariable\n} from '../../utils/tpl-builtin';\n\nexport interface FormulaPickerProps extends FormulaEditorProps {\n // 新的属性?\n size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'full';\n\n /**\n * 编辑器标题\n */\n title?: string;\n\n /**\n * 按钮图标\n */\n icon?: SchemaIcon;\n\n /**\n * 控件模式\n */\n mode?: 'button' | 'input-button';\n\n /**\n * 边框模式,全边框,还是半边框,或者没边框。\n */\n borderMode?: 'full' | 'half' | 'none';\n\n /**\n * 按钮Label,inputMode为button时生效\n */\n btnLabel?: string;\n\n /**\n * 按钮样式\n */\n level?:\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'link'\n | 'primary'\n | 'dark'\n | 'light';\n\n /**\n * 按钮大小\n */\n btnSize?: 'xs' | 'sm' | 'md' | 'lg';\n\n /**\n * 禁用状态\n */\n disabled?: boolean;\n\n /**\n * 是否允许输入,否需要点击fx在弹窗中输入\n */\n allowInput?: boolean;\n\n /**\n * 占位文本\n */\n placeholder?: string;\n\n /**\n * 可清除\n */\n clearable?: boolean;\n\n /**\n * 支持通过上下文变量配置value\n */\n source?: string;\n\n /**\n * 外层透传的 data,和source配合使用\n */\n data?: any;\n}\n\nexport class FormulaPicker extends React.Component<FormulaPickerProps> {\n @autobind\n handleConfirm(value: any) {\n this.props.onChange?.(value);\n }\n\n @autobind\n renderFormulaValue(item: any) {\n const {allowInput, classnames: cx} = this.props;\n const html = {__html: item.html};\n if (allowInput) {\n return '';\n }\n return (\n <div\n className={cx('FormulaPicker-ResultBox')}\n dangerouslySetInnerHTML={html}\n ></div>\n );\n }\n\n render() {\n let {\n classnames: cx,\n value,\n translate: __,\n disabled,\n allowInput,\n className,\n onChange,\n size,\n borderMode,\n placeholder,\n mode,\n btnLabel,\n level,\n btnSize,\n icon,\n title,\n clearable,\n variables,\n functions,\n ...rest\n } = this.props;\n if (isPureVariable(variables)) {\n // 如果 variables 是 ${xxx} 这种形式,将其处理成实际的值\n variables = resolveVariableAndFilter(variables, this.props.data, '| raw');\n }\n\n if (isPureVariable(functions)) {\n // 如果 functions 是 ${xxx} 这种形式,将其处理成实际的值\n functions = resolveVariableAndFilter(functions, this.props.data, '| raw');\n }\n const iconElement = generateIcon(cx, icon, 'Icon');\n\n return (\n <PickerContainer\n title={__(title || 'FormulaEditor.title')}\n headerClassName=\"font-bold\"\n bodyRender={({onClose, value, onChange}) => {\n return (\n <Editor\n {...rest}\n variables={variables}\n functions={functions}\n value={value}\n onChange={onChange}\n />\n );\n }}\n value={value}\n onConfirm={this.handleConfirm}\n size={'md'}\n >\n {({onClick, isOpened}) => (\n <div className={cx('FormulaPicker', className)}>\n {mode === 'button' ? (\n <Button\n className={cx('FormulaPicker-action', 'w-full')}\n level={level}\n size={btnSize}\n onClick={onClick}\n >\n {iconElement ? (\n React.cloneElement(iconElement, {\n className: cx(\n iconElement?.props?.className ?? '',\n 'FormulaPicker-icon',\n {\n ['is-filled']: !!value\n }\n )\n })\n ) : (\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n )}\n <span className={cx('FormulaPicker-label')}>\n {__(btnLabel || 'FormulaEditor.btnLabel')}\n </span>\n </Button>\n ) : (\n <>\n <ResultBox\n className={cx(\n 'FormulaPicker-input',\n isOpened ? 'is-active' : ''\n )}\n allowInput={allowInput}\n clearable={clearable}\n value={value}\n result={FormulaEditor.highlightValue(\n value,\n variables,\n functions\n )}\n itemRender={this.renderFormulaValue}\n onResultChange={noop}\n onChange={this.handleConfirm}\n disabled={disabled}\n borderMode={borderMode}\n placeholder={placeholder}\n />\n\n <Button\n className={cx('FormulaPicker-action')}\n onClick={onClick}\n >\n <Icon\n icon=\"function\"\n className={cx('FormulaPicker-icon', 'icon', {\n ['is-filled']: !!value\n })}\n />\n </Button>\n </>\n )}\n </div>\n )}\n </PickerContainer>\n );\n }\n}\n\nexport default themeable(\n localeable(\n uncontrollable(FormulaPicker, {\n value: 'onChange'\n })\n )\n);\n"
12
12
  ]
13
13
  }
package/lib/factory.d.ts CHANGED
@@ -81,6 +81,10 @@ export interface RenderOptions {
81
81
  * 过滤 html 标签,可用来添加 xss 保护逻辑
82
82
  */
83
83
  filterHtml?: (input: string) => string;
84
+ /**
85
+ * 是否开启 amis 调试
86
+ */
87
+ enableAMISDebug?: boolean;
84
88
  [propName: string]: any;
85
89
  }
86
90
  export interface fetcherConfig {
package/lib/factory.js CHANGED
@@ -1,4 +1,5 @@
1
1
  "use strict";
2
+ var _a, _b;
2
3
  Object.defineProperty(exports, "__esModule", { value: true });
3
4
  exports.RendererEnv = exports.getRendererByName = exports.getRenderers = exports.resolveRenderer = exports.updateEnv = exports.clearStoresCache = exports.render = exports.loadRenderer = exports.unRegisterRenderer = exports.registerRenderer = exports.Renderer = exports.filterSchema = exports.addSchemaFilter = void 0;
4
5
  var tslib_1 = require("tslib");
@@ -23,6 +24,7 @@ Object.defineProperty(exports, "RendererEnv", { enumerable: true, get: function
23
24
  var envOverwrite_1 = require("./envOverwrite");
24
25
  var renderer_event_1 = require("./utils/renderer-event");
25
26
  var Action_1 = require("./actions/Action");
27
+ var debug_1 = require("./utils/debug");
26
28
  var renderers = [];
27
29
  var rendererNames = [];
28
30
  var schemaFilters = [];
@@ -105,6 +107,7 @@ var defaultOptions = {
105
107
  affixOffsetBottom: 0,
106
108
  richTextToken: '',
107
109
  useMobileUI: true,
110
+ enableAMISDebug: (_b = (_a = window.enableAMISDebug) !== null && _a !== void 0 ? _a : location.search.indexOf('amisDebug=1') !== -1) !== null && _b !== void 0 ? _b : false,
108
111
  loadRenderer: loadRenderer,
109
112
  rendererEventListeners: [],
110
113
  fetcher: function () {
@@ -306,6 +309,9 @@ function render(schema, props, options, pathPrefix) {
306
309
  options = (0, tslib_1.__assign)((0, tslib_1.__assign)((0, tslib_1.__assign)({}, defaultOptions), options), { fetcher: options.fetcher
307
310
  ? (0, api_1.wrapFetcher)(options.fetcher, options.tracker)
308
311
  : defaultOptions.fetcher, confirm: (0, helper_1.promisify)(options.confirm || defaultOptions.confirm || window.confirm), locale: locale, translate: translate });
312
+ if (options.enableAMISDebug) {
313
+ (0, debug_1.enableDebug)();
314
+ }
309
315
  store = index_1.RendererStore.create({}, options);
310
316
  stores[options.session || 'global'] = store;
311
317
  }
@@ -327,14 +333,14 @@ function render(schema, props, options, pathPrefix) {
327
333
  // 进行文本替换
328
334
  if (env.replaceText && (0, helper_1.isObject)(env.replaceText)) {
329
335
  var replaceKeys_1 = Object.keys(env.replaceText);
330
- replaceKeys_1.sort().reverse(); // 避免用户将短的放前面
336
+ replaceKeys_1.sort(function (a, b) { return b.length - a.length; }); // 避免用户将短的放前面
331
337
  var replaceTextIgnoreKeys_1 = new Set(env.replaceTextIgnoreKeys || []);
332
338
  (0, helper_1.JSONTraverse)(schema, function (value, key, object) {
333
339
  if (typeof value === 'string' && !replaceTextIgnoreKeys_1.has(key)) {
334
340
  for (var _i = 0, replaceKeys_2 = replaceKeys_1; _i < replaceKeys_2.length; _i++) {
335
341
  var replaceKey = replaceKeys_2[_i];
336
342
  if (~value.indexOf(replaceKey)) {
337
- object[key] = value.replaceAll(replaceKey, env.replaceText[replaceKey]);
343
+ value = object[key] = value.replaceAll(replaceKey, env.replaceText[replaceKey]);
338
344
  }
339
345
  }
340
346
  }