d2coreui 23.0.33 → 23.0.34

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.
@@ -1,16 +1,24 @@
1
1
  import React from "react";
2
2
  import { SelectProps } from "antd";
3
- type EnumRepresentation<T extends string> = {
3
+ import { DefaultOptionType } from "rc-select/lib/Select";
4
+ type EnumTypes = string | number;
5
+ type EnumRepresentation<T extends EnumTypes> = {
4
6
  [key in string]: T;
5
7
  };
6
- export interface EnumValuePickerProps<T extends string> extends Omit<SelectProps<T>, "onChange"> {
8
+ interface EnumValuePickerProps<T extends EnumTypes> extends Omit<SelectProps<T>, "onChange"> {
7
9
  allowedValueTypes?: T[];
8
10
  values: EnumRepresentation<T>;
9
11
  translateValue?: boolean;
10
12
  translationPrefix?: string;
11
- onChange(value?: T): void;
13
+ onChange?: (value?: T) => void;
12
14
  }
13
- export default class EnumValuePicker<T extends string> extends React.Component<EnumValuePickerProps<T>, any> {
15
+ interface EnumValuePickerState {
16
+ options: DefaultOptionType[];
17
+ }
18
+ export default class EnumValuePicker<T extends EnumTypes> extends React.Component<EnumValuePickerProps<T>, EnumValuePickerState> {
19
+ constructor(props: Readonly<EnumValuePickerProps<T>>);
20
+ componentDidUpdate(prevProps: Readonly<EnumValuePickerProps<T>>): void;
14
21
  render(): React.JSX.Element;
22
+ private getOptions;
15
23
  }
16
24
  export {};
@@ -13,6 +13,18 @@ import React from "react";
13
13
  import { Select } from "antd";
14
14
  import i18n from "d2core/i18n/i18n";
15
15
  export default class EnumValuePicker extends React.Component {
16
+ constructor(props) {
17
+ super(props);
18
+ this.state = {
19
+ options: this.getOptions(props.values, props.allowedValueTypes, props.translateValue, props.translationPrefix),
20
+ };
21
+ }
22
+ componentDidUpdate(prevProps) {
23
+ if (prevProps.values !== this.props.values) {
24
+ const { values, allowedValueTypes, translateValue, translationPrefix } = this.props;
25
+ this.setState({ options: this.getOptions(values, allowedValueTypes, translateValue, translationPrefix) });
26
+ }
27
+ }
16
28
  render() {
17
29
  const _a = this.props, { value, allowedValueTypes, onChange, translationPrefix, values, translateValue } = _a, others = __rest(_a, ["value", "allowedValueTypes", "onChange", "translationPrefix", "values", "translateValue"]);
18
30
  let selectValue = value;
@@ -22,14 +34,23 @@ export default class EnumValuePicker extends React.Component {
22
34
  }
23
35
  }
24
36
  return (React.createElement(Select, Object.assign({ value: selectValue, onChange: (value) => {
25
- onChange(value !== "" ? value : undefined);
26
- } }, others), (allowedValueTypes !== null && allowedValueTypes !== void 0 ? allowedValueTypes : Object.values(values)).map((val) => {
27
- let text = val;
37
+ onChange === null || onChange === void 0 ? void 0 : onChange(value !== "" ? value : undefined);
38
+ }, options: this.state.options }, others)));
39
+ }
40
+ getOptions(enumValue, allowedValueTypes, translateValue, translationPrefix) {
41
+ return Object.keys(enumValue)
42
+ .filter((key) => isNaN(Number(key)) && (!allowedValueTypes || allowedValueTypes.includes(enumValue[key])))
43
+ .map((key) => [enumValue[key], key])
44
+ .map(([k, v]) => {
45
+ let text = v;
28
46
  if (translateValue) {
29
- text = i18n(translationPrefix ? translationPrefix + text : text);
47
+ text = i18n((translationPrefix !== null && translationPrefix !== void 0 ? translationPrefix : "") + text);
30
48
  }
31
- return (React.createElement(Select.Option, { value: val, key: val }, text));
32
- })));
49
+ return {
50
+ value: k,
51
+ label: text,
52
+ };
53
+ });
33
54
  }
34
55
  }
35
56
  //# sourceMappingURL=enumValuePicker.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"enumValuePicker.js","sourceRoot":"","sources":["../../../../components/picker/enumValuePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAc,MAAM,MAAM,CAAC;AACzC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAapC,MAAM,CAAC,OAAO,OAAO,eAAkC,SAAQ,KAAK,CAAC,SAAuC;IACxG,MAAM;QACF,MAAM,KAA6F,IAAI,CAAC,KAAK,EAAvG,EAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,OAAyB,EAApB,MAAM,cAAzF,2FAA0F,CAAa,CAAC;QAC9G,IAAI,WAAW,GAAyB,KAAK,CAAC;QAE9C,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACzE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,CACH,oBAAC,MAAM,kBAAI,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,QAAQ,CAAC,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YAC/C,CAAC,IACG,MAAM,GAChB,CAAC,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,MAAM,CAAC,MAAM,CAAC,MAAM,CAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;YAC7D,IAAI,IAAI,GAAW,GAAG,CAAC;YACvB,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,iBAAiB,CAAC,CAAC,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC;YACrE,CAAC;YAED,OAAO,CACH,oBAAC,MAAM,CAAC,MAAM,IAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAC9B,IAAI,CACO,CACnB,CAAC;QACN,CAAC,CAAC,CACG,CACZ,CAAC;IACN,CAAC;CACJ","sourcesContent":["import React from \"react\";\r\nimport {Select, SelectProps} from \"antd\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\n\r\ntype EnumRepresentation<T extends string> = {[key in string]: T};\r\n\r\nexport interface EnumValuePickerProps<T extends string> extends Omit<SelectProps<T>, \"onChange\"> {\r\n allowedValueTypes?: T[]\r\n values: EnumRepresentation<T>\r\n translateValue?: boolean\r\n translationPrefix?: string\r\n\r\n onChange(value?: T): void\r\n}\r\n\r\nexport default class EnumValuePicker<T extends string> extends React.Component<EnumValuePickerProps<T>, any> {\r\n render() {\r\n const {value, allowedValueTypes, onChange, translationPrefix, values, translateValue, ...others} = this.props;\r\n let selectValue: T | null | undefined = value;\r\n\r\n if (selectValue !== undefined && selectValue !== null && allowedValueTypes) {\r\n if (!allowedValueTypes.includes(selectValue)) {\r\n selectValue = undefined;\r\n }\r\n }\r\n\r\n return (\r\n <Select<T> value={selectValue}\r\n onChange={(value) => {\r\n onChange(value !== \"\" ? value : undefined);\r\n }}\r\n {...others}>\r\n {(allowedValueTypes ?? Object.values(values) as T[]).map((val) => {\r\n let text: string = val;\r\n if (translateValue) {\r\n text = i18n(translationPrefix ? translationPrefix + text : text);\r\n }\r\n\r\n return (\r\n <Select.Option value={val} key={val}>\r\n {text}\r\n </Select.Option>\r\n );\r\n })}\r\n </Select>\r\n );\r\n }\r\n}"]}
1
+ {"version":3,"file":"enumValuePicker.js","sourceRoot":"","sources":["../../../../components/picker/enumValuePicker.tsx"],"names":[],"mappings":";;;;;;;;;;;AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,MAAM,EAAc,MAAM,MAAM,CAAC;AAEzC,OAAO,IAAI,MAAM,kBAAkB,CAAC;AAkBpC,MAAM,CAAC,OAAO,OAAO,eAAqC,SAAQ,KAAK,CAAC,SAAwD;IAC5H,YAAY,KAAwC;QAChD,KAAK,CAAC,KAAK,CAAC,CAAC;QACb,IAAI,CAAC,KAAK,GAAG;YACT,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE,KAAK,CAAC,cAAc,EAAE,KAAK,CAAC,iBAAiB,CAAC;SACjH,CAAA;IACL,CAAC;IAED,kBAAkB,CAAC,SAA4C;QAC3D,IAAI,SAAS,CAAC,MAAM,KAAK,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;YACzC,MAAM,EAAC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,EAAC,GAAG,IAAI,CAAC,KAAK,CAAC;YAClF,IAAI,CAAC,QAAQ,CAAC,EAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,iBAAiB,EAAE,cAAc,EAAE,iBAAiB,CAAC,EAAC,CAAC,CAAC;QAC5G,CAAC;IACL,CAAC;IAED,MAAM;QACF,MAAM,KAA6F,IAAI,CAAC,KAAK,EAAvG,EAAC,KAAK,EAAE,iBAAiB,EAAE,QAAQ,EAAE,iBAAiB,EAAE,MAAM,EAAE,cAAc,OAAyB,EAApB,MAAM,cAAzF,2FAA0F,CAAa,CAAC;QAC9G,IAAI,WAAW,GAAyB,KAAK,CAAC;QAE9C,IAAI,WAAW,KAAK,SAAS,IAAI,WAAW,KAAK,IAAI,IAAI,iBAAiB,EAAE,CAAC;YACzE,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,CAAC;gBAC3C,WAAW,GAAG,SAAS,CAAC;YAC5B,CAAC;QACL,CAAC;QAED,OAAO,CACH,oBAAC,MAAM,kBAAI,KAAK,EAAE,WAAW,EAClB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gBAChB,QAAQ,aAAR,QAAQ,uBAAR,QAAQ,CAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;YACjD,CAAC,EACD,OAAO,EAAE,IAAI,CAAC,KAAK,CAAC,OAAO,IACvB,MAAM,EAAI,CAC5B,CAAC;IACN,CAAC;IAEO,UAAU,CAAC,SAAgC,EAAE,iBAAuB,EAAE,cAAwB,EAAE,iBAA0B;QAC9H,OAAO,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC;aACxB,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,iBAAiB,IAAI,iBAAiB,CAAC,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;aACzG,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;aACnC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE;YACZ,IAAI,IAAI,GAAc,CAAC,CAAC;YAExB,IAAI,cAAc,EAAE,CAAC;gBACjB,IAAI,GAAG,IAAI,CAAC,CAAC,iBAAiB,aAAjB,iBAAiB,cAAjB,iBAAiB,GAAI,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;YAClD,CAAC;YAED,OAAO;gBACH,KAAK,EAAE,CAAC;gBACR,KAAK,EAAE,IAAI;aACO,CAAA;QAC1B,CAAC,CAAC,CAAC;IACX,CAAC;CACJ","sourcesContent":["import React from \"react\";\r\nimport {Select, SelectProps} from \"antd\";\r\nimport {DefaultOptionType} from \"rc-select/lib/Select\";\r\nimport i18n from \"d2core/i18n/i18n\";\r\n\r\ntype EnumTypes = string | number;\r\ntype EnumRepresentation<T extends EnumTypes> = { [key in string]: T };\r\n\r\ninterface EnumValuePickerProps<T extends EnumTypes> extends Omit<SelectProps<T>, \"onChange\"> {\r\n allowedValueTypes?: T[]\r\n values: EnumRepresentation<T>\r\n translateValue?: boolean\r\n translationPrefix?: string\r\n\r\n onChange?: (value?: T) => void\r\n}\r\n\r\ninterface EnumValuePickerState {\r\n options: DefaultOptionType[]\r\n}\r\n\r\nexport default class EnumValuePicker<T extends EnumTypes> extends React.Component<EnumValuePickerProps<T>, EnumValuePickerState> {\r\n constructor(props: Readonly<EnumValuePickerProps<T>>) {\r\n super(props);\r\n this.state = {\r\n options: this.getOptions(props.values, props.allowedValueTypes, props.translateValue, props.translationPrefix),\r\n }\r\n }\r\n\r\n componentDidUpdate(prevProps: Readonly<EnumValuePickerProps<T>>) {\r\n if (prevProps.values !== this.props.values) {\r\n const {values, allowedValueTypes, translateValue, translationPrefix} = this.props;\r\n this.setState({options: this.getOptions(values, allowedValueTypes, translateValue, translationPrefix)});\r\n }\r\n }\r\n\r\n render() {\r\n const {value, allowedValueTypes, onChange, translationPrefix, values, translateValue, ...others} = this.props;\r\n let selectValue: T | null | undefined = value;\r\n\r\n if (selectValue !== undefined && selectValue !== null && allowedValueTypes) {\r\n if (!allowedValueTypes.includes(selectValue)) {\r\n selectValue = undefined;\r\n }\r\n }\r\n\r\n return (\r\n <Select<T> value={selectValue}\r\n onChange={(value) => {\r\n onChange?.(value !== \"\" ? value : undefined);\r\n }}\r\n options={this.state.options}\r\n {...others} />\r\n );\r\n }\r\n\r\n private getOptions(enumValue: EnumRepresentation<T>, allowedValueTypes?: T[], translateValue?: boolean, translationPrefix?: string): DefaultOptionType[] {\r\n return Object.keys(enumValue)\r\n .filter((key) => isNaN(Number(key)) && (!allowedValueTypes || allowedValueTypes.includes(enumValue[key])))\r\n .map((key) => [enumValue[key], key])\r\n .map(([k, v]) => {\r\n let text: EnumTypes = v;\r\n\r\n if (translateValue) {\r\n text = i18n((translationPrefix ?? \"\") + text);\r\n }\r\n\r\n return {\r\n value: k,\r\n label: text,\r\n } as DefaultOptionType\r\n });\r\n }\r\n}"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "d2coreui",
3
- "version": "23.0.33",
3
+ "version": "23.0.34",
4
4
  "description": "Core UI components and utilities library.",
5
5
  "author": "Ipesoft s.r.o.",
6
6
  "license": "MIT",