amis 1.8.0-beta.1 → 1.8.0-beta.5
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.
- package/lib/SchemaRenderer.js +19 -3
- package/lib/SchemaRenderer.js.map +2 -2
- package/lib/WithRootStore.d.ts +18 -0
- package/lib/WithStore.js +2 -1
- package/lib/WithStore.js.map +2 -2
- package/lib/actions/CmptAction.js +14 -3
- package/lib/actions/CmptAction.js.map +2 -2
- package/lib/components/AssociatedSelection.js +9 -2
- package/lib/components/AssociatedSelection.js.map +2 -2
- package/lib/components/BarCode.js +1 -1
- package/lib/components/BarCode.js.map +2 -2
- package/lib/components/Checkbox.d.ts +24 -23
- package/lib/components/Checkbox.js +6 -2
- package/lib/components/Checkbox.js.map +2 -2
- package/lib/components/DatePicker.js +16 -5
- package/lib/components/DatePicker.js.map +2 -2
- package/lib/components/DateRangePicker.d.ts +94 -84
- package/lib/components/DateRangePicker.js +259 -7
- package/lib/components/DateRangePicker.js.map +2 -2
- package/lib/components/MonthRangePicker.d.ts +84 -84
- package/lib/components/Radios.d.ts +22 -22
- package/lib/components/Radios.js +3 -5
- package/lib/components/Radios.js.map +2 -2
- package/lib/components/Range.d.ts +2 -2
- package/lib/components/Range.js +24 -11
- package/lib/components/Range.js.map +2 -2
- package/lib/components/Steps.d.ts +6 -0
- package/lib/components/Steps.js +13 -9
- package/lib/components/Steps.js.map +2 -2
- package/lib/components/calendar/Calendar.js +2 -14
- package/lib/components/calendar/Calendar.js.map +2 -2
- package/lib/components/calendar/YearsView.js +3 -3
- package/lib/components/calendar/YearsView.js.map +2 -2
- package/lib/factory.d.ts +4 -0
- package/lib/factory.js +9 -0
- package/lib/factory.js.map +2 -2
- package/lib/index.js +1 -1
- package/lib/locale/de-DE.js +13 -0
- package/lib/locale/de-DE.js.map +2 -2
- package/lib/locale/en-US.js +13 -0
- package/lib/locale/en-US.js.map +2 -2
- package/lib/locale/zh-CN.js +13 -0
- package/lib/locale/zh-CN.js.map +2 -2
- package/lib/renderers/Action.d.ts +2 -0
- package/lib/renderers/Action.js +23 -5
- package/lib/renderers/Action.js.map +2 -2
- package/lib/renderers/CRUD.d.ts +8 -0
- package/lib/renderers/CRUD.js +11 -4
- package/lib/renderers/CRUD.js.map +2 -2
- package/lib/renderers/Carousel.d.ts +1 -0
- package/lib/renderers/Carousel.js +13 -1
- package/lib/renderers/Carousel.js.map +2 -2
- package/lib/renderers/Form/Checkbox.d.ts +5 -2
- package/lib/renderers/Form/Checkbox.js +2 -2
- package/lib/renderers/Form/Checkbox.js.map +2 -2
- package/lib/renderers/Form/Checkboxes.d.ts +7 -2
- package/lib/renderers/Form/Checkboxes.js +101 -12
- package/lib/renderers/Form/Checkboxes.js.map +2 -2
- package/lib/renderers/Form/Combo.js +3 -2
- package/lib/renderers/Form/Combo.js.map +2 -2
- package/lib/renderers/Form/InputCity.d.ts +3 -0
- package/lib/renderers/Form/InputCity.js +44 -2
- package/lib/renderers/Form/InputCity.js.map +2 -2
- package/lib/renderers/Form/InputDateRange.d.ts +5 -0
- package/lib/renderers/Form/InputDateRange.js.map +2 -2
- package/lib/renderers/Form/InputFile.js +6 -3
- package/lib/renderers/Form/InputFile.js.map +2 -2
- package/lib/renderers/Form/InputImage.js +6 -3
- package/lib/renderers/Form/InputImage.js.map +2 -2
- package/lib/renderers/Form/InputRange.js +13 -14
- package/lib/renderers/Form/InputRange.js.map +2 -2
- package/lib/renderers/Form/Item.d.ts +11 -6
- package/lib/renderers/Form/Item.js +3 -1
- package/lib/renderers/Form/Item.js.map +2 -2
- package/lib/renderers/Form/index.d.ts +1 -0
- package/lib/renderers/Form/index.js +1 -1
- package/lib/renderers/Form/index.js.map +2 -2
- package/lib/renderers/Form/wrapControl.d.ts +9 -0
- package/lib/renderers/Form/wrapControl.js +1 -1
- package/lib/renderers/Form/wrapControl.js.map +2 -2
- package/lib/renderers/Nav.js +2 -2
- package/lib/renderers/Nav.js.map +2 -2
- package/lib/renderers/Steps.d.ts +8 -0
- package/lib/renderers/Steps.js +2 -2
- package/lib/renderers/Steps.js.map +2 -2
- package/lib/renderers/Table/index.d.ts +1 -0
- package/lib/renderers/Table/index.js +10 -5
- package/lib/renderers/Table/index.js.map +2 -2
- package/lib/renderers/Tabs.d.ts +4 -0
- package/lib/renderers/Tabs.js +22 -6
- package/lib/renderers/Tabs.js.map +2 -2
- package/lib/renderers/Wizard.d.ts +6 -3
- package/lib/renderers/Wizard.js +257 -152
- package/lib/renderers/Wizard.js.map +2 -2
- package/lib/store/crud.d.ts +1 -0
- package/lib/store/crud.js +33 -7
- package/lib/store/crud.js.map +2 -2
- package/lib/store/formItem.js +1 -1
- package/lib/store/formItem.js.map +2 -2
- package/lib/store/index.d.ts +5 -0
- package/lib/store/index.js +14 -0
- package/lib/store/index.js.map +2 -2
- package/lib/store/table.js +2 -2
- package/lib/store/table.js.map +2 -2
- package/lib/themes/ang-ie11.css +278 -17
- package/lib/themes/ang.css +286 -17
- package/lib/themes/ang.css.map +1 -1
- package/lib/themes/antd-ie11.css +278 -17
- package/lib/themes/antd.css +286 -17
- package/lib/themes/antd.css.map +1 -1
- package/lib/themes/cxd-ie11.css +278 -17
- package/lib/themes/cxd.css +286 -17
- package/lib/themes/cxd.css.map +1 -1
- package/lib/themes/dark-ie11.css +278 -17
- package/lib/themes/dark.css +286 -17
- package/lib/themes/dark.css.map +1 -1
- package/lib/themes/default-ie11.css +278 -17
- package/lib/themes/default.css +286 -17
- package/lib/themes/default.css.map +1 -1
- package/lib/types.d.ts +1 -1
- package/lib/types.js.map +1 -1
- package/lib/utils/columnsSplit.d.ts +1 -0
- package/lib/utils/columnsSplit.js +40 -0
- package/lib/utils/columnsSplit.js.map +13 -0
- package/lib/utils/debug.d.ts +1 -1
- package/lib/utils/debug.js +16 -22
- package/lib/utils/debug.js.map +2 -2
- package/package.json +1 -1
- package/schema.json +237 -29
- package/scss/_properties.scss +10 -1
- package/scss/components/_barcode.scss +1 -1
- package/scss/components/_carousel.scss +1 -0
- package/scss/components/_debug.scss +3 -3
- package/scss/components/_steps.scss +199 -8
- package/scss/components/form/_checks.scss +122 -1
- package/scss/components/form/_date.scss +2 -1
- package/scss/components/form/_editor.scss +2 -1
- package/scss/components/form/_form.scss +16 -0
- package/sdk/ang-ie11.css +335 -18
- package/sdk/ang.css +343 -18
- package/sdk/antd-ie11.css +335 -18
- package/sdk/antd.css +343 -18
- package/sdk/barcode.js +51 -51
- package/sdk/charts.js +14 -14
- package/sdk/codemirror.js +7 -7
- package/sdk/color-picker.js +65 -65
- package/sdk/cropperjs.js +2 -2
- package/sdk/cxd-ie11.css +335 -18
- package/sdk/cxd.css +343 -18
- package/sdk/dark-ie11.css +335 -18
- package/sdk/dark.css +343 -18
- package/sdk/exceljs.js +1 -1
- package/sdk/locale/de-DE.js +13 -0
- package/sdk/markdown.js +69 -69
- package/sdk/papaparse.js +1 -1
- package/sdk/renderers/Form/CityDB.js +1 -1
- package/sdk/rest.js +17 -17
- package/sdk/rich-text.js +62 -62
- package/sdk/sdk-ie11.css +335 -18
- package/sdk/sdk.css +343 -18
- package/sdk/sdk.js +1289 -1287
- package/sdk/thirds/hls.js/hls.js +1 -1
- package/sdk/thirds/mpegts.js/mpegts.js +1 -1
- package/sdk/tinymce.js +57 -57
- package/src/SchemaRenderer.tsx +32 -14
- package/src/WithStore.tsx +3 -1
- package/src/actions/CmptAction.ts +18 -0
- package/src/components/AssociatedSelection.tsx +9 -3
- package/src/components/BarCode.tsx +2 -2
- package/src/components/Checkbox.tsx +11 -5
- package/src/components/DatePicker.tsx +21 -4
- package/src/components/DateRangePicker.tsx +295 -6
- package/src/components/Radios.tsx +6 -17
- package/src/components/Range.tsx +26 -12
- package/src/components/Steps.tsx +28 -27
- package/src/components/calendar/Calendar.tsx +2 -15
- package/src/components/calendar/YearsView.tsx +3 -4
- package/src/factory.tsx +16 -0
- package/src/locale/de-DE.ts +13 -0
- package/src/locale/en-US.ts +13 -0
- package/src/locale/zh-CN.ts +13 -0
- package/src/renderers/Action.tsx +22 -1
- package/src/renderers/CRUD.tsx +22 -4
- package/src/renderers/Carousel.tsx +8 -0
- package/src/renderers/Form/Checkbox.tsx +11 -2
- package/src/renderers/Form/Checkboxes.tsx +106 -23
- package/src/renderers/Form/Combo.tsx +2 -3
- package/src/renderers/Form/InputCity.tsx +33 -4
- package/src/renderers/Form/InputDateRange.tsx +8 -1
- package/src/renderers/Form/InputFile.tsx +7 -3
- package/src/renderers/Form/InputImage.tsx +7 -3
- package/src/renderers/Form/InputRange.tsx +18 -16
- package/src/renderers/Form/Item.tsx +1 -0
- package/src/renderers/Form/index.tsx +2 -1
- package/src/renderers/Form/wrapControl.tsx +1 -1
- package/src/renderers/Nav.tsx +1 -1
- package/src/renderers/Steps.tsx +14 -0
- package/src/renderers/Table/index.tsx +15 -4
- package/src/renderers/Tabs.tsx +75 -28
- package/src/renderers/Wizard.tsx +154 -93
- package/src/store/crud.ts +40 -5
- package/src/store/formItem.ts +1 -2
- package/src/store/index.ts +20 -0
- package/src/store/table.ts +2 -2
- package/src/types.ts +3 -1
- package/src/utils/columnsSplit.tsx +57 -0
- package/src/utils/debug.tsx +17 -24
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Carousel.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;;AAAA,6DAA0B;AAC1B,2FAI2C;AAC3C,sCAAmD;AAEnD,0CAMyB;AACzB,6CAAyC;AAEzC,yEAAsC;AACtC,0EAAuC;AAwEvC,IAAM,eAAe;IAGnB,GAAC,qBAAQ,IAAG,IAAI;IAChB,GAAC,oBAAO,IAAG,IAAI;IACf,GAAC,oBAAO,IAAG,KAAK;OACjB,CAAC;AAcF,IAAM,aAAa,GAAG;IACpB,SAAS,EAAE,UAAC,KAAU;;QACpB,IAAM,IAAI,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAM,SAAS,GAAG,KAAK,CAAC,SAAS,CAAC;QAClC,IAAM,EAAE,GAAG,KAAK,CAAC,UAAU,CAAC;QAE5B,OAAO,CACL,8DACG,IAAI,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAC9B,8BAAC,eAAK,IACJ,GAAG,EAAE,IAAI,CAAC,KAAK,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,IAAI,EAAE,IAAI,CAAC,IAAI,EACf,KAAK,EAAE,IAAI,CAAC,KAAK,EACjB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,YAAY,EAAE,IAAI,CAAC,WAAW,EAC9B,SAAS,EAAE,MAAA,MAAA,IAAI,CAAC,SAAS,mCAAI,SAAS,mCAAI,SAAS,EACnD,SAAS,EAAC,UAAU,EACpB,SAAS,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAC/B,CACH,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChC,8BAAC,cAAI,IAAC,IAAI,EAAE,IAAI,CAAC,IAAI,GAAI,CAC1B,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAChC,4CAAO,IAAI,CAAC,IAAI,CAAQ,CACzB,CAAC,CAAC,CAAC,CACF,wCAAO,CACR,CACA,CACJ,CAAC;IACJ,CAAC;CACF,CAAC;AAEF;IAA8B,yCAA6C;IAA3E;QAAA,
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {Renderer, RendererProps} from '../factory';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {\n autobind,\n createObject,\n isObject,\n isArrayChildrenModified,\n getPropValue\n} from '../utils/helper';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaCollection, SchemaName, SchemaTpl} from '../Schema';\nimport Html from '../components/Html';\nimport Image from '../renderers/Image';\n\n/**\n * Carousel 轮播图渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/carousel\n */\nexport interface CarouselSchema extends BaseSchema {\n /**\n * 指定为轮播图类型\n */\n type: 'carousel';\n\n /**\n * 是否自动播放\n */\n auto?: boolean;\n\n /**\n * 轮播间隔时间\n */\n interval?: number;\n\n /**\n * 动画时长\n */\n duration?: number;\n\n /**\n * 设置宽度\n */\n width?: number;\n\n /**\n * 设置高度\n */\n height?: number;\n\n controlsTheme?: 'light' | 'dark';\n\n /**\n * 占位\n */\n placeholder?: string;\n\n /**\n * 配置控件内容\n */\n controls?: Array<'dots' | 'arrows'>;\n\n /**\n * 动画类型\n */\n animation?: 'fade' | 'slide';\n\n /**\n * 配置单条呈现模板\n */\n itemSchema?: SchemaCollection;\n\n name?: SchemaName;\n\n /**\n * 预览图模式\n */\n thumbMode?: 'contain' | 'cover';\n\n /**\n * 配置固定值\n */\n options?: Array<any>;\n}\n\nconst animationStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nexport interface CarouselProps\n extends RendererProps,\n Omit<CarouselSchema, 'className'> {\n value?: any;\n}\n\nexport interface CarouselState {\n current: number;\n options: any[];\n nextAnimation: string;\n}\n\nconst defaultSchema = {\n component: (props: any) => {\n const data = props.data || {};\n const thumbMode = props.thumbMode;\n const cx = props.classnames;\n\n return (\n <>\n {data.hasOwnProperty('image') ? (\n <Image\n src={data.image}\n title={data.title}\n href={data.href}\n blank={data.blank}\n htmlTarget={data.htmlTarget}\n imageCaption={data.description}\n thumbMode={data.thumbMode ?? thumbMode ?? 'contain'}\n imageMode=\"original\"\n className={cx('Carousel-image')}\n />\n ) : data.hasOwnProperty('html') ? (\n <Html html={data.html} />\n ) : data.hasOwnProperty('item') ? (\n <span>{data.item}</span>\n ) : (\n <p></p>\n )}\n </>\n );\n }\n};\n\nexport class Carousel extends React.Component<CarouselProps, CarouselState> {\n wrapperRef: React.RefObject<HTMLDivElement> = React.createRef();\n intervalTimeout: NodeJS.Timer | number;\n durationTimeout: NodeJS.Timer | number;\n\n static defaultProps: Pick<\n CarouselProps,\n | 'auto'\n | 'interval'\n | 'duration'\n | 'controlsTheme'\n | 'animation'\n | 'controls'\n | 'placeholder'\n > = {\n auto: true,\n interval: 5000,\n duration: 500,\n controlsTheme: 'light',\n animation: 'fade',\n controls: ['dots', 'arrows'],\n placeholder: '-'\n };\n\n state = {\n current: 0,\n options: this.props.options || getPropValue(this.props) || [],\n nextAnimation: ''\n };\n\n componentDidMount() {\n this.prepareAutoSlide();\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const props = this.props;\n\n const nextOptions = props.options || getPropValue(props) || [];\n const prevOptions = prevProps.options || getPropValue(prevProps) || [];\n\n if (isArrayChildrenModified(prevOptions, nextOptions)) {\n this.setState({\n options: nextOptions\n });\n }\n }\n\n componentWillUnmount() {\n this.clearAutoTimeout();\n }\n\n @autobind\n prepareAutoSlide() {\n if (this.state.options.length < 2) {\n return;\n }\n\n this.clearAutoTimeout();\n if (this.props.auto) {\n this.intervalTimeout = setTimeout(this.autoSlide, this.props.interval);\n }\n }\n\n @autobind\n autoSlide(rel?: string) {\n this.clearAutoTimeout();\n const {animation} = this.props;\n let {nextAnimation} = this.state;\n\n switch (rel) {\n case 'prev':\n animation === 'slide'\n ? (nextAnimation = 'slideRight')\n : (nextAnimation = '');\n this.transitFramesTowards('right', nextAnimation);\n break;\n case 'next':\n default:\n nextAnimation = '';\n this.transitFramesTowards('left', nextAnimation);\n break;\n }\n\n this.durationTimeout = setTimeout(\n this.prepareAutoSlide,\n this.props.duration\n );\n }\n\n @autobind\n transitFramesTowards(direction: string, nextAnimation: string) {\n let {current} = this.state;\n\n switch (direction) {\n case 'left':\n current = this.getFrameId('next');\n break;\n case 'right':\n current = this.getFrameId('prev');\n break;\n }\n\n this.setState({\n current,\n nextAnimation\n });\n }\n\n @autobind\n getFrameId(pos?: string) {\n const {options, current} = this.state;\n const total = options.length;\n switch (pos) {\n case 'prev':\n return (current - 1 + total) % total;\n case 'next':\n return (current + 1) % total;\n default:\n return current;\n }\n }\n\n @autobind\n next() {\n this.autoSlide('next');\n }\n\n @autobind\n prev() {\n this.autoSlide('prev');\n }\n\n @autobind\n clearAutoTimeout() {\n clearTimeout(this.intervalTimeout as number);\n clearTimeout(this.durationTimeout as number);\n }\n\n renderDots() {\n const {classnames: cx} = this.props;\n const {current, options} = this.state;\n return (\n <div\n className={cx('Carousel-dotsControl')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {Array.from({length: options.length}).map((_, i) => (\n <span\n key={i}\n className={cx('Carousel-dot', current === i ? 'is-active' : '')}\n />\n ))}\n </div>\n );\n }\n\n renderArrows() {\n const {classnames: cx} = this.props;\n return (\n <div\n className={cx('Carousel-arrowsControl')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div className={cx('Carousel-leftArrow')} onClick={this.prev}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </div>\n <div className={cx('Carousel-rightArrow')} onClick={this.next}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n </div>\n );\n }\n\n @autobind\n handleMouseEnter() {\n this.clearAutoTimeout();\n }\n\n @autobind\n handleMouseLeave() {\n this.prepareAutoSlide();\n }\n\n render() {\n const {\n render,\n className,\n classnames: cx,\n itemSchema,\n animation,\n width,\n height,\n controls,\n controlsTheme,\n placeholder,\n data,\n name\n } = this.props;\n const {options, current, nextAnimation} = this.state;\n\n let body: JSX.Element | null = null;\n let carouselStyles: {\n [propName: string]: string;\n } = {};\n width ? (carouselStyles.width = width + 'px') : '';\n height ? (carouselStyles.height = height + 'px') : '';\n const [dots, arrows] = [\n controls!.indexOf('dots') > -1,\n controls!.indexOf('arrows') > -1\n ];\n const animationName = nextAnimation || animation;\n\n if (Array.isArray(options) && options.length) {\n body = (\n <div\n ref={this.wrapperRef}\n className={cx('Carousel-container')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {options.map((option: any, key: number) => (\n <Transition\n mountOnEnter\n unmountOnExit\n in={key === current}\n timeout={500}\n key={key}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.wrapperRef.current &&\n this.wrapperRef.current.childNodes.forEach(\n (item: HTMLElement) => item.offsetHeight\n );\n }\n\n return (\n <div\n className={cx(\n 'Carousel-item',\n animationName,\n animationStyles[status]\n )}\n >\n {render(\n `${current}/body`,\n itemSchema ? itemSchema : (defaultSchema as any),\n {\n thumbMode: this.props.thumbMode,\n data: createObject(\n data,\n isObject(option)\n ? option\n : {item: option, [name!]: option}\n )\n }\n )}\n </div>\n );\n }}\n </Transition>\n ))}\n </div>\n );\n }\n\n return (\n <div\n className={cx(`Carousel Carousel--${controlsTheme}`, className)}\n style={carouselStyles}\n >\n {body ? body : placeholder}\n\n {dots ? this.renderDots() : null}\n {arrows ? (\n <div className={cx('Carousel-leftArrow')} onClick={this.prev}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </div>\n ) : null}\n {arrows ? (\n <div className={cx('Carousel-rightArrow')} onClick={this.next}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'carousel'\n})\nexport class CarouselRenderer extends Carousel {}\n"
|
11
|
+
"import React from 'react';\nimport Transition, {\n ENTERED,\n ENTERING,\n EXITING\n} from 'react-transition-group/Transition';\nimport {Renderer, RendererProps} from '../factory';\nimport {resolveVariable} from '../utils/tpl-builtin';\nimport {\n autobind,\n createObject,\n isObject,\n isArrayChildrenModified,\n getPropValue\n} from '../utils/helper';\nimport {Icon} from '../components/icons';\nimport {BaseSchema, SchemaCollection, SchemaName, SchemaTpl} from '../Schema';\nimport Html from '../components/Html';\nimport Image from '../renderers/Image';\n\n/**\n * Carousel 轮播图渲染器。\n * 文档:https://baidu.gitee.io/amis/docs/components/carousel\n */\nexport interface CarouselSchema extends BaseSchema {\n /**\n * 指定为轮播图类型\n */\n type: 'carousel';\n\n /**\n * 是否自动播放\n */\n auto?: boolean;\n\n /**\n * 轮播间隔时间\n */\n interval?: number;\n\n /**\n * 动画时长\n */\n duration?: number;\n\n /**\n * 设置宽度\n */\n width?: number;\n\n /**\n * 设置高度\n */\n height?: number;\n\n controlsTheme?: 'light' | 'dark';\n\n /**\n * 占位\n */\n placeholder?: string;\n\n /**\n * 配置控件内容\n */\n controls?: Array<'dots' | 'arrows'>;\n\n /**\n * 动画类型\n */\n animation?: 'fade' | 'slide';\n\n /**\n * 配置单条呈现模板\n */\n itemSchema?: SchemaCollection;\n\n name?: SchemaName;\n\n /**\n * 预览图模式\n */\n thumbMode?: 'contain' | 'cover';\n\n /**\n * 配置固定值\n */\n options?: Array<any>;\n}\n\nconst animationStyles: {\n [propName: string]: string;\n} = {\n [ENTERING]: 'in',\n [ENTERED]: 'in',\n [EXITING]: 'out'\n};\n\nexport interface CarouselProps\n extends RendererProps,\n Omit<CarouselSchema, 'className'> {\n value?: any;\n}\n\nexport interface CarouselState {\n current: number;\n options: any[];\n nextAnimation: string;\n}\n\nconst defaultSchema = {\n component: (props: any) => {\n const data = props.data || {};\n const thumbMode = props.thumbMode;\n const cx = props.classnames;\n\n return (\n <>\n {data.hasOwnProperty('image') ? (\n <Image\n src={data.image}\n title={data.title}\n href={data.href}\n blank={data.blank}\n htmlTarget={data.htmlTarget}\n imageCaption={data.description}\n thumbMode={data.thumbMode ?? thumbMode ?? 'contain'}\n imageMode=\"original\"\n className={cx('Carousel-image')}\n />\n ) : data.hasOwnProperty('html') ? (\n <Html html={data.html} />\n ) : data.hasOwnProperty('item') ? (\n <span>{data.item}</span>\n ) : (\n <p></p>\n )}\n </>\n );\n }\n};\n\nexport class Carousel extends React.Component<CarouselProps, CarouselState> {\n wrapperRef: React.RefObject<HTMLDivElement> = React.createRef();\n intervalTimeout: NodeJS.Timer | number;\n durationTimeout: NodeJS.Timer | number;\n\n static defaultProps: Pick<\n CarouselProps,\n | 'auto'\n | 'interval'\n | 'duration'\n | 'controlsTheme'\n | 'animation'\n | 'controls'\n | 'placeholder'\n > = {\n auto: true,\n interval: 5000,\n duration: 500,\n controlsTheme: 'light',\n animation: 'fade',\n controls: ['dots', 'arrows'],\n placeholder: '-'\n };\n\n state = {\n current: 0,\n options: this.props.options || getPropValue(this.props) || [],\n nextAnimation: ''\n };\n\n componentDidMount() {\n this.prepareAutoSlide();\n }\n\n componentDidUpdate(prevProps: CarouselProps) {\n const props = this.props;\n\n const nextOptions = props.options || getPropValue(props) || [];\n const prevOptions = prevProps.options || getPropValue(prevProps) || [];\n\n if (isArrayChildrenModified(prevOptions, nextOptions)) {\n this.setState({\n options: nextOptions\n });\n }\n }\n\n componentWillUnmount() {\n this.clearAutoTimeout();\n }\n\n @autobind\n prepareAutoSlide() {\n if (this.state.options.length < 2) {\n return;\n }\n\n this.clearAutoTimeout();\n if (this.props.auto) {\n this.intervalTimeout = setTimeout(this.autoSlide, this.props.interval);\n }\n }\n\n @autobind\n autoSlide(rel?: string) {\n this.clearAutoTimeout();\n const {animation} = this.props;\n let {nextAnimation} = this.state;\n\n switch (rel) {\n case 'prev':\n animation === 'slide'\n ? (nextAnimation = 'slideRight')\n : (nextAnimation = '');\n this.transitFramesTowards('right', nextAnimation);\n break;\n case 'next':\n default:\n nextAnimation = '';\n this.transitFramesTowards('left', nextAnimation);\n break;\n }\n\n this.durationTimeout = setTimeout(\n this.prepareAutoSlide,\n this.props.duration\n );\n }\n\n @autobind\n transitFramesTowards(direction: string, nextAnimation: string) {\n let {current} = this.state;\n\n switch (direction) {\n case 'left':\n current = this.getFrameId('next');\n break;\n case 'right':\n current = this.getFrameId('prev');\n break;\n }\n\n this.setState({\n current,\n nextAnimation\n });\n }\n\n @autobind\n getFrameId(pos?: string) {\n const {options, current} = this.state;\n const total = options.length;\n switch (pos) {\n case 'prev':\n return (current - 1 + total) % total;\n case 'next':\n return (current + 1) % total;\n default:\n return current;\n }\n }\n\n @autobind\n next() {\n this.autoSlide('next');\n }\n\n @autobind\n prev() {\n this.autoSlide('prev');\n }\n\n @autobind\n clearAutoTimeout() {\n clearTimeout(this.intervalTimeout as number);\n clearTimeout(this.durationTimeout as number);\n }\n\n @autobind\n changeSlide(index: number) {\n this.setState({\n current: index\n });\n }\n\n renderDots() {\n const {classnames: cx} = this.props;\n const {current, options} = this.state;\n return (\n <div\n className={cx('Carousel-dotsControl')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {Array.from({length: options.length}).map((_, i) => (\n <span\n key={i}\n onClick={() => this.changeSlide(i)}\n className={cx('Carousel-dot', current === i ? 'is-active' : '')}\n />\n ))}\n </div>\n );\n }\n\n renderArrows() {\n const {classnames: cx} = this.props;\n return (\n <div\n className={cx('Carousel-arrowsControl')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n <div className={cx('Carousel-leftArrow')} onClick={this.prev}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </div>\n <div className={cx('Carousel-rightArrow')} onClick={this.next}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n </div>\n );\n }\n\n @autobind\n handleMouseEnter() {\n this.clearAutoTimeout();\n }\n\n @autobind\n handleMouseLeave() {\n this.prepareAutoSlide();\n }\n\n render() {\n const {\n render,\n className,\n classnames: cx,\n itemSchema,\n animation,\n width,\n height,\n controls,\n controlsTheme,\n placeholder,\n data,\n name\n } = this.props;\n const {options, current, nextAnimation} = this.state;\n\n let body: JSX.Element | null = null;\n let carouselStyles: {\n [propName: string]: string;\n } = {};\n width ? (carouselStyles.width = width + 'px') : '';\n height ? (carouselStyles.height = height + 'px') : '';\n const [dots, arrows] = [\n controls!.indexOf('dots') > -1,\n controls!.indexOf('arrows') > -1\n ];\n const animationName = nextAnimation || animation;\n\n if (Array.isArray(options) && options.length) {\n body = (\n <div\n ref={this.wrapperRef}\n className={cx('Carousel-container')}\n onMouseEnter={this.handleMouseEnter}\n onMouseLeave={this.handleMouseLeave}\n >\n {options.map((option: any, key: number) => (\n <Transition\n mountOnEnter\n unmountOnExit\n in={key === current}\n timeout={500}\n key={key}\n >\n {(status: string) => {\n if (status === ENTERING) {\n this.wrapperRef.current &&\n this.wrapperRef.current.childNodes.forEach(\n (item: HTMLElement) => item.offsetHeight\n );\n }\n\n return (\n <div\n className={cx(\n 'Carousel-item',\n animationName,\n animationStyles[status]\n )}\n >\n {render(\n `${current}/body`,\n itemSchema ? itemSchema : (defaultSchema as any),\n {\n thumbMode: this.props.thumbMode,\n data: createObject(\n data,\n isObject(option)\n ? option\n : {item: option, [name!]: option}\n )\n }\n )}\n </div>\n );\n }}\n </Transition>\n ))}\n </div>\n );\n }\n\n return (\n <div\n className={cx(`Carousel Carousel--${controlsTheme}`, className)}\n style={carouselStyles}\n >\n {body ? body : placeholder}\n\n {dots ? this.renderDots() : null}\n {arrows ? (\n <div className={cx('Carousel-leftArrow')} onClick={this.prev}>\n <Icon icon=\"left-arrow\" className=\"icon\" />\n </div>\n ) : null}\n {arrows ? (\n <div className={cx('Carousel-rightArrow')} onClick={this.next}>\n <Icon icon=\"right-arrow\" className=\"icon\" />\n </div>\n ) : null}\n </div>\n );\n }\n}\n\n@Renderer({\n type: 'carousel'\n})\nexport class CarouselRenderer extends Carousel {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -14,11 +14,11 @@ export interface CheckboxControlSchema extends FormBaseControl {
|
|
14
14
|
/**
|
15
15
|
* 勾选值
|
16
16
|
*/
|
17
|
-
trueValue?:
|
17
|
+
trueValue?: boolean | string | number;
|
18
18
|
/**
|
19
19
|
* 未勾选值
|
20
20
|
*/
|
21
|
-
falseValue?:
|
21
|
+
falseValue?: boolean | string | number;
|
22
22
|
/**
|
23
23
|
* 选项说明
|
24
24
|
*/
|
@@ -27,6 +27,9 @@ export interface CheckboxControlSchema extends FormBaseControl {
|
|
27
27
|
* 角标
|
28
28
|
*/
|
29
29
|
badge?: BadgeSchema;
|
30
|
+
partial?: boolean;
|
31
|
+
optionType?: 'default' | 'button';
|
32
|
+
checked?: boolean;
|
30
33
|
}
|
31
34
|
export interface CheckboxProps extends FormControlProps, Omit<CheckboxControlSchema, 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
|
32
35
|
}
|
@@ -44,9 +44,9 @@ var CheckboxControl = /** @class */ (function (_super) {
|
|
44
44
|
};
|
45
45
|
CheckboxControl.prototype.render = function () {
|
46
46
|
var _this = this;
|
47
|
-
var _a = this.props, className = _a.className, value = _a.value, trueValue = _a.trueValue, falseValue = _a.falseValue, option = _a.option, onChange = _a.onChange, disabled = _a.disabled, render = _a.render, ns = _a.classPrefix;
|
47
|
+
var _a = this.props, className = _a.className, value = _a.value, trueValue = _a.trueValue, falseValue = _a.falseValue, option = _a.option, onChange = _a.onChange, disabled = _a.disabled, render = _a.render, partial = _a.partial, optionType = _a.optionType, checked = _a.checked, ns = _a.classPrefix;
|
48
48
|
return (react_1.default.createElement("div", { className: (0, classnames_1.default)("".concat(ns, "CheckboxControl"), className) },
|
49
|
-
react_1.default.createElement(Checkbox_1.default, { inline: true, value: value || '', trueValue: trueValue, falseValue: falseValue, disabled: disabled, onChange: function (value) { return _this.dispatchChangeEvent(value); } }, option ? render('option', option) : null)));
|
49
|
+
react_1.default.createElement(Checkbox_1.default, { inline: true, value: value || '', trueValue: trueValue, falseValue: falseValue, disabled: disabled, onChange: function (value) { return _this.dispatchChangeEvent(value); }, partial: partial, optionType: optionType, checked: checked }, option ? render('option', option) : null)));
|
50
50
|
};
|
51
51
|
CheckboxControl.defaultProps = {
|
52
52
|
trueValue: true,
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Checkbox.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,oFAAiD;AACjD,gDAA8D;AAC9D,6CAA0D;
|
9
|
+
"mappings": ";;;;AAAA,6DAA0B;AAC1B,+BAAmE;AACnE,uEAA4B;AAC5B,oFAAiD;AACjD,gDAA8D;AAC9D,6CAA0D;AA4C1D;IAA6C,gDAG5C;IAHD;;IAqEA,CAAC;IA5DC,kCAAQ,GAAR,UAAS,MAAc,EAAE,IAAY,EAAE,WAAoB;QACnD,IAAA,KAAyB,IAAI,CAAC,KAAK,EAAlC,UAAU,gBAAA,EAAE,QAAQ,cAAc,CAAC;QAC1C,IAAM,UAAU,GAAG,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,UAAoB,CAAC;QAEhD,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;YAC7C,QAAQ,CAAC,UAAU,aAAV,UAAU,cAAV,UAAU,GAAI,EAAE,CAAC,CAAC;SAC5B;IACH,CAAC;IAGK,6CAAmB,GAAzB,UAA0B,SAAmB;QAAnB,0BAAA,EAAA,cAAmB;;;;;;wBACrC,KAAkC,IAAI,CAAC,KAAK,EAA3C,aAAa,mBAAA,EAAE,IAAI,UAAA,EAAE,QAAQ,cAAA,CAAe;wBAC7B,qBAAM,aAAa,CACvC,QAAQ,EACR,IAAA,qBAAY,EAAC,IAAI,EAAE;gCACjB,KAAK,EAAE,SAAS;6BACjB,CAAC,CACH,EAAA;;wBALK,aAAa,GAAG,SAKrB;wBAED,IAAI,aAAa,aAAb,aAAa,uBAAb,aAAa,CAAE,SAAS,EAAE;4BAC5B,sBAAO;yBACR;wBAED,QAAQ,IAAI,QAAQ,CAAC,SAAS,CAAC,CAAC;;;;;KACjC;IAED,gCAAM,GAAN;QAAA,iBAiCC;QAhCO,IAAA,KAaF,IAAI,CAAC,KAAK,EAZZ,SAAS,eAAA,EACT,KAAK,WAAA,EACL,SAAS,eAAA,EACT,UAAU,gBAAA,EACV,MAAM,YAAA,EACN,QAAQ,cAAA,EACR,QAAQ,cAAA,EACR,MAAM,YAAA,EACN,OAAO,aAAA,EACP,UAAU,gBAAA,EACV,OAAO,aAAA,EACM,EAAE,iBACH,CAAC;QAEf,OAAO,CACL,uCAAK,SAAS,EAAE,IAAA,oBAAE,EAAC,UAAG,EAAE,oBAAiB,EAAE,SAAS,CAAC;YACnD,8BAAC,kBAAQ,IACP,MAAM,QACN,KAAK,EAAE,KAAK,IAAI,EAAE,EAClB,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,UAAU,EACtB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,UAAC,KAAU,IAAK,OAAA,KAAI,CAAC,mBAAmB,CAAC,KAAK,CAAC,EAA/B,CAA+B,EACzD,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,OAAO,IAEf,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAChC,CACP,CACP,CAAC;IACJ,CAAC;IAhEM,4BAAY,GAA2B;QAC5C,SAAS,EAAE,IAAI;QACf,UAAU,EAAE,KAAK;KAClB,CAAC;IAYF;QADC,iBAAQ;;;;8DAeR;IAoCH,sBAAC;CAAA,AArED,CAA6C,eAAK,CAAC,SAAS,GAqE3D;kBArEoB,eAAe;AA6EpC;IAA6C,wDAAe;IAA5D;;IAA8D,CAAC;IAAlD,uBAAuB;QANnC,IAAA,eAAQ,EAAC;YACR,IAAI,EAAE,UAAU;YAChB,WAAW,EAAE,KAAK;SACnB,CAAC;QACF,aAAa;;QACZ,iBAAS;OACG,uBAAuB,CAA2B;IAAD,8BAAC;CAAA,AAA/D,CAA6C,eAAe,GAAG;AAAlD,0DAAuB",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\nimport {withBadge, BadgeSchema} from '../../components/Badge';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Checkbox 勾选框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/checkbox\n */\nexport interface CheckboxControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'checkbox';\n\n /**\n * 勾选值\n */\n trueValue?:
|
11
|
+
"import React from 'react';\nimport {FormItem, FormControlProps, FormBaseControl} from './Item';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\nimport {withBadge, BadgeSchema} from '../../components/Badge';\nimport {autobind, createObject} from '../../utils/helper';\nimport {Action} from '../../types';\n\n/**\n * Checkbox 勾选框。\n * 文档:https://baidu.gitee.io/amis/docs/components/form/checkbox\n */\nexport interface CheckboxControlSchema extends FormBaseControl {\n /**\n * 指定为多行文本输入框\n */\n type: 'checkbox';\n\n /**\n * 勾选值\n */\n trueValue?: boolean | string | number;\n\n /**\n * 未勾选值\n */\n falseValue?: boolean | string | number;\n\n /**\n * 选项说明\n */\n option?: string;\n\n /**\n * 角标\n */\n badge?: BadgeSchema;\n partial?: boolean;\n optionType?: 'default' | 'button';\n checked?: boolean;\n}\n\nexport interface CheckboxProps\n extends FormControlProps,\n Omit<\n CheckboxControlSchema,\n 'type' | 'className' | 'descriptionClassName' | 'inputClassName'\n > {}\n\nexport default class CheckboxControl extends React.Component<\n CheckboxProps,\n any\n> {\n static defaultProps: Partial<CheckboxProps> = {\n trueValue: true,\n falseValue: false\n };\n\n doAction(action: Action, data: object, throwErrors: boolean) {\n const {resetValue, onChange} = this.props;\n const actionType = action?.actionType as string;\n\n if (!!~['clear', 'reset'].indexOf(actionType)) {\n onChange(resetValue ?? '');\n }\n }\n\n @autobind\n async dispatchChangeEvent(eventData: any = {}) {\n const {dispatchEvent, data, onChange} = this.props;\n const rendererEvent = await dispatchEvent(\n 'change',\n createObject(data, {\n value: eventData,\n })\n );\n \n if (rendererEvent?.prevented) {\n return;\n }\n\n onChange && onChange(eventData);\n }\n\n render() {\n const {\n className,\n value,\n trueValue,\n falseValue,\n option,\n onChange,\n disabled,\n render,\n partial,\n optionType,\n checked,\n classPrefix: ns\n } = this.props;\n\n return (\n <div className={cx(`${ns}CheckboxControl`, className)}>\n <Checkbox\n inline\n value={value || ''}\n trueValue={trueValue}\n falseValue={falseValue}\n disabled={disabled}\n onChange={(value: any) => this.dispatchChangeEvent(value)}\n partial={partial}\n optionType={optionType}\n checked={checked}\n >\n {option ? render('option', option) : null}\n </Checkbox>\n </div>\n );\n }\n}\n\n@FormItem({\n type: 'checkbox',\n sizeMutable: false\n})\n// @ts-ignore\n@withBadge\nexport class CheckboxControlRenderer extends CheckboxControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -18,12 +18,12 @@ export interface CheckboxesControlSchema extends FormOptionsControl {
|
|
18
18
|
/**
|
19
19
|
* 每行显示多少个
|
20
20
|
*/
|
21
|
-
columnsCount?: number;
|
21
|
+
columnsCount?: number | number[];
|
22
22
|
}
|
23
23
|
export interface CheckboxesProps extends OptionsControlProps, Omit<CheckboxesControlSchema, 'options' | 'type' | 'className' | 'descriptionClassName' | 'inputClassName'> {
|
24
24
|
placeholder?: any;
|
25
25
|
itemClassName?: string;
|
26
|
-
columnsCount?: number;
|
26
|
+
columnsCount?: number | number[];
|
27
27
|
labelClassName?: string;
|
28
28
|
onAdd?: () => void;
|
29
29
|
addApi?: Api;
|
@@ -31,6 +31,7 @@ export interface CheckboxesProps extends OptionsControlProps, Omit<CheckboxesCon
|
|
31
31
|
createBtnLabel: string;
|
32
32
|
editable?: boolean;
|
33
33
|
removable?: boolean;
|
34
|
+
optionType?: 'default' | 'button';
|
34
35
|
}
|
35
36
|
export default class CheckboxesControl extends React.Component<CheckboxesProps, any> {
|
36
37
|
static defaultProps: {
|
@@ -40,11 +41,15 @@ export default class CheckboxesControl extends React.Component<CheckboxesProps,
|
|
40
41
|
creatable: boolean;
|
41
42
|
inline: boolean;
|
42
43
|
createBtnLabel: string;
|
44
|
+
optionType: string;
|
43
45
|
};
|
44
46
|
reload(): void;
|
45
47
|
handleAddClick(): void;
|
46
48
|
handleEditClick(e: Event, item: any): void;
|
47
49
|
handleDeleteClick(e: Event, item: any): void;
|
50
|
+
componentDidMount(): void;
|
51
|
+
componentWillMount(): void;
|
52
|
+
updateBorderStyle(): void;
|
48
53
|
renderGroup(option: Option, index: number): JSX.Element | null;
|
49
54
|
renderItem(option: Option, index: number): JSX.Element | null;
|
50
55
|
render(): JSX.Element;
|
@@ -5,9 +5,9 @@ var tslib_1 = require("tslib");
|
|
5
5
|
var react_1 = (0, tslib_1.__importDefault)(require("react"));
|
6
6
|
var Options_1 = require("./Options");
|
7
7
|
var Checkbox_1 = (0, tslib_1.__importDefault)(require("../../components/Checkbox"));
|
8
|
-
var chunk_1 = (0, tslib_1.__importDefault)(require("lodash/chunk"));
|
9
8
|
var icons_1 = require("../../components/icons");
|
10
9
|
var helper_1 = require("../../utils/helper");
|
10
|
+
var columnsSplit_1 = require("../../utils/columnsSplit");
|
11
11
|
var CheckboxesControl = /** @class */ (function (_super) {
|
12
12
|
(0, tslib_1.__extends)(CheckboxesControl, _super);
|
13
13
|
function CheckboxesControl() {
|
@@ -33,6 +33,92 @@ var CheckboxesControl = /** @class */ (function (_super) {
|
|
33
33
|
e.stopPropagation();
|
34
34
|
onDelete && onDelete(item);
|
35
35
|
};
|
36
|
+
CheckboxesControl.prototype.componentDidMount = function () {
|
37
|
+
this.updateBorderStyle();
|
38
|
+
window.addEventListener('resize', this.updateBorderStyle);
|
39
|
+
};
|
40
|
+
CheckboxesControl.prototype.componentWillMount = function () {
|
41
|
+
window.removeEventListener('resize', this.updateBorderStyle);
|
42
|
+
};
|
43
|
+
CheckboxesControl.prototype.updateBorderStyle = function () {
|
44
|
+
if (this.props.optionType !== 'button') {
|
45
|
+
return;
|
46
|
+
}
|
47
|
+
var wrapDom = this.refs.checkboxRef;
|
48
|
+
var wrapWidth = wrapDom.clientWidth;
|
49
|
+
var childs = Array.from(wrapDom.children);
|
50
|
+
childs.forEach(function (child) {
|
51
|
+
child.style.borderRadius = '0';
|
52
|
+
child.style.borderLeftWidth = '1px';
|
53
|
+
child.style.borderTopWidth = '1px';
|
54
|
+
});
|
55
|
+
var childTotalWidth = childs.reduce(function (pre, next) {
|
56
|
+
return pre + next.clientWidth;
|
57
|
+
}, 0);
|
58
|
+
if (childTotalWidth <= wrapWidth) {
|
59
|
+
if (childs.length === 1) {
|
60
|
+
childs[0].style.borderRadius = "4px";
|
61
|
+
}
|
62
|
+
else {
|
63
|
+
childs[0].style.borderRadius = "4px 0 0 4px";
|
64
|
+
childs[childs.length - 1].style.borderRadius = "0 4px 4px 0";
|
65
|
+
childs.forEach(function (child, idx) {
|
66
|
+
idx !== 0 && (child.style.borderLeftWidth = '0');
|
67
|
+
});
|
68
|
+
}
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
var curRowWidth_1 = 0;
|
72
|
+
var curRow_1 = 0;
|
73
|
+
var rowNum_1 = Math.floor(childTotalWidth / wrapWidth);
|
74
|
+
var rowColArr_1 = [];
|
75
|
+
for (var i = 0; i <= rowNum_1; i++) {
|
76
|
+
var arr = [];
|
77
|
+
rowColArr_1[i] = arr;
|
78
|
+
}
|
79
|
+
childs.forEach(function (child, idx) {
|
80
|
+
curRowWidth_1 += child.clientWidth;
|
81
|
+
if (curRowWidth_1 > wrapWidth) {
|
82
|
+
curRowWidth_1 = child.clientWidth;
|
83
|
+
curRow_1++;
|
84
|
+
}
|
85
|
+
if (curRow_1 > rowNum_1) {
|
86
|
+
return;
|
87
|
+
}
|
88
|
+
rowColArr_1[curRow_1].push(child);
|
89
|
+
});
|
90
|
+
rowColArr_1.forEach(function (row, rowIdx) {
|
91
|
+
if (rowIdx === 0) {
|
92
|
+
row.forEach(function (r, colIdx) {
|
93
|
+
r.style.borderRadius = '0';
|
94
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
95
|
+
row.length > rowColArr_1[rowIdx + 1].length
|
96
|
+
&& (row[row.length - 1].style.borderBottomRightRadius = "4px");
|
97
|
+
});
|
98
|
+
row[0].style.borderTopLeftRadius = "4px";
|
99
|
+
row[row.length - 1].style.borderTopRightRadius = "4px";
|
100
|
+
}
|
101
|
+
else if (rowIdx === rowNum_1) {
|
102
|
+
row.forEach(function (r, colIdx) {
|
103
|
+
r.style.borderRadius = '0';
|
104
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
105
|
+
r.style.borderTopWidth = '0';
|
106
|
+
row[0].style.borderBottomLeftRadius = "4px";
|
107
|
+
row[row.length - 1].style.borderBottomRightRadius = "4px";
|
108
|
+
});
|
109
|
+
}
|
110
|
+
else {
|
111
|
+
row.forEach(function (r, colIdx) {
|
112
|
+
r.style.borderRadius = '0';
|
113
|
+
colIdx !== 0 && (r.style.borderLeftWidth = '0');
|
114
|
+
r.style.borderTopWidth = '0';
|
115
|
+
row.length > rowColArr_1[rowIdx + 1].length
|
116
|
+
&& (row[row.length - 1].style.borderBottomRightRadius = "4px");
|
117
|
+
});
|
118
|
+
}
|
119
|
+
});
|
120
|
+
}
|
121
|
+
};
|
36
122
|
CheckboxesControl.prototype.renderGroup = function (option, index) {
|
37
123
|
var _this = this;
|
38
124
|
var _a;
|
@@ -49,8 +135,8 @@ var CheckboxesControl = /** @class */ (function (_super) {
|
|
49
135
|
if (option.children) {
|
50
136
|
return this.renderGroup(option, index);
|
51
137
|
}
|
52
|
-
var _a = this.props, itemClassName = _a.itemClassName, onToggle = _a.onToggle, selectedOptions = _a.selectedOptions, disabled = _a.disabled, inline = _a.inline, labelClassName = _a.labelClassName, labelField = _a.labelField, removable = _a.removable, editable = _a.editable, __ = _a.translate;
|
53
|
-
return (react_1.default.createElement(Checkbox_1.default, { className: itemClassName, key: index, onChange: function () { return onToggle(option); }, checked: !!~selectedOptions.indexOf(option), disabled: disabled || option.disabled, inline: inline, labelClassName: labelClassName, description: option.description },
|
138
|
+
var _a = this.props, itemClassName = _a.itemClassName, onToggle = _a.onToggle, selectedOptions = _a.selectedOptions, disabled = _a.disabled, inline = _a.inline, labelClassName = _a.labelClassName, labelField = _a.labelField, removable = _a.removable, editable = _a.editable, __ = _a.translate, optionType = _a.optionType;
|
139
|
+
return (react_1.default.createElement(Checkbox_1.default, { className: itemClassName, key: index, onChange: function () { return onToggle(option); }, checked: !!~selectedOptions.indexOf(option), disabled: disabled || option.disabled, inline: inline, labelClassName: labelClassName, description: option.description, optionType: optionType },
|
54
140
|
String(option[labelField || 'label']),
|
55
141
|
removable && (0, helper_1.hasAbility)(option, 'removable') ? (react_1.default.createElement("a", { "data-tooltip": __('Select.clear'), "data-position": "left" },
|
56
142
|
react_1.default.createElement(icons_1.Icon, { icon: "minus", className: "icon", onClick: function (e) { return _this.handleDeleteClick(e, option); } }))) : null,
|
@@ -59,21 +145,17 @@ var CheckboxesControl = /** @class */ (function (_super) {
|
|
59
145
|
};
|
60
146
|
CheckboxesControl.prototype.render = function () {
|
61
147
|
var _this = this;
|
62
|
-
var _a = this.props, className = _a.className, disabled = _a.disabled, placeholder = _a.placeholder, options = _a.options, inline = _a.inline, columnsCount = _a.columnsCount, selectedOptions = _a.selectedOptions, onToggle = _a.onToggle, onToggleAll = _a.onToggleAll, checkAll = _a.checkAll, cx = _a.classnames, itemClassName = _a.itemClassName, labelClassName = _a.labelClassName, creatable = _a.creatable, addApi = _a.addApi, createBtnLabel = _a.createBtnLabel, __ = _a.translate;
|
148
|
+
var _a = this.props, className = _a.className, disabled = _a.disabled, placeholder = _a.placeholder, options = _a.options, inline = _a.inline, columnsCount = _a.columnsCount, selectedOptions = _a.selectedOptions, onToggle = _a.onToggle, onToggleAll = _a.onToggleAll, checkAll = _a.checkAll, cx = _a.classnames, itemClassName = _a.itemClassName, labelClassName = _a.labelClassName, creatable = _a.creatable, addApi = _a.addApi, createBtnLabel = _a.createBtnLabel, __ = _a.translate, optionType = _a.optionType;
|
63
149
|
var body = [];
|
64
150
|
if (options && options.length) {
|
65
151
|
body = options.map(function (option, key) { return _this.renderItem(option, key); });
|
66
152
|
}
|
67
|
-
if (checkAll && body.length) {
|
153
|
+
if (checkAll && body.length && optionType === 'default') {
|
68
154
|
body.unshift(react_1.default.createElement(Checkbox_1.default, { key: "checkall", className: itemClassName, onChange: onToggleAll, checked: !!selectedOptions.length, partial: !!(selectedOptions.length &&
|
69
155
|
selectedOptions.length !== options.length), disabled: disabled, inline: inline, labelClassName: labelClassName }, __('Checkboxes.selectAll')));
|
70
156
|
}
|
71
|
-
|
72
|
-
|
73
|
-
var cellClassName_1 = "Grid-col--sm".concat(weight === Math.round(weight) ? weight : '');
|
74
|
-
body = (0, chunk_1.default)(body, columnsCount).map(function (group, groupIndex) { return (react_1.default.createElement("div", { className: cx('Grid'), key: groupIndex }, Array.from({ length: columnsCount }).map(function (_, index) { return (react_1.default.createElement("div", { key: index, className: cx(cellClassName_1) }, group[index])); }))); });
|
75
|
-
}
|
76
|
-
return (react_1.default.createElement("div", { className: cx("CheckboxesControl", className) },
|
157
|
+
body = (0, columnsSplit_1.columnsSplit)(body, cx, columnsCount);
|
158
|
+
return (react_1.default.createElement("div", { className: cx("CheckboxesControl", className), ref: "checkboxRef" },
|
77
159
|
body && body.length ? (body) : (react_1.default.createElement("span", { className: "Form-placeholder" }, __(placeholder))),
|
78
160
|
(creatable || addApi) && !disabled ? (react_1.default.createElement("a", { className: cx('Checkboxes-addBtn'), onClick: this.handleAddClick },
|
79
161
|
react_1.default.createElement(icons_1.Icon, { icon: "plus", className: "icon" }),
|
@@ -86,7 +168,8 @@ var CheckboxesControl = /** @class */ (function (_super) {
|
|
86
168
|
placeholder: 'placeholder.noOption',
|
87
169
|
creatable: false,
|
88
170
|
inline: true,
|
89
|
-
createBtnLabel: 'Select.createLabel'
|
171
|
+
createBtnLabel: 'Select.createLabel',
|
172
|
+
optionType: 'default'
|
90
173
|
};
|
91
174
|
(0, tslib_1.__decorate)([
|
92
175
|
helper_1.autobind,
|
@@ -106,6 +189,12 @@ var CheckboxesControl = /** @class */ (function (_super) {
|
|
106
189
|
(0, tslib_1.__metadata)("design:paramtypes", [typeof (_b = typeof Event !== "undefined" && Event) === "function" ? _b : Object, Object]),
|
107
190
|
(0, tslib_1.__metadata)("design:returntype", void 0)
|
108
191
|
], CheckboxesControl.prototype, "handleDeleteClick", null);
|
192
|
+
(0, tslib_1.__decorate)([
|
193
|
+
helper_1.autobind,
|
194
|
+
(0, tslib_1.__metadata)("design:type", Function),
|
195
|
+
(0, tslib_1.__metadata)("design:paramtypes", []),
|
196
|
+
(0, tslib_1.__metadata)("design:returntype", void 0)
|
197
|
+
], CheckboxesControl.prototype, "updateBorderStyle", null);
|
109
198
|
return CheckboxesControl;
|
110
199
|
}(react_1.default.Component));
|
111
200
|
exports.default = CheckboxesControl;
|
@@ -6,8 +6,8 @@
|
|
6
6
|
"/src/renderers/Form/Checkboxes.tsx"
|
7
7
|
],
|
8
8
|
"names": [],
|
9
|
-
"mappings": ";;;;AAAA,6DAA0B;AAC1B,qCAKmB;AAEnB,oFAAiD;
|
9
|
+
"mappings": "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",
|
10
10
|
"sourcesContent": [
|
11
|
-
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\nimport
|
11
|
+
"import React from 'react';\nimport {\n OptionsControl,\n OptionsControlProps,\n Option,\n FormOptionsControl\n} from './Options';\nimport cx from 'classnames';\nimport Checkbox from '../../components/Checkbox';\n\nimport {Icon} from '../../components/icons';\nimport {Api} from '../../types';\nimport {autobind, hasAbility} from '../../utils/helper';\nimport {columnsSplit} from '../../utils/columnsSplit';\n\n/**\n * 复选框\n * 文档:https://baidu.gitee.io/amis/docs/components/form/checkboxes\n */\nexport interface CheckboxesControlSchema extends FormOptionsControl {\n type: 'checkboxes';\n\n /**\n * 是否开启全选功能\n */\n checkAll?: boolean;\n\n /**\n * 是否默认全选\n */\n defaultCheckAll?: boolean;\n\n /**\n * 每行显示多少个\n */\n columnsCount?: number | number[];\n}\n\nexport interface CheckboxesProps\n extends OptionsControlProps,\n Omit<\n CheckboxesControlSchema,\n | 'options'\n | 'type'\n | 'className'\n | 'descriptionClassName'\n | 'inputClassName'\n > {\n placeholder?: any;\n itemClassName?: string;\n columnsCount?: number | number[];\n labelClassName?: string;\n onAdd?: () => void;\n addApi?: Api;\n creatable: boolean;\n createBtnLabel: string;\n editable?: boolean;\n removable?: boolean;\n optionType?: 'default' | 'button'\n}\n\nexport default class CheckboxesControl extends React.Component<\n CheckboxesProps,\n any\n> {\n static defaultProps = {\n columnsCount: 1,\n multiple: true,\n placeholder: 'placeholder.noOption',\n creatable: false,\n inline: true,\n createBtnLabel: 'Select.createLabel',\n optionType: 'default'\n };\n\n reload() {\n const reload = this.props.reloadOptions;\n reload && reload();\n }\n\n @autobind\n handleAddClick() {\n const {onAdd} = this.props;\n onAdd && onAdd();\n }\n\n @autobind\n handleEditClick(e: Event, item: any) {\n const {onEdit} = this.props;\n e.preventDefault();\n e.stopPropagation();\n onEdit && onEdit(item);\n }\n\n @autobind\n handleDeleteClick(e: Event, item: any) {\n const {onDelete} = this.props;\n e.preventDefault();\n e.stopPropagation();\n onDelete && onDelete(item);\n }\n\n componentDidMount() {\n this.updateBorderStyle();\n window.addEventListener('resize', this.updateBorderStyle);\n }\n\n componentWillMount() {\n window.removeEventListener('resize', this.updateBorderStyle);\n }\n\n @autobind\n updateBorderStyle() {\n if (this.props.optionType !== 'button') {\n return;\n }\n const wrapDom = this.refs.checkboxRef as HTMLElement;\n const wrapWidth = wrapDom.clientWidth;\n const childs = Array.from(wrapDom.children) as HTMLElement[];\n \n childs.forEach(child => {\n child.style.borderRadius = '0';\n child.style.borderLeftWidth = '1px';\n child.style.borderTopWidth = '1px';\n });\n const childTotalWidth = childs.reduce((pre, next) =>\n pre + next.clientWidth, 0);\n if (childTotalWidth <= wrapWidth) {\n if (childs.length === 1) {\n childs[0].style.borderRadius = \"4px\";\n }\n else {\n childs[0].style.borderRadius = \"4px 0 0 4px\";\n childs[childs.length - 1].style.borderRadius = \"0 4px 4px 0\";\n childs.forEach((child, idx) => {\n idx !== 0 && (child.style.borderLeftWidth = '0');\n });\n }\n }\n else {\n let curRowWidth = 0;\n let curRow = 0;\n const rowNum = Math.floor(childTotalWidth / wrapWidth);\n const rowColArr: any[] = [];\n for (let i = 0; i <= rowNum; i++) {\n const arr: HTMLElement[] = [];\n rowColArr[i] = arr;\n }\n childs.forEach((child: HTMLElement, idx: number) => {\n curRowWidth += child.clientWidth;\n if (curRowWidth > wrapWidth) {\n curRowWidth = child.clientWidth;\n curRow++;\n }\n if (curRow > rowNum) {\n return;\n }\n rowColArr[curRow].push(child);\n });\n \n rowColArr.forEach((row: HTMLElement[], rowIdx: number) => {\n if (rowIdx === 0) {\n row.forEach((r: HTMLElement, colIdx: number) => {\n r.style.borderRadius = '0';\n colIdx !== 0 && (r.style.borderLeftWidth = '0');\n row.length > rowColArr[rowIdx + 1].length\n && (row[row.length - 1].style.borderBottomRightRadius = \"4px\");\n });\n row[0].style.borderTopLeftRadius = \"4px\";\n row[row.length - 1].style.borderTopRightRadius = \"4px\";\n }\n else if (rowIdx === rowNum) {\n row.forEach((r: HTMLElement, colIdx: number) => {\n r.style.borderRadius = '0';\n colIdx !== 0 && (r.style.borderLeftWidth = '0');\n r.style.borderTopWidth = '0';\n row[0].style.borderBottomLeftRadius = \"4px\";\n row[row.length - 1].style.borderBottomRightRadius = \"4px\";\n });\n }\n else {\n row.forEach((r: HTMLElement, colIdx: number) => {\n r.style.borderRadius = '0';\n colIdx !== 0 && (r.style.borderLeftWidth = '0');\n r.style.borderTopWidth = '0';\n row.length > rowColArr[rowIdx + 1].length\n && (row[row.length - 1].style.borderBottomRightRadius = \"4px\");\n });\n }\n });\n }\n }\n\n renderGroup(option: Option, index: number) {\n const {classnames: cx, labelField} = this.props;\n\n if (!option.children?.length) {\n return null;\n }\n\n return (\n <div\n key={index}\n className={cx('CheckboxesControl-group', option.className)}\n >\n <label\n className={cx('CheckboxesControl-groupLabel', option.labelClassName)}\n >\n {option[labelField || 'label']}\n </label>\n\n {option.children.map((option, index) => this.renderItem(option, index))}\n </div>\n );\n }\n\n renderItem(option: Option, index: number) {\n if (option.children) {\n return this.renderGroup(option, index);\n }\n\n const {\n itemClassName,\n onToggle,\n selectedOptions,\n disabled,\n inline,\n labelClassName,\n labelField,\n removable,\n editable,\n translate: __,\n optionType\n } = this.props;\n\n return (\n <Checkbox\n className={itemClassName}\n key={index}\n onChange={() => onToggle(option)}\n checked={!!~selectedOptions.indexOf(option)}\n disabled={disabled || option.disabled}\n inline={inline}\n labelClassName={labelClassName}\n description={option.description}\n optionType={optionType}\n >\n {String(option[labelField || 'label'])}\n {removable && hasAbility(option, 'removable') ? (\n <a data-tooltip={__('Select.clear')} data-position=\"left\">\n <Icon\n icon=\"minus\"\n className=\"icon\"\n onClick={(e: any) => this.handleDeleteClick(e, option)}\n />\n </a>\n ) : null}\n {editable && hasAbility(option, 'editable') ? (\n <a data-tooltip=\"编辑\" data-position=\"left\">\n <Icon\n icon=\"pencil\"\n className=\"icon\"\n onClick={(e: any) => this.handleEditClick(e, option)}\n />\n </a>\n ) : null}\n </Checkbox>\n );\n }\n\n render() {\n const {\n className,\n disabled,\n placeholder,\n options,\n inline,\n columnsCount,\n selectedOptions,\n onToggle,\n onToggleAll,\n checkAll,\n classnames: cx,\n itemClassName,\n labelClassName,\n creatable,\n addApi,\n createBtnLabel,\n translate: __,\n optionType\n } = this.props;\n\n let body: Array<React.ReactNode> = [];\n\n if (options && options.length) {\n body = options.map((option, key) => this.renderItem(option, key));\n }\n\n if (checkAll && body.length && optionType === 'default') {\n body.unshift(\n <Checkbox\n key=\"checkall\"\n className={itemClassName}\n onChange={onToggleAll}\n checked={!!selectedOptions.length}\n partial={\n !!(\n selectedOptions.length &&\n selectedOptions.length !== options.length\n )\n }\n disabled={disabled}\n inline={inline}\n labelClassName={labelClassName}\n >\n {__('Checkboxes.selectAll')}\n </Checkbox>\n );\n }\n\n body = columnsSplit(body, cx, columnsCount);\n\n return (\n <div className={cx(`CheckboxesControl`, className)} ref=\"checkboxRef\">\n {body && body.length ? (\n body\n ) : (\n <span className={`Form-placeholder`}>{__(placeholder)}</span>\n )}\n\n {(creatable || addApi) && !disabled ? (\n <a className={cx('Checkboxes-addBtn')} onClick={this.handleAddClick}>\n <Icon icon=\"plus\" className=\"icon\" />\n {__(createBtnLabel)}\n </a>\n ) : null}\n </div>\n );\n }\n}\n\n@OptionsControl({\n type: 'checkboxes',\n sizeMutable: false\n})\nexport class CheckboxesControlRenderer extends CheckboxesControl {}\n"
|
12
12
|
]
|
13
13
|
}
|
@@ -242,7 +242,8 @@ var ComboControl = /** @class */ (function (_super) {
|
|
242
242
|
setted: false
|
243
243
|
});
|
244
244
|
if (syncDefaultValue === false ||
|
245
|
-
this.subFormDefaultValues.length !==
|
245
|
+
this.subFormDefaultValues.length !==
|
246
|
+
this.subForms.filter(function (item) { return item !== undefined; }).length) {
|
246
247
|
return;
|
247
248
|
}
|
248
249
|
var value = this.getValueAsArray();
|
@@ -609,7 +610,7 @@ var ComboControl = /** @class */ (function (_super) {
|
|
609
610
|
return false;
|
610
611
|
}
|
611
612
|
}); })
|
612
|
-
})) : (react_1.default.createElement(Button_1.default, {
|
613
|
+
})) : (react_1.default.createElement(Button_1.default, { className: cx("Combo-addBtn", addButtonClassName), tooltip: __('Combo.add'), onClick: this.addItem },
|
613
614
|
addIcon ? react_1.default.createElement(icons_1.Icon, { icon: "plus", className: "icon" }) : null,
|
614
615
|
react_1.default.createElement("span", null, __(addButtonText || 'Combo.add'))))) : null,
|
615
616
|
draggable ? (react_1.default.createElement("span", { className: cx("Combo-dragableTip"), ref: this.dragTipRef }, Array.isArray(value) && value.length > 1
|