d2coreui 23.0.30 → 23.0.31
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/components/grid/dataGrid.js +10 -10
- package/components/grid/dataGrid.js.map +1 -1
- package/components/input/autoCompleteInput.js +15 -15
- package/components/input/autoCompleteInput.js.map +1 -1
- package/components/input/maskedInput.d.ts +1 -1
- package/components/input/maskedInput.js +1 -1
- package/components/input/maskedInput.js.map +1 -1
- package/components/input/passwordInput.js +49 -35
- package/components/input/passwordInput.js.map +1 -1
- package/components/modal/modalDialog.d.ts +3 -0
- package/components/modal/modalDialog.js +13 -5
- package/components/modal/modalDialog.js.map +1 -1
- package/package.json +1 -1
- package/style/index.less +0 -4
|
@@ -95,24 +95,24 @@ export default class AutoCompleteInput extends React.Component {
|
|
|
95
95
|
if (typeof searchString === "string") {
|
|
96
96
|
this.onSelect(searchString);
|
|
97
97
|
}
|
|
98
|
+
}, onKeyDown: (e) => {
|
|
99
|
+
if (!this.state.opened && e.key === Key.ArrowDown) {
|
|
100
|
+
this.setState({ opened: true });
|
|
101
|
+
}
|
|
102
|
+
else if (e.key === Key.Escape) {
|
|
103
|
+
this.setState({ opened: false });
|
|
104
|
+
}
|
|
105
|
+
else if (this.state.opened && e.key === Key.Enter) {
|
|
106
|
+
this.setState({ opened: false });
|
|
107
|
+
this.onSearch();
|
|
108
|
+
}
|
|
109
|
+
else if (!this.state.opened && e.key === Key.Enter) {
|
|
110
|
+
this.onSearch();
|
|
111
|
+
}
|
|
98
112
|
}, onBlur: () => {
|
|
99
113
|
this.setState({ opened: false });
|
|
100
114
|
} }, rest, { disabled: disabled || this.state.loading }),
|
|
101
|
-
React.createElement(Input, { size: size, allowClear: !disabled,
|
|
102
|
-
if (!this.state.opened && e.key === Key.ArrowDown) {
|
|
103
|
-
this.setState({ opened: true });
|
|
104
|
-
}
|
|
105
|
-
else if (e.key === Key.Escape) {
|
|
106
|
-
this.setState({ opened: false });
|
|
107
|
-
}
|
|
108
|
-
else if (this.state.opened && e.key === Key.Enter) {
|
|
109
|
-
this.setState({ opened: false });
|
|
110
|
-
this.onSearch();
|
|
111
|
-
}
|
|
112
|
-
else if (!this.state.opened && e.key === Key.Enter) {
|
|
113
|
-
this.onSearch();
|
|
114
|
-
}
|
|
115
|
-
}, placeholder: placeholder, prefix: this.props.prefix, suffix: searchHistoryPresent &&
|
|
115
|
+
React.createElement(Input, { size: size, allowClear: !disabled, placeholder: placeholder, prefix: this.props.prefix, suffix: searchHistoryPresent &&
|
|
116
116
|
React.createElement(DropdownArrow, { opened: this.state.opened, onClick: () => {
|
|
117
117
|
if (!this.props.disabled && !this.state.loading) {
|
|
118
118
|
this.setState({ opened: !this.state.opened });
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autoCompleteInput.js","sourceRoot":"","sources":["../../../../components/input/autoCompleteInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\"\r\nimport {AutoComplete, Input} from \"antd\";\r\nimport {AutoCompleteProps} from \"antd/es/auto-complete\";\r\nimport {DefaultOptionType, RefSelectProps} from \"antd/es/select\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport DropdownArrow from \"../icons/dropdownArrow\";\r\n\r\ninterface InputSearchWithHistoryProps extends Omit<AutoCompleteProps, \"onChange\" | \"onSearch\" | \"placeholder\" | \"options\"> {\r\n value?: string\r\n\r\n options?: string[]\r\n\r\n placeholder?: string\r\n\r\n prefix?: React.ReactNode\r\n\r\n onChange(searchString: string): void\r\n\r\n onSearch(): void\r\n\r\n onPressEnter?(): void\r\n\r\n stringFormatter?(rawString: string): string\r\n}\r\n\r\ninterface InputSearchWithHistoryState {\r\n opened: boolean\r\n loading: boolean\r\n searchString?: string\r\n}\r\n\r\nexport default class AutoCompleteInput extends React.Component<InputSearchWithHistoryProps, InputSearchWithHistoryState> {\r\n static get defaultProps() {\r\n return {\r\n onSearch: () => {\r\n },\r\n onChange: () => {\r\n }\r\n };\r\n }\r\n\r\n private autocomplete: React.RefObject<RefSelectProps>;\r\n\r\n constructor(props: Readonly<InputSearchWithHistoryProps>) {\r\n super(props);\r\n this.state = {\r\n opened: false,\r\n loading: false,\r\n };\r\n\r\n this.autocomplete = React.createRef();\r\n this.focus = this.focus.bind(this);\r\n }\r\n\r\n focus() {\r\n this.autocomplete.current?.focus();\r\n }\r\n\r\n /**\r\n * Handling setting search string from parent component\r\n */\r\n static getDerivedStateFromProps(props: InputSearchWithHistoryProps, state: InputSearchWithHistoryState): Partial<InputSearchWithHistoryState> {\r\n const newState: Partial<InputSearchWithHistoryState> = {};\r\n if (props.value !== state.searchString) {\r\n newState.searchString = props.value;\r\n }\r\n return newState;\r\n }\r\n\r\n setSearchString(searchString: string) {\r\n if(this.props.stringFormatter) {\r\n if (searchString.indexOf(\"ðð\") < 0 && this.props.options && this.props.options.length > 0) {\r\n for (let i = 0; i < this.props.options.length; i++) {\r\n if (searchString === this.props.stringFormatter(this.props.options[i])) {\r\n searchString = this.props.options[i];\r\n break;\r\n }\r\n }\r\n }\r\n if (this.state.searchString !== searchString) {\r\n this.setState({opened: false, searchString: searchString}, () => {\r\n this.props.onChange(searchString);\r\n });\r\n } else {\r\n this.setState({opened: false});\r\n }\r\n } else {\r\n this.setState({opened: false, searchString: searchString});\r\n this.props.onChange(searchString);\r\n }\r\n }\r\n\r\n getAutocompleteOptions(): DefaultOptionType[] {\r\n const autocompleteData = [];\r\n if (this.props.options && this.props.options.length > 0) {\r\n autocompleteData.push(...this.props.options);\r\n }\r\n return autocompleteData.filter((e) => !!e).map((e) => {\r\n return ({\r\n value: \"\" + (this.props.stringFormatter ? this.props.stringFormatter(e) : e),\r\n label: \"\" + (this.props.stringFormatter ? this.props.stringFormatter(e) : e)\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Handling search confirmation by pressing enter\r\n */\r\n onSearch() {\r\n this.props.onSearch();\r\n }\r\n\r\n onSelect(searchString: string) {\r\n this.setSearchString(searchString);\r\n }\r\n\r\n render() {\r\n let {disabled, stringFormatter, onChange, onSearch, placeholder, onPressEnter, options, value, size, ...rest} = this.props;\r\n const searchHistoryPresent = this.props.options && this.props.options.length > 0;\r\n return (\r\n <AutoComplete\r\n options={this.state.opened ? this.getAutocompleteOptions() : []}\r\n style={{width: 200}}\r\n value={this.state.searchString && stringFormatter ? stringFormatter(this.state.searchString) : this.state.searchString}\r\n defaultOpen={false}\r\n defaultActiveFirstOption={false}\r\n onChange={(searchString) => {\r\n if (typeof searchString === \"string\") {\r\n this.setSearchString(searchString as string);\r\n }\r\n }}\r\n onSelect={(searchString) => {\r\n if (typeof searchString === \"string\") {\r\n this.onSelect(searchString as string);\r\n }\r\n }}\r\n onBlur={() => {\r\n this.setState({opened: false});\r\n }}\r\n {...rest}\r\n disabled={disabled || this.state.loading}\r\n >\r\n <Input\r\n size={size}\r\n allowClear={!disabled}\r\n onKeyDown={(e) => {\r\n if (!this.state.opened && e.key === Key.ArrowDown) {\r\n this.setState({opened: true});\r\n } else if (e.key === Key.Escape) {\r\n this.setState({opened: false});\r\n } else if (this.state.opened && e.key === Key.Enter) {\r\n this.setState({opened: false});\r\n this.onSearch();\r\n } else if (!this.state.opened && e.key === Key.Enter) {\r\n this.onSearch();\r\n }\r\n }}\r\n placeholder={placeholder}\r\n prefix={this.props.prefix}\r\n suffix={\r\n searchHistoryPresent &&\r\n <DropdownArrow opened={this.state.opened}\r\n onClick={() => {\r\n if (!this.props.disabled && !this.state.loading) {\r\n this.setState({opened: !this.state.opened});\r\n }\r\n }}/>\r\n }\r\n disabled={disabled || this.state.loading}\r\n onPressEnter={this.state.opened ? undefined : onPressEnter}/>\r\n </AutoComplete>\r\n );\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"autoCompleteInput.js","sourceRoot":"","sources":["../../../../components/input/autoCompleteInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAC,YAAY,EAAE,KAAK,EAAC,MAAM,MAAM,CAAC;AAGzC,OAAO,EAAC,GAAG,EAAC,MAAM,aAAa,CAAC;AAChC,OAAO,aAAa,MAAM,wBAAwB,CAAC;AA0BnD,MAAM,CAAC,OAAO,OAAO,iBAAkB,SAAQ,KAAK,CAAC,SAAmE;IACpH,MAAM,KAAK,YAAY;QACnB,OAAO;YACH,QAAQ,EAAE,GAAG,EAAE;YACf,CAAC;YACD,QAAQ,EAAE,GAAG,EAAE;YACf,CAAC;SACJ,CAAC;IACN,CAAC;IAID,YAAY,KAA4C;QACpD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,MAAM,EAAE,KAAK;YACb,OAAO,EAAE,KAAK;SACjB,CAAC;QAEF,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,KAAK;;QACD,MAAA,IAAI,CAAC,YAAY,CAAC,OAAO,0CAAE,KAAK,EAAE,CAAC;IACvC,CAAC;IAKD,MAAM,CAAC,wBAAwB,CAAC,KAAkC,EAAE,KAAkC;QAClG,MAAM,QAAQ,GAAyC,EAAE,CAAC;QAC1D,IAAI,KAAK,CAAC,KAAK,KAAK,KAAK,CAAC,YAAY,EAAE,CAAC;YACrC,QAAQ,CAAC,YAAY,GAAG,KAAK,CAAC,KAAK,CAAC;QACxC,CAAC;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,eAAe,CAAC,YAAoB;QAChC,IAAG,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC5B,IAAI,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACxF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;oBACjD,IAAI,YAAY,KAAK,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;wBACrE,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;wBACrC,MAAM;oBACV,CAAC;gBACL,CAAC;YACL,CAAC;YACD,IAAI,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,YAAY,EAAE,CAAC;gBAC3C,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAC,EAAE,GAAG,EAAE;oBAC5D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;gBACtC,CAAC,CAAC,CAAC;YACP,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YACnC,CAAC;QACL,CAAC;aAAM,CAAC;YACJ,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,YAAY,EAAC,CAAC,CAAC;YAC3D,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,sBAAsB;QAClB,MAAM,gBAAgB,GAAG,EAAE,CAAC;QAC5B,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtD,gBAAgB,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,gBAAgB,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;YACjD,OAAO,CAAC;gBACJ,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;gBAC5E,KAAK,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC/E,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC;IAKD,QAAQ;QACJ,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IAC1B,CAAC;IAED,QAAQ,CAAC,YAAoB;QACzB,IAAI,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IACvC,CAAC;IAED,MAAM;QACF,IAAI,KAA4G,IAAI,CAAC,KAAK,EAAtH,EAAC,QAAQ,EAAE,eAAe,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,YAAY,EAAE,OAAO,EAAE,KAAK,EAAE,IAAI,OAAuB,EAAlB,IAAI,cAAxG,kHAAyG,CAAa,CAAC;QAC3H,MAAM,oBAAoB,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;QACjF,OAAO,CACH,oBAAC,YAAY,kBACT,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,EAAE,EAC/D,KAAK,EAAE,EAAC,KAAK,EAAE,GAAG,EAAC,EACnB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,YAAY,IAAI,eAAe,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,EACtH,WAAW,EAAE,KAAK,EAClB,wBAAwB,EAAE,KAAK,EAC/B,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE;gBACvB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,eAAe,CAAC,YAAsB,CAAC,CAAC;gBACjD,CAAC;YACL,CAAC,EACD,QAAQ,EAAE,CAAC,YAAY,EAAE,EAAE;gBACvB,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;oBACnC,IAAI,CAAC,QAAQ,CAAC,YAAsB,CAAC,CAAC;gBAC1C,CAAC;YACL,CAAC,EACD,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACb,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,SAAS,EAAE,CAAC;oBAChD,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,IAAI,EAAC,CAAC,CAAC;gBAClC,CAAC;qBAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,MAAM,EAAE,CAAC;oBAC9B,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;gBACnC,CAAC;qBAAM,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;oBAClD,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;oBAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,CAAC;qBAAM,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,KAAK,EAAE,CAAC;oBACnD,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACpB,CAAC;YACL,CAAC,EACD,MAAM,EAAE,GAAG,EAAE;gBACT,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,KAAK,EAAC,CAAC,CAAC;YACnC,CAAC,IACG,IAAI,IACR,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO;YAExC,oBAAC,KAAK,IACF,IAAI,EAAE,IAAI,EACV,UAAU,EAAE,CAAC,QAAQ,EACrB,WAAW,EAAE,WAAW,EACxB,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,MAAM,EACF,oBAAoB;oBACpB,oBAAC,aAAa,IAAC,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,EACzB,OAAO,EAAE,GAAG,EAAE;4BACV,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,EAAE,CAAC;gCAC9C,IAAI,CAAC,QAAQ,CAAC,EAAC,MAAM,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,EAAC,CAAC,CAAC;4BAChD,CAAC;wBACL,CAAC,GAAG,EAEvB,QAAQ,EAAE,QAAQ,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,EACxC,YAAY,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,YAAY,GAAG,CACtD,CAClB,CAAC;IACN,CAAC;CACJ","sourcesContent":["import React from \"react\"\r\nimport {AutoComplete, Input} from \"antd\";\r\nimport {AutoCompleteProps} from \"antd/es/auto-complete\";\r\nimport {DefaultOptionType, RefSelectProps} from \"antd/es/select\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport DropdownArrow from \"../icons/dropdownArrow\";\r\n\r\ninterface InputSearchWithHistoryProps extends Omit<AutoCompleteProps, \"onChange\" | \"onSearch\" | \"placeholder\" | \"options\"> {\r\n value?: string\r\n\r\n options?: string[]\r\n\r\n placeholder?: string\r\n\r\n prefix?: React.ReactNode\r\n\r\n onChange(searchString: string): void\r\n\r\n onSearch(): void\r\n\r\n onPressEnter?(): void\r\n\r\n stringFormatter?(rawString: string): string\r\n}\r\n\r\ninterface InputSearchWithHistoryState {\r\n opened: boolean\r\n loading: boolean\r\n searchString?: string\r\n}\r\n\r\nexport default class AutoCompleteInput extends React.Component<InputSearchWithHistoryProps, InputSearchWithHistoryState> {\r\n static get defaultProps() {\r\n return {\r\n onSearch: () => {\r\n },\r\n onChange: () => {\r\n }\r\n };\r\n }\r\n\r\n private autocomplete: React.RefObject<RefSelectProps>;\r\n\r\n constructor(props: Readonly<InputSearchWithHistoryProps>) {\r\n super(props);\r\n this.state = {\r\n opened: false,\r\n loading: false,\r\n };\r\n\r\n this.autocomplete = React.createRef();\r\n this.focus = this.focus.bind(this);\r\n }\r\n\r\n focus() {\r\n this.autocomplete.current?.focus();\r\n }\r\n\r\n /**\r\n * Handling setting search string from parent component\r\n */\r\n static getDerivedStateFromProps(props: InputSearchWithHistoryProps, state: InputSearchWithHistoryState): Partial<InputSearchWithHistoryState> {\r\n const newState: Partial<InputSearchWithHistoryState> = {};\r\n if (props.value !== state.searchString) {\r\n newState.searchString = props.value;\r\n }\r\n return newState;\r\n }\r\n\r\n setSearchString(searchString: string) {\r\n if(this.props.stringFormatter) {\r\n if (searchString.indexOf(\"ðð\") < 0 && this.props.options && this.props.options.length > 0) {\r\n for (let i = 0; i < this.props.options.length; i++) {\r\n if (searchString === this.props.stringFormatter(this.props.options[i])) {\r\n searchString = this.props.options[i];\r\n break;\r\n }\r\n }\r\n }\r\n if (this.state.searchString !== searchString) {\r\n this.setState({opened: false, searchString: searchString}, () => {\r\n this.props.onChange(searchString);\r\n });\r\n } else {\r\n this.setState({opened: false});\r\n }\r\n } else {\r\n this.setState({opened: false, searchString: searchString});\r\n this.props.onChange(searchString);\r\n }\r\n }\r\n\r\n getAutocompleteOptions(): DefaultOptionType[] {\r\n const autocompleteData = [];\r\n if (this.props.options && this.props.options.length > 0) {\r\n autocompleteData.push(...this.props.options);\r\n }\r\n return autocompleteData.filter((e) => !!e).map((e) => {\r\n return ({\r\n value: \"\" + (this.props.stringFormatter ? this.props.stringFormatter(e) : e),\r\n label: \"\" + (this.props.stringFormatter ? this.props.stringFormatter(e) : e)\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Handling search confirmation by pressing enter\r\n */\r\n onSearch() {\r\n this.props.onSearch();\r\n }\r\n\r\n onSelect(searchString: string) {\r\n this.setSearchString(searchString);\r\n }\r\n\r\n render() {\r\n let {disabled, stringFormatter, onChange, onSearch, placeholder, onPressEnter, options, value, size, ...rest} = this.props;\r\n const searchHistoryPresent = this.props.options && this.props.options.length > 0;\r\n return (\r\n <AutoComplete\r\n options={this.state.opened ? this.getAutocompleteOptions() : []}\r\n style={{width: 200}}\r\n value={this.state.searchString && stringFormatter ? stringFormatter(this.state.searchString) : this.state.searchString}\r\n defaultOpen={false}\r\n defaultActiveFirstOption={false}\r\n onChange={(searchString) => {\r\n if (typeof searchString === \"string\") {\r\n this.setSearchString(searchString as string);\r\n }\r\n }}\r\n onSelect={(searchString) => {\r\n if (typeof searchString === \"string\") {\r\n this.onSelect(searchString as string);\r\n }\r\n }}\r\n onKeyDown={(e) => {\r\n if (!this.state.opened && e.key === Key.ArrowDown) {\r\n this.setState({opened: true});\r\n } else if (e.key === Key.Escape) {\r\n this.setState({opened: false});\r\n } else if (this.state.opened && e.key === Key.Enter) {\r\n this.setState({opened: false});\r\n this.onSearch();\r\n } else if (!this.state.opened && e.key === Key.Enter) {\r\n this.onSearch();\r\n }\r\n }}\r\n onBlur={() => {\r\n this.setState({opened: false});\r\n }}\r\n {...rest}\r\n disabled={disabled || this.state.loading}\r\n >\r\n <Input\r\n size={size}\r\n allowClear={!disabled}\r\n placeholder={placeholder}\r\n prefix={this.props.prefix}\r\n suffix={\r\n searchHistoryPresent &&\r\n <DropdownArrow opened={this.state.opened}\r\n onClick={() => {\r\n if (!this.props.disabled && !this.state.loading) {\r\n this.setState({opened: !this.state.opened});\r\n }\r\n }}/>\r\n }\r\n disabled={disabled || this.state.loading}\r\n onPressEnter={this.state.opened ? undefined : onPressEnter}/>\r\n </AutoComplete>\r\n );\r\n }\r\n}"]}
|
|
@@ -9,7 +9,7 @@ export type MaskedInputProps = InputProps & {
|
|
|
9
9
|
value?: string;
|
|
10
10
|
};
|
|
11
11
|
type TChangeEvent = ChangeEvent<HTMLInputElement>;
|
|
12
|
-
type TKeyboardEvent = KeyboardEvent<HTMLInputElement
|
|
12
|
+
type TKeyboardEvent = KeyboardEvent<HTMLInputElement> & InputEvent;
|
|
13
13
|
type TClipboardEvent = ClipboardEvent<any>;
|
|
14
14
|
export default class MaskedInput extends Component<MaskedInputProps, {
|
|
15
15
|
value?: string;
|
|
@@ -76,7 +76,7 @@ export default class MaskedInput extends Component {
|
|
|
76
76
|
}
|
|
77
77
|
e.preventDefault();
|
|
78
78
|
this._updateMaskSelection();
|
|
79
|
-
if (this.mask.input(e.key)) {
|
|
79
|
+
if (this.mask.input(e.key || e.data)) {
|
|
80
80
|
this.setInputValue(this.mask.getValue());
|
|
81
81
|
this._updateInputSelection();
|
|
82
82
|
if (this.props.onChange) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"maskedInput.js","sourceRoot":"","sources":["../../../../components/input/maskedInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React, {ChangeEvent, ClipboardEvent, Component, KeyboardEvent} from 'react';\r\nimport {Input, InputRef} from 'antd';\r\nimport InputMask from 'd2coreui/components/input/mask/inputMaskCore';\r\nimport {getSelection, isRedo, isUndo, setSelection} from 'd2coreui/components/input/mask/helpers';\r\nimport {InputProps} from 'antd/lib/input';\r\n\r\nexport type MaskedInputProps = InputProps & {\r\n mask: string;\r\n formatCharacters?: object;\r\n placeholderChar?: string;\r\n value?: string;\r\n};\r\n\r\ntype TChangeEvent = ChangeEvent<HTMLInputElement>;\r\ntype TKeyboardEvent = KeyboardEvent<HTMLInputElement>;\r\ntype TClipboardEvent = ClipboardEvent<any>;\r\n\r\nexport default class MaskedInput extends Component<MaskedInputProps, {value?: string}> {\r\n mask: InputMask;\r\n input!: HTMLInputElement;\r\n\r\n constructor(props: MaskedInputProps) {\r\n super(props);\r\n\r\n this.state = {\r\n value: this.props.value,\r\n }\r\n\r\n let options: any = {\r\n pattern: this.props.mask,\r\n value: this.props.value,\r\n formatCharacters: this.props.formatCharacters\r\n };\r\n\r\n if (this.props.placeholderChar) {\r\n options.placeholderChar = this.props.placeholderChar;\r\n }\r\n\r\n this.mask = new InputMask(options);\r\n }\r\n\r\n componentDidMount() {\r\n this.setInputValue(this._getDisplayValue());\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: MaskedInputProps) {\r\n if (\r\n this.props.mask !== nextProps.mask &&\r\n this.props.value !== nextProps.mask\r\n ) {\r\n // if we get a new value and a new mask at the same time\r\n // check if the mask.value is still the initial value\r\n // - if so use the nextProps value\r\n // - otherwise the `this.mask` has a value for us (most likely from paste action)\r\n if (this.mask.getValue() === this.mask.emptyValue) {\r\n this.mask.setPattern(nextProps.mask, {value: nextProps.value});\r\n } else {\r\n this.mask.setPattern(nextProps.mask, {\r\n value: this.mask.getRawValue()\r\n });\r\n }\r\n } else if (this.props.mask !== nextProps.mask) {\r\n this.mask.setPattern(nextProps.mask, {value: this.mask.getRawValue()});\r\n }\r\n\r\n if (this.props.value !== nextProps.value) {\r\n this.mask.setValue(nextProps.value);\r\n this.setInputValue(this._getDisplayValue());\r\n }\r\n }\r\n\r\n UNSAFE_componentWillUpdate(nextProps: MaskedInputProps) {\r\n if (!this.props.mask) return null;\r\n if (nextProps.mask !== this.props.mask) {\r\n this._updatePattern(nextProps);\r\n }\r\n return;\r\n }\r\n\r\n componentDidUpdate(prevProps: MaskedInputProps) {\r\n if (!this.props.mask) return null;\r\n if (prevProps.mask !== this.props.mask && this.mask.selection.start) {\r\n this._updateInputSelection();\r\n }\r\n return;\r\n }\r\n\r\n _updatePattern(props: MaskedInputProps) {\r\n this.mask.setPattern(props.mask, {\r\n value: this.mask.getRawValue(),\r\n selection: getSelection(this.input)\r\n });\r\n }\r\n\r\n _updateMaskSelection() {\r\n this.mask.selection = getSelection(this.input);\r\n }\r\n\r\n _updateInputSelection() {\r\n setSelection(this.input, this.mask.selection);\r\n }\r\n\r\n _onChange = (e: TChangeEvent) => {\r\n let maskValue = this.mask.getValue();\r\n let incomingValue = e.target.value;\r\n if (incomingValue !== maskValue) {\r\n // only modify mask if form contents actually changed\r\n this._updateMaskSelection();\r\n this.mask.setValue(incomingValue); // write the whole updated value into the mask\r\n this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value\r\n this._updateInputSelection();\r\n }\r\n\r\n if (this.props.onChange) {\r\n this.props.onChange(e);\r\n }\r\n };\r\n\r\n _onKeyDown = (e: TKeyboardEvent) => {\r\n setTimeout(() => {\r\n this.input.classList[this.input.value ? 'add' : 'remove']('has-value');\r\n }, 100);\r\n\r\n if (isUndo(e)) {\r\n e.preventDefault();\r\n if (this.mask.undo()) {\r\n this.setInputValue(this._getDisplayValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n return;\r\n } else if (isRedo(e)) {\r\n e.preventDefault();\r\n if (this.mask.redo()) {\r\n this.setInputValue(this._getDisplayValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if (e.key === 'Backspace') {\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n if (this.mask.backspace()) {\r\n let value = this._getDisplayValue();\r\n this.setInputValue(value);\r\n if (value) {\r\n this._updateInputSelection();\r\n }\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n }\r\n };\r\n\r\n _onKeyPress = (e: TKeyboardEvent) => {\r\n // Ignore modified key presses\r\n // Ignore enter key to allow form submission\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.key === 'Enter') {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n if (this.mask.input(e.key /*|| e.data*/)) {\r\n this.setInputValue(this.mask.getValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n };\r\n\r\n _onPaste = (e: TClipboardEvent) => {\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n // getData value needed for IE also works in FF & Chrome\r\n if (this.mask.paste(e.clipboardData.getData('Text'))) {\r\n // @ts-ignore\r\n this.setInputValue(this.mask.getValue());\r\n // Timeout needed for IE\r\n setTimeout(() => this._updateInputSelection(), 0);\r\n if (this.props.onChange) {\r\n // @ts-ignore\r\n this.props.onChange(e);\r\n }\r\n }\r\n };\r\n\r\n _getDisplayValue() {\r\n let value = this.mask.getValue();\r\n return value === this.mask.emptyValue ? '' : value;\r\n }\r\n\r\n _keyPressPropName() {\r\n if (typeof navigator !== 'undefined') {\r\n return navigator.userAgent.match(/Android/i)\r\n ? 'onBeforeInput'\r\n : 'onKeyPress';\r\n }\r\n return 'onKeyPress';\r\n }\r\n\r\n _getEventHandlers(): {\r\n onChange: (e: TChangeEvent) => void;\r\n onKeyDown: (e: TKeyboardEvent) => void;\r\n onPaste: (e: TClipboardEvent) => void;\r\n onBeforeInput?: (e: TChangeEvent) => void;\r\n onKeyPress?: (e: TKeyboardEvent) => void;\r\n } {\r\n return {\r\n onChange: this._onChange,\r\n onKeyDown: this._onKeyDown,\r\n onPaste: this._onPaste,\r\n [this._keyPressPropName()]: this._onKeyPress\r\n };\r\n }\r\n\r\n focus() {\r\n this.input.focus();\r\n }\r\n\r\n blur() {\r\n this.input.blur();\r\n }\r\n\r\n getInputProps = () => {\r\n let maxLength = this.mask.pattern.length;\r\n let eventHandlers = this._getEventHandlers();\r\n let {placeholder = this.mask.emptyValue} = this.props;\r\n\r\n let {placeholderChar, formatCharacters, ...cleanedProps} = this.props;\r\n const props = {...cleanedProps, ...eventHandlers, maxLength, placeholder};\r\n delete props.value;\r\n return props;\r\n };\r\n\r\n _lastValue = null as any;\r\n setInputValue = (value: string) => {\r\n if (!this._Input) return;\r\n if (value === this._lastValue) return;\r\n\r\n this.setState({value: value});\r\n\r\n this._lastValue = value;\r\n if (this._Input.input) {\r\n this._Input.input.value = value;\r\n }\r\n };\r\n\r\n _Input: InputRef | null = null;\r\n handleInputRef = (ref: InputRef) => {\r\n if (!ref || !ref.input) return;\r\n this._Input = ref;\r\n this.input = ref.input;\r\n\r\n if (\r\n this._lastValue === null &&\r\n typeof this.props.defaultValue === 'string'\r\n ) {\r\n this.mask.setValue(this.props.defaultValue); // write the whole updated value into the mask\r\n this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value\r\n }\r\n };\r\n\r\n render() {\r\n return <Input value={this.state.value} {...this.getInputProps()} ref={this.handleInputRef}/>;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"maskedInput.js","sourceRoot":"","sources":["../../../../components/input/maskedInput.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,EAAE,EAA8B,SAAS,EAAgB,MAAM,OAAO,CAAC;AACnF,OAAO,EAAC,KAAK,EAAW,MAAM,MAAM,CAAC;AACrC,OAAO,SAAS,MAAM,8CAA8C,CAAC;AACrE,OAAO,EAAC,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,EAAC,MAAM,wCAAwC,CAAC;AAclG,MAAM,CAAC,OAAO,OAAO,WAAY,SAAQ,SAA6C;IAIlF,YAAY,KAAuB;QAC/B,KAAK,CAAC,KAAK,CAAC,CAAC;QAgFjB,cAAS,GAAG,CAAC,CAAe,EAAE,EAAE;YAC5B,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;YACrC,IAAI,aAAa,GAAG,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;YACnC,IAAI,aAAa,KAAK,SAAS,EAAE,CAAC;gBAE9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAClC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;gBAC5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YACjC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;gBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC3B,CAAC;QACL,CAAC,CAAC;QAEF,eAAU,GAAG,CAAC,CAAiB,EAAE,EAAE;YAC/B,UAAU,CAAC,GAAG,EAAE;gBACZ,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,WAAW,CAAC,CAAC;YAC3E,CAAC,EAAE,GAAG,CAAC,CAAC;YAER,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACZ,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBAC5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAA4B,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACD,OAAO;YACX,CAAC;iBAAM,IAAI,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;gBACnB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC;oBACnB,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;oBAC5C,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAA4B,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;gBACD,OAAO;YACX,CAAC;YAED,IAAI,CAAC,CAAC,GAAG,KAAK,WAAW,EAAE,CAAC;gBACxB,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;gBAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC;oBACxB,IAAI,KAAK,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACpC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;oBAC1B,IAAI,KAAK,EAAE,CAAC;wBACR,IAAI,CAAC,qBAAqB,EAAE,CAAC;oBACjC,CAAC;oBACD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;wBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAA4B,CAAC,CAAC;oBACtD,CAAC;gBACL,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,gBAAW,GAAG,CAAC,CAAiB,EAAE,EAAE;YAGhC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE,CAAC;gBAC1D,OAAO;YACX,CAAC;YAED,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAc,CAAC,EAAE,CAAC;gBAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBACtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAA4B,CAAC,CAAC;gBACtD,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAEF,aAAQ,GAAG,CAAC,CAAkB,EAAE,EAAE;YAC9B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAE5B,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;gBAEnD,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC,CAAC;gBAEzC,UAAU,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;oBAEtB,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;gBAC3B,CAAC;YACL,CAAC;QACL,CAAC,CAAC;QAuCF,kBAAa,GAAG,GAAG,EAAE;YACjB,IAAI,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;YACzC,IAAI,aAAa,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAC;YAC7C,IAAI,EAAC,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAEtD,IAAI,KAAuD,IAAI,CAAC,KAAK,EAAjE,EAAC,eAAe,EAAE,gBAAgB,OAA+B,EAA1B,YAAY,cAAnD,uCAAoD,CAAa,CAAC;YACtE,MAAM,KAAK,iDAAO,YAAY,GAAK,aAAa,KAAE,SAAS,EAAE,WAAW,GAAC,CAAC;YAC1E,OAAO,KAAK,CAAC,KAAK,CAAC;YACnB,OAAO,KAAK,CAAC;QACjB,CAAC,CAAC;QAEF,eAAU,GAAG,IAAW,CAAC;QACzB,kBAAa,GAAG,CAAC,KAAa,EAAE,EAAE;YAC9B,IAAI,CAAC,IAAI,CAAC,MAAM;gBAAE,OAAO;YACzB,IAAI,KAAK,KAAK,IAAI,CAAC,UAAU;gBAAE,OAAO;YAEtC,IAAI,CAAC,QAAQ,CAAC,EAAC,KAAK,EAAE,KAAK,EAAC,CAAC,CAAC;YAE9B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,IAAI,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC;YACpC,CAAC;QACL,CAAC,CAAC;QAEF,WAAM,GAAoB,IAAI,CAAC;QAC/B,mBAAc,GAAG,CAAC,GAAa,EAAE,EAAE;YAC/B,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,KAAK;gBAAE,OAAO;YAC/B,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAClB,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC;YAEvB,IACI,IAAI,CAAC,UAAU,KAAK,IAAI;gBACxB,OAAO,IAAI,CAAC,KAAK,CAAC,YAAY,KAAK,QAAQ,EAC7C,CAAC;gBACC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,CAAC;gBAC5C,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;YAChD,CAAC;QACL,CAAC,CAAC;QArPE,IAAI,CAAC,KAAK,GAAG;YACT,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;SAC1B,CAAA;QAED,IAAI,OAAO,GAAQ;YACf,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI;YACxB,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK;YACvB,gBAAgB,EAAE,IAAI,CAAC,KAAK,CAAC,gBAAgB;SAChD,CAAC;QAEF,IAAI,IAAI,CAAC,KAAK,CAAC,eAAe,EAAE,CAAC;YAC7B,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC,KAAK,CAAC,eAAe,CAAC;QACzD,CAAC;QAED,IAAI,CAAC,IAAI,GAAG,IAAI,SAAS,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;IAED,iBAAiB;QACb,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;IAChD,CAAC;IAED,gCAAgC,CAAC,SAA2B;QACxD,IACI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI;YAClC,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,EACrC,CAAC;YAKC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,SAAS,CAAC,KAAK,EAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE;oBACjC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;iBACjC,CAAC,CAAC;YACP,CAAC;QACL,CAAC;aAAM,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC;YAC5C,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,IAAI,EAAE,EAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,EAAC,CAAC,CAAC;QAC3E,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,SAAS,CAAC,KAAK,EAAE,CAAC;YACvC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAED,0BAA0B,CAAC,SAA2B;QAClD,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;YACrC,IAAI,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACnC,CAAC;QACD,OAAO;IACX,CAAC;IAED,kBAAkB,CAAC,SAA2B;QAC1C,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI;YAAE,OAAO,IAAI,CAAC;QAClC,IAAI,SAAS,CAAC,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,CAAC;YAClE,IAAI,CAAC,qBAAqB,EAAE,CAAC;QACjC,CAAC;QACD,OAAO;IACX,CAAC;IAED,cAAc,CAAC,KAAuB;QAClC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,EAAE;YAC7B,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YAC9B,SAAS,EAAE,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC;SACtC,CAAC,CAAC;IACP,CAAC;IAED,oBAAoB;QAChB,IAAI,CAAC,IAAI,CAAC,SAAS,GAAG,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;IACnD,CAAC;IAED,qBAAqB;QACjB,YAAY,CAAC,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IAClD,CAAC;IA+FD,gBAAgB;QACZ,IAAI,KAAK,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;QACjC,OAAO,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;IACvD,CAAC;IAED,iBAAiB;QACb,IAAI,OAAO,SAAS,KAAK,WAAW,EAAE,CAAC;YACnC,OAAO,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,UAAU,CAAC;gBACxC,CAAC,CAAC,eAAe;gBACjB,CAAC,CAAC,YAAY,CAAC;QACvB,CAAC;QACD,OAAO,YAAY,CAAC;IACxB,CAAC;IAED,iBAAiB;QAOb,OAAO;YACH,QAAQ,EAAE,IAAI,CAAC,SAAS;YACxB,SAAS,EAAE,IAAI,CAAC,UAAU;YAC1B,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,EAAE,IAAI,CAAC,WAAW;SAC/C,CAAC;IACN,CAAC;IAED,KAAK;QACD,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,IAAI;QACA,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAyCD,MAAM;QACF,OAAO,oBAAC,KAAK,kBAAC,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,KAAK,IAAM,IAAI,CAAC,aAAa,EAAE,IAAE,GAAG,EAAE,IAAI,CAAC,cAAc,IAAG,CAAC;IACjG,CAAC;CACJ","sourcesContent":["import React, {ChangeEvent, ClipboardEvent, Component, KeyboardEvent} from 'react';\r\nimport {Input, InputRef} from 'antd';\r\nimport InputMask from 'd2coreui/components/input/mask/inputMaskCore';\r\nimport {getSelection, isRedo, isUndo, setSelection} from 'd2coreui/components/input/mask/helpers';\r\nimport {InputProps} from 'antd/lib/input';\r\n\r\nexport type MaskedInputProps = InputProps & {\r\n mask: string;\r\n formatCharacters?: object;\r\n placeholderChar?: string;\r\n value?: string;\r\n};\r\n\r\ntype TChangeEvent = ChangeEvent<HTMLInputElement>;\r\ntype TKeyboardEvent = KeyboardEvent<HTMLInputElement> & InputEvent; // on mobile devices InputEvent is called\r\ntype TClipboardEvent = ClipboardEvent<any>;\r\n\r\nexport default class MaskedInput extends Component<MaskedInputProps, {value?: string}> {\r\n mask: InputMask;\r\n input!: HTMLInputElement;\r\n\r\n constructor(props: MaskedInputProps) {\r\n super(props);\r\n\r\n this.state = {\r\n value: this.props.value,\r\n }\r\n\r\n let options: any = {\r\n pattern: this.props.mask,\r\n value: this.props.value,\r\n formatCharacters: this.props.formatCharacters\r\n };\r\n\r\n if (this.props.placeholderChar) {\r\n options.placeholderChar = this.props.placeholderChar;\r\n }\r\n\r\n this.mask = new InputMask(options);\r\n }\r\n\r\n componentDidMount() {\r\n this.setInputValue(this._getDisplayValue());\r\n }\r\n\r\n UNSAFE_componentWillReceiveProps(nextProps: MaskedInputProps) {\r\n if (\r\n this.props.mask !== nextProps.mask &&\r\n this.props.value !== nextProps.mask\r\n ) {\r\n // if we get a new value and a new mask at the same time\r\n // check if the mask.value is still the initial value\r\n // - if so use the nextProps value\r\n // - otherwise the `this.mask` has a value for us (most likely from paste action)\r\n if (this.mask.getValue() === this.mask.emptyValue) {\r\n this.mask.setPattern(nextProps.mask, {value: nextProps.value});\r\n } else {\r\n this.mask.setPattern(nextProps.mask, {\r\n value: this.mask.getRawValue()\r\n });\r\n }\r\n } else if (this.props.mask !== nextProps.mask) {\r\n this.mask.setPattern(nextProps.mask, {value: this.mask.getRawValue()});\r\n }\r\n\r\n if (this.props.value !== nextProps.value) {\r\n this.mask.setValue(nextProps.value);\r\n this.setInputValue(this._getDisplayValue());\r\n }\r\n }\r\n\r\n UNSAFE_componentWillUpdate(nextProps: MaskedInputProps) {\r\n if (!this.props.mask) return null;\r\n if (nextProps.mask !== this.props.mask) {\r\n this._updatePattern(nextProps);\r\n }\r\n return;\r\n }\r\n\r\n componentDidUpdate(prevProps: MaskedInputProps) {\r\n if (!this.props.mask) return null;\r\n if (prevProps.mask !== this.props.mask && this.mask.selection.start) {\r\n this._updateInputSelection();\r\n }\r\n return;\r\n }\r\n\r\n _updatePattern(props: MaskedInputProps) {\r\n this.mask.setPattern(props.mask, {\r\n value: this.mask.getRawValue(),\r\n selection: getSelection(this.input)\r\n });\r\n }\r\n\r\n _updateMaskSelection() {\r\n this.mask.selection = getSelection(this.input);\r\n }\r\n\r\n _updateInputSelection() {\r\n setSelection(this.input, this.mask.selection);\r\n }\r\n\r\n _onChange = (e: TChangeEvent) => {\r\n let maskValue = this.mask.getValue();\r\n let incomingValue = e.target.value;\r\n if (incomingValue !== maskValue) {\r\n // only modify mask if form contents actually changed\r\n this._updateMaskSelection();\r\n this.mask.setValue(incomingValue); // write the whole updated value into the mask\r\n this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value\r\n this._updateInputSelection();\r\n }\r\n\r\n if (this.props.onChange) {\r\n this.props.onChange(e);\r\n }\r\n };\r\n\r\n _onKeyDown = (e: TKeyboardEvent) => {\r\n setTimeout(() => {\r\n this.input.classList[this.input.value ? 'add' : 'remove']('has-value');\r\n }, 100);\r\n\r\n if (isUndo(e)) {\r\n e.preventDefault();\r\n if (this.mask.undo()) {\r\n this.setInputValue(this._getDisplayValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n return;\r\n } else if (isRedo(e)) {\r\n e.preventDefault();\r\n if (this.mask.redo()) {\r\n this.setInputValue(this._getDisplayValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n return;\r\n }\r\n\r\n if (e.key === 'Backspace') {\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n if (this.mask.backspace()) {\r\n let value = this._getDisplayValue();\r\n this.setInputValue(value);\r\n if (value) {\r\n this._updateInputSelection();\r\n }\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n }\r\n };\r\n\r\n _onKeyPress = (e: TKeyboardEvent) => {\r\n // Ignore modified key presses\r\n // Ignore enter key to allow form submission\r\n if (e.metaKey || e.altKey || e.ctrlKey || e.key === 'Enter') {\r\n return;\r\n }\r\n\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n if (this.mask.input(e.key || e.data as string)) {\r\n this.setInputValue(this.mask.getValue());\r\n this._updateInputSelection();\r\n if (this.props.onChange) {\r\n this.props.onChange(e as unknown as TChangeEvent);\r\n }\r\n }\r\n };\r\n\r\n _onPaste = (e: TClipboardEvent) => {\r\n e.preventDefault();\r\n this._updateMaskSelection();\r\n // getData value needed for IE also works in FF & Chrome\r\n if (this.mask.paste(e.clipboardData.getData('Text'))) {\r\n // @ts-ignore\r\n this.setInputValue(this.mask.getValue());\r\n // Timeout needed for IE\r\n setTimeout(() => this._updateInputSelection(), 0);\r\n if (this.props.onChange) {\r\n // @ts-ignore\r\n this.props.onChange(e);\r\n }\r\n }\r\n };\r\n\r\n _getDisplayValue() {\r\n let value = this.mask.getValue();\r\n return value === this.mask.emptyValue ? '' : value;\r\n }\r\n\r\n _keyPressPropName() {\r\n if (typeof navigator !== 'undefined') {\r\n return navigator.userAgent.match(/Android/i)\r\n ? 'onBeforeInput'\r\n : 'onKeyPress';\r\n }\r\n return 'onKeyPress';\r\n }\r\n\r\n _getEventHandlers(): {\r\n onChange: (e: TChangeEvent) => void;\r\n onKeyDown: (e: TKeyboardEvent) => void;\r\n onPaste: (e: TClipboardEvent) => void;\r\n onBeforeInput?: (e: TChangeEvent) => void;\r\n onKeyPress?: (e: TKeyboardEvent) => void;\r\n } {\r\n return {\r\n onChange: this._onChange,\r\n onKeyDown: this._onKeyDown,\r\n onPaste: this._onPaste,\r\n [this._keyPressPropName()]: this._onKeyPress\r\n };\r\n }\r\n\r\n focus() {\r\n this.input.focus();\r\n }\r\n\r\n blur() {\r\n this.input.blur();\r\n }\r\n\r\n getInputProps = () => {\r\n let maxLength = this.mask.pattern.length;\r\n let eventHandlers = this._getEventHandlers();\r\n let {placeholder = this.mask.emptyValue} = this.props;\r\n\r\n let {placeholderChar, formatCharacters, ...cleanedProps} = this.props;\r\n const props = {...cleanedProps, ...eventHandlers, maxLength, placeholder};\r\n delete props.value;\r\n return props;\r\n };\r\n\r\n _lastValue = null as any;\r\n setInputValue = (value: string) => {\r\n if (!this._Input) return;\r\n if (value === this._lastValue) return;\r\n\r\n this.setState({value: value});\r\n\r\n this._lastValue = value;\r\n if (this._Input.input) {\r\n this._Input.input.value = value;\r\n }\r\n };\r\n\r\n _Input: InputRef | null = null;\r\n handleInputRef = (ref: InputRef) => {\r\n if (!ref || !ref.input) return;\r\n this._Input = ref;\r\n this.input = ref.input;\r\n\r\n if (\r\n this._lastValue === null &&\r\n typeof this.props.defaultValue === 'string'\r\n ) {\r\n this.mask.setValue(this.props.defaultValue); // write the whole updated value into the mask\r\n this.setInputValue(this._getDisplayValue()); // update the form with pattern applied to the value\r\n }\r\n };\r\n\r\n render() {\r\n return <Input value={this.state.value} {...this.getInputProps()} ref={this.handleInputRef}/>;\r\n }\r\n}"]}
|
|
@@ -1,47 +1,61 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { EyeInvisibleOutlined, EyeOutlined } from "@ant-design/icons";
|
|
3
3
|
import { Input } from "antd";
|
|
4
|
+
const IconRendererClass = class IconRend extends React.Component {
|
|
5
|
+
constructor(props) {
|
|
6
|
+
super(props);
|
|
7
|
+
this.start = 0;
|
|
8
|
+
this.end = 0;
|
|
9
|
+
}
|
|
10
|
+
fixCursorReset() {
|
|
11
|
+
const component = this.props.component;
|
|
12
|
+
this.start = component.input.selectionStart;
|
|
13
|
+
this.end = component.input.selectionEnd;
|
|
14
|
+
setTimeout(() => {
|
|
15
|
+
component.input.selectionStart = this.start;
|
|
16
|
+
component.input.selectionEnd = this.end;
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
render() {
|
|
20
|
+
const { visible, onClick } = this.props;
|
|
21
|
+
const IconClass = visible ? EyeOutlined : EyeInvisibleOutlined;
|
|
22
|
+
return (React.createElement(IconClass, { key: "password-icon", className: "ant-input-password-icon", onTouchStart: (e) => {
|
|
23
|
+
e.preventDefault();
|
|
24
|
+
if (!visible) {
|
|
25
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
26
|
+
}
|
|
27
|
+
}, onTouchEnd: () => {
|
|
28
|
+
if (visible) {
|
|
29
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
30
|
+
this.fixCursorReset();
|
|
31
|
+
}
|
|
32
|
+
}, onMouseDown: (e) => {
|
|
33
|
+
e.preventDefault();
|
|
34
|
+
if (!visible) {
|
|
35
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
36
|
+
}
|
|
37
|
+
}, onMouseUp: () => {
|
|
38
|
+
if (visible) {
|
|
39
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
40
|
+
this.fixCursorReset();
|
|
41
|
+
}
|
|
42
|
+
}, onMouseLeave: () => {
|
|
43
|
+
if (visible) {
|
|
44
|
+
onClick === null || onClick === void 0 ? void 0 : onClick();
|
|
45
|
+
this.fixCursorReset();
|
|
46
|
+
}
|
|
47
|
+
} }));
|
|
48
|
+
}
|
|
49
|
+
;
|
|
50
|
+
};
|
|
4
51
|
export default class PasswordInput extends React.Component {
|
|
5
52
|
constructor(props) {
|
|
6
53
|
super(props);
|
|
7
54
|
this.component = null;
|
|
8
55
|
this.getIcon = (visible) => {
|
|
9
|
-
|
|
10
|
-
render() {
|
|
11
|
-
const IconClass = visible ? EyeOutlined : EyeInvisibleOutlined;
|
|
12
|
-
return (React.createElement(IconClass, { key: "password-icon", className: "ant-input-password-icon", onTouchStart: (e) => {
|
|
13
|
-
var _a, _b;
|
|
14
|
-
e.preventDefault();
|
|
15
|
-
if (!visible) {
|
|
16
|
-
(_b = (_a = this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
17
|
-
}
|
|
18
|
-
}, onTouchEnd: () => {
|
|
19
|
-
var _a, _b;
|
|
20
|
-
if (visible) {
|
|
21
|
-
(_b = (_a = this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
22
|
-
}
|
|
23
|
-
}, onMouseDown: (e) => {
|
|
24
|
-
var _a, _b;
|
|
25
|
-
e.preventDefault();
|
|
26
|
-
if (!visible) {
|
|
27
|
-
(_b = (_a = this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
28
|
-
}
|
|
29
|
-
}, onMouseUp: () => {
|
|
30
|
-
var _a, _b;
|
|
31
|
-
if (visible) {
|
|
32
|
-
(_b = (_a = this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
33
|
-
}
|
|
34
|
-
}, onMouseLeave: () => {
|
|
35
|
-
var _a, _b;
|
|
36
|
-
if (visible) {
|
|
37
|
-
(_b = (_a = this.props).onClick) === null || _b === void 0 ? void 0 : _b.call(_a);
|
|
38
|
-
}
|
|
39
|
-
} }));
|
|
40
|
-
}
|
|
41
|
-
;
|
|
42
|
-
};
|
|
43
|
-
return React.createElement(IconRenderer, null);
|
|
56
|
+
return React.createElement(IconRendererClass, { visible: visible, component: this.component });
|
|
44
57
|
};
|
|
58
|
+
this.getIcon = this.getIcon.bind(this);
|
|
45
59
|
}
|
|
46
60
|
focus() {
|
|
47
61
|
var _a, _b;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"passwordInput.js","sourceRoot":"","sources":["../../../../components/input/passwordInput.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,EAAC,oBAAoB,EAAE,WAAW,EAAC,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAC,KAAK,EAAC,MAAM,MAAM,CAAC;AAE3B,MAAM,
|
|
1
|
+
{"version":3,"file":"passwordInput.js","sourceRoot":"","sources":["../../../../components/input/passwordInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\"\r\nimport {PasswordProps} from \"antd/lib/input/Password\";\r\nimport {EyeInvisibleOutlined, EyeOutlined} from \"@ant-design/icons\";\r\nimport {Input} from \"antd\";\r\n\r\nconst IconRendererClass = class IconRend extends React.Component<any, any> {\r\n private start: number = 0;\r\n private end: number = 0;\r\n\r\n constructor(props: any) {\r\n super(props);\r\n }\r\n\r\n fixCursorReset() {\r\n const component = this.props.component;\r\n\r\n this.start = component.input.selectionStart;\r\n this.end = component.input.selectionEnd;\r\n\r\n // Fix bug when cursor was moved to start\r\n setTimeout(() => {\r\n component.input.selectionStart = this.start;\r\n component.input.selectionEnd = this.end;\r\n });\r\n }\r\n\r\n render() {\r\n const {visible, onClick} = this.props;\r\n const IconClass = visible ? EyeOutlined : EyeInvisibleOutlined;\r\n\r\n return (<IconClass\r\n key=\"password-icon\"\r\n className=\"ant-input-password-icon\"\r\n onTouchStart={(e) => {\r\n e.preventDefault();\r\n if (!visible) {\r\n onClick?.();\r\n }\r\n }}\r\n onTouchEnd={() => {\r\n if (visible) {\r\n onClick?.();\r\n this.fixCursorReset();\r\n }\r\n }}\r\n onMouseDown={(e) => {\r\n e.preventDefault();\r\n if (!visible) {\r\n onClick?.();\r\n }\r\n }}\r\n onMouseUp={() => {\r\n if (visible) {\r\n onClick?.();\r\n this.fixCursorReset();\r\n }\r\n }}\r\n onMouseLeave={() => {\r\n if (visible) {\r\n onClick?.();\r\n this.fixCursorReset();\r\n }\r\n }}\r\n />);\r\n };\r\n};\r\n\r\nexport default class PasswordInput extends React.Component<PasswordProps, unknown> {\r\n private component: any | null = null;\r\n\r\n constructor(props: Readonly<PasswordProps>) {\r\n super(props);\r\n this.getIcon = this.getIcon.bind(this);\r\n }\r\n\r\n focus() {\r\n this.component?.focus?.();\r\n }\r\n\r\n getIcon = (visible: boolean) => {\r\n return <IconRendererClass visible={visible} component={this.component} />;\r\n }\r\n\r\n render() {\r\n return <Input.Password {...this.props} iconRender={this.getIcon} visibilityToggle={true} ref={(component) => {\r\n this.component = component;\r\n }}/>\r\n }\r\n}\r\n"]}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
import { ModalFuncProps, ModalProps } from "antd/es/modal";
|
|
3
|
+
import { HookAPI } from "antd/es/modal/useModal";
|
|
3
4
|
export declare const enum ModalDialogMode {
|
|
4
5
|
NO_BUTTONS = "NO_BUTTONS",
|
|
5
6
|
OK_CANCEL = "OK_CANCEL",
|
|
@@ -22,7 +23,9 @@ export interface ModalDialogProps extends Omit<ModalProps, "width"> {
|
|
|
22
23
|
}): void;
|
|
23
24
|
}
|
|
24
25
|
export declare class ModalDialog extends React.Component<ModalDialogProps, {}> {
|
|
26
|
+
private static modalStatic;
|
|
25
27
|
constructor(props: Readonly<ModalDialogProps>);
|
|
28
|
+
static setModalInstance(instance: HookAPI): void;
|
|
26
29
|
static confirm(props: ModalDialogFuncProps): {
|
|
27
30
|
destroy: () => void;
|
|
28
31
|
update: (newConfig: ModalFuncProps) => void;
|
|
@@ -25,12 +25,16 @@ export class ModalDialog extends React.Component {
|
|
|
25
25
|
constructor(props) {
|
|
26
26
|
super(props);
|
|
27
27
|
}
|
|
28
|
+
static setModalInstance(instance) {
|
|
29
|
+
ModalDialog.modalStatic = instance;
|
|
30
|
+
}
|
|
28
31
|
static confirm(props) {
|
|
29
32
|
let dialogHandler;
|
|
30
33
|
const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
|
|
31
34
|
dialogHandler === null || dialogHandler === void 0 ? void 0 : dialogHandler.destroy();
|
|
32
35
|
});
|
|
33
|
-
|
|
36
|
+
const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.confirm : Modal.confirm;
|
|
37
|
+
dialogHandler = method(modalDialogProperties);
|
|
34
38
|
return dialogHandler;
|
|
35
39
|
}
|
|
36
40
|
static error(props) {
|
|
@@ -38,7 +42,8 @@ export class ModalDialog extends React.Component {
|
|
|
38
42
|
const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
|
|
39
43
|
dialogHandler === null || dialogHandler === void 0 ? void 0 : dialogHandler.destroy();
|
|
40
44
|
});
|
|
41
|
-
|
|
45
|
+
const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.error : Modal.error;
|
|
46
|
+
dialogHandler = method(modalDialogProperties);
|
|
42
47
|
return dialogHandler;
|
|
43
48
|
}
|
|
44
49
|
static delete(props) {
|
|
@@ -46,10 +51,11 @@ export class ModalDialog extends React.Component {
|
|
|
46
51
|
const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
|
|
47
52
|
dialogHandler === null || dialogHandler === void 0 ? void 0 : dialogHandler.destroy();
|
|
48
53
|
});
|
|
54
|
+
const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.confirm : Modal.confirm;
|
|
49
55
|
if (props.okButtonProps) {
|
|
50
56
|
props.okButtonProps.danger = true;
|
|
51
57
|
}
|
|
52
|
-
dialogHandler =
|
|
58
|
+
dialogHandler = method(modalDialogProperties);
|
|
53
59
|
return dialogHandler;
|
|
54
60
|
}
|
|
55
61
|
static success(props) {
|
|
@@ -57,7 +63,8 @@ export class ModalDialog extends React.Component {
|
|
|
57
63
|
const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
|
|
58
64
|
dialogHandler === null || dialogHandler === void 0 ? void 0 : dialogHandler.destroy();
|
|
59
65
|
});
|
|
60
|
-
|
|
66
|
+
const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.success : Modal.success;
|
|
67
|
+
dialogHandler = method(modalDialogProperties);
|
|
61
68
|
return dialogHandler;
|
|
62
69
|
}
|
|
63
70
|
static info(props) {
|
|
@@ -65,7 +72,8 @@ export class ModalDialog extends React.Component {
|
|
|
65
72
|
const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {
|
|
66
73
|
dialogHandler === null || dialogHandler === void 0 ? void 0 : dialogHandler.destroy();
|
|
67
74
|
});
|
|
68
|
-
|
|
75
|
+
const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.info : Modal.info;
|
|
76
|
+
dialogHandler = method(modalDialogProperties);
|
|
69
77
|
return dialogHandler;
|
|
70
78
|
}
|
|
71
79
|
render() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"modalDialog.js","sourceRoot":"","sources":["../../../../components/modal/modalDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {Button, Modal} from \"antd\";\r\nimport {ModalFuncProps, ModalProps} from \"antd/es/modal\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {DraggableModal} from \"d2coreui/components/modal/impl\";\r\n\r\nexport const enum ModalDialogMode {\r\n NO_BUTTONS = \"NO_BUTTONS\",\r\n OK_CANCEL = \"OK_CANCEL\",\r\n YES_NO = \"YES_NO\",\r\n YES_NO_CANCEL = \"YES_NO_CANCEL\",\r\n OK = \"OK\",\r\n}\r\n\r\nexport interface ModalDialogFuncProps extends ModalFuncProps {\r\n mode: ModalDialogMode\r\n denyText?: string\r\n onDeny?: (...args: any[]) => any;\r\n}\r\n\r\nexport interface ModalDialogProps extends Omit<ModalProps, \"width\"> {\r\n mode: ModalDialogMode\r\n initialWidth?: number,\r\n initialHeight?: number\r\n\r\n // resize dialog handler\r\n onResize?(size: { width: number, height: number }): void\r\n}\r\n\r\nexport class ModalDialog extends React.Component<ModalDialogProps, {}> {\r\n constructor(props: Readonly<ModalDialogProps>) {\r\n super(props);\r\n }\r\n\r\n public static confirm(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n dialogHandler = Modal.confirm(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static error(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n dialogHandler = Modal.error(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static delete(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n if (props.okButtonProps) {\r\n props.okButtonProps.danger = true;\r\n }\r\n dialogHandler = Modal.confirm(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static success(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n dialogHandler = Modal.success(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static info(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n dialogHandler = Modal.info(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n render() {\r\n const modalDialogProperties = ModalDialog.getModalProperties(this.props);\r\n return (\r\n <DraggableModal {...modalDialogProperties}>\r\n {this.props.children}\r\n </DraggableModal>);\r\n }\r\n\r\n private static getModalProperties(props: ModalDialogProps) {\r\n const {mode, ...rest} = props;\r\n if (mode === ModalDialogMode.NO_BUTTONS) {\r\n if (rest.footer === undefined) {\r\n rest.footer = null;\r\n }\r\n } else {\r\n switch (mode) {\r\n case ModalDialogMode.OK_CANCEL:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelText = props.cancelText ?? i18n(\"Cancel\");\r\n break;\r\n case ModalDialogMode.YES_NO:\r\n rest.okText = props.okText ?? i18n(\"Yes\");\r\n rest.cancelText = props.cancelText ?? i18n(\"No\");\r\n break;\r\n case ModalDialogMode.OK:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelButtonProps = undefined;\r\n break;\r\n }\r\n\r\n rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});\r\n rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: \"right\"}});\r\n }\r\n return rest;\r\n }\r\n\r\n private static getModalFuncProperties(props: ModalDialogFuncProps, performClose: () => void) {\r\n const {mode, denyText, onDeny, ...rest} = props;\r\n switch (mode) {\r\n case ModalDialogMode.OK_CANCEL:\r\n rest.okText = rest.okText ?? i18n(\"OK\");\r\n rest.cancelText = rest.cancelText ?? i18n(\"Cancel\");\r\n break;\r\n case ModalDialogMode.YES_NO:\r\n rest.okText = rest.okText ?? i18n(\"Yes\");\r\n rest.cancelText = rest.cancelText ?? i18n(\"No\");\r\n break;\r\n case ModalDialogMode.YES_NO_CANCEL:\r\n rest.okText = rest.okText ?? i18n(\"Yes\");\r\n rest.cancelText = (<React.Fragment>\r\n <Button onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.nativeEvent.stopImmediatePropagation();\r\n onDeny?.(e);\r\n performClose();\r\n }}>{denyText ?? i18n(\"No\")}</Button>\r\n <Button>{rest.cancelText ?? i18n(\"Cancel\")}</Button>\r\n </React.Fragment>\r\n );\r\n if (!rest.cancelButtonProps) {\r\n rest.cancelButtonProps = {};\r\n }\r\n rest.cancelButtonProps.type = \"text\";\r\n break;\r\n case ModalDialogMode.OK:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelButtonProps = {style: {display: \"none\"}};\r\n }\r\n if (rest.autoFocusButton === undefined) {\r\n rest.autoFocusButton = \"ok\";\r\n }\r\n\r\n rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});\r\n\r\n if (mode !== ModalDialogMode.OK) {\r\n rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: \"right\"}});\r\n }\r\n\r\n if (mode === ModalDialogMode.YES_NO_CANCEL) {\r\n if (rest.cancelButtonProps && rest.cancelButtonProps.style) {\r\n rest.cancelButtonProps.style.padding = 0;\r\n rest.cancelButtonProps.style.marginTop = -1;\r\n rest.cancelButtonProps.style.cursor = \"default\";\r\n rest.cancelButtonProps.style.background = \"transparent\";\r\n }\r\n }\r\n return rest;\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"modalDialog.js","sourceRoot":"","sources":["../../../../components/modal/modalDialog.tsx"],"names":[],"mappings":"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","sourcesContent":["import React from \"react\";\r\nimport {Button, Modal} from \"antd\";\r\nimport {ModalFuncProps, ModalProps} from \"antd/es/modal\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\nimport {DraggableModal} from \"d2coreui/components/modal/impl\";\r\nimport {HookAPI} from \"antd/es/modal/useModal\";\r\n\r\nexport const enum ModalDialogMode {\r\n NO_BUTTONS = \"NO_BUTTONS\",\r\n OK_CANCEL = \"OK_CANCEL\",\r\n YES_NO = \"YES_NO\",\r\n YES_NO_CANCEL = \"YES_NO_CANCEL\",\r\n OK = \"OK\",\r\n}\r\n\r\nexport interface ModalDialogFuncProps extends ModalFuncProps {\r\n mode: ModalDialogMode\r\n denyText?: string\r\n onDeny?: (...args: any[]) => any;\r\n}\r\n\r\nexport interface ModalDialogProps extends Omit<ModalProps, \"width\"> {\r\n mode: ModalDialogMode\r\n initialWidth?: number,\r\n initialHeight?: number\r\n\r\n // resize dialog handler\r\n onResize?(size: { width: number, height: number }): void\r\n}\r\n\r\nexport class ModalDialog extends React.Component<ModalDialogProps, {}> {\r\n private static modalStatic: HookAPI;\r\n\r\n constructor(props: Readonly<ModalDialogProps>) {\r\n super(props);\r\n }\r\n\r\n public static setModalInstance(instance: HookAPI) {\r\n ModalDialog.modalStatic = instance;\r\n }\r\n\r\n public static confirm(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.confirm : Modal.confirm;\r\n dialogHandler = method(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static error(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.error : Modal.error;\r\n dialogHandler = method(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static delete(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.confirm : Modal.confirm;\r\n if (props.okButtonProps) {\r\n props.okButtonProps.danger = true;\r\n }\r\n dialogHandler = method(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static success(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.success : Modal.success;\r\n dialogHandler = method(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n public static info(props: ModalDialogFuncProps): { destroy: () => void; update: (newConfig: ModalFuncProps) => void } {\r\n let dialogHandler: { destroy: () => void; update: (newConfig: ModalFuncProps) => void };\r\n const modalDialogProperties = ModalDialog.getModalFuncProperties(props, () => {\r\n dialogHandler?.destroy();\r\n });\r\n const method = ModalDialog.modalStatic ? ModalDialog.modalStatic.info : Modal.info;\r\n dialogHandler = method(modalDialogProperties);\r\n return dialogHandler;\r\n }\r\n\r\n render() {\r\n const modalDialogProperties = ModalDialog.getModalProperties(this.props);\r\n return (\r\n <DraggableModal {...modalDialogProperties}>\r\n {this.props.children}\r\n </DraggableModal>);\r\n }\r\n\r\n private static getModalProperties(props: ModalDialogProps) {\r\n const {mode, ...rest} = props;\r\n if (mode === ModalDialogMode.NO_BUTTONS) {\r\n if (rest.footer === undefined) {\r\n rest.footer = null;\r\n }\r\n } else {\r\n switch (mode) {\r\n case ModalDialogMode.OK_CANCEL:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelText = props.cancelText ?? i18n(\"Cancel\");\r\n break;\r\n case ModalDialogMode.YES_NO:\r\n rest.okText = props.okText ?? i18n(\"Yes\");\r\n rest.cancelText = props.cancelText ?? i18n(\"No\");\r\n break;\r\n case ModalDialogMode.OK:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelButtonProps = undefined;\r\n break;\r\n }\r\n\r\n rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});\r\n rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: \"right\"}});\r\n }\r\n return rest;\r\n }\r\n\r\n private static getModalFuncProperties(props: ModalDialogFuncProps, performClose: () => void) {\r\n const {mode, denyText, onDeny, ...rest} = props;\r\n switch (mode) {\r\n case ModalDialogMode.OK_CANCEL:\r\n rest.okText = rest.okText ?? i18n(\"OK\");\r\n rest.cancelText = rest.cancelText ?? i18n(\"Cancel\");\r\n break;\r\n case ModalDialogMode.YES_NO:\r\n rest.okText = rest.okText ?? i18n(\"Yes\");\r\n rest.cancelText = rest.cancelText ?? i18n(\"No\");\r\n break;\r\n case ModalDialogMode.YES_NO_CANCEL:\r\n rest.okText = rest.okText ?? i18n(\"Yes\");\r\n rest.cancelText = (<React.Fragment>\r\n <Button onClick={(e) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n e.nativeEvent.stopImmediatePropagation();\r\n onDeny?.(e);\r\n performClose();\r\n }}>{denyText ?? i18n(\"No\")}</Button>\r\n <Button>{rest.cancelText ?? i18n(\"Cancel\")}</Button>\r\n </React.Fragment>\r\n );\r\n if (!rest.cancelButtonProps) {\r\n rest.cancelButtonProps = {};\r\n }\r\n rest.cancelButtonProps.type = \"text\";\r\n break;\r\n case ModalDialogMode.OK:\r\n rest.okText = props.okText ?? i18n(\"OK\");\r\n rest.cancelButtonProps = {style: {display: \"none\"}};\r\n }\r\n if (rest.autoFocusButton === undefined) {\r\n rest.autoFocusButton = \"ok\";\r\n }\r\n\r\n rest.okButtonProps = Object.assign(rest.okButtonProps !== undefined ? rest.okButtonProps : {}, {style: {marginRight: 8}});\r\n\r\n if (mode !== ModalDialogMode.OK) {\r\n rest.cancelButtonProps = Object.assign(rest.cancelButtonProps !== undefined ? rest.cancelButtonProps : {}, {style: {float: \"right\"}});\r\n }\r\n\r\n if (mode === ModalDialogMode.YES_NO_CANCEL) {\r\n if (rest.cancelButtonProps && rest.cancelButtonProps.style) {\r\n rest.cancelButtonProps.style.padding = 0;\r\n rest.cancelButtonProps.style.marginTop = -1;\r\n rest.cancelButtonProps.style.cursor = \"default\";\r\n rest.cancelButtonProps.style.background = \"transparent\";\r\n }\r\n }\r\n return rest;\r\n }\r\n}"]}
|
package/package.json
CHANGED