d2coreui 21.0.9 → 21.0.12
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/color/colorPicker.d.ts +20 -0
- package/components/color/colorPicker.js +54 -0
- package/components/color/colorPicker.js.map +1 -0
- package/components/color/colorUtils.d.ts +2 -0
- package/components/color/colorUtils.js +29 -0
- package/components/color/colorUtils.js.map +1 -1
- package/components/date/dateRangeInput.d.ts +13 -1
- package/components/date/dateRangeInput.js +100 -9
- package/components/date/dateRangeInput.js.map +1 -1
- package/components/date/dateRangeInputAdvancedPanel.d.ts +26 -0
- package/components/date/dateRangeInputAdvancedPanel.js +116 -0
- package/components/date/dateRangeInputAdvancedPanel.js.map +1 -0
- package/components/date/dateRangeInputConfirm.d.ts +11 -1
- package/components/date/dateRangeInputConfirm.js +67 -27
- package/components/date/dateRangeInputConfirm.js.map +1 -1
- package/components/date/dateTimeInput.d.ts +2 -0
- package/components/date/dateTimeInput.js +6 -5
- package/components/date/dateTimeInput.js.map +1 -1
- package/components/grid/cell/simpleStatusTextCellEditor.d.ts +1 -0
- package/components/grid/cell/simpleStatusTextCellEditor.js +17 -10
- package/components/grid/cell/simpleStatusTextCellEditor.js.map +1 -1
- package/components/grid/config/rowStylePicker.d.ts +1 -5
- package/components/grid/config/rowStylePicker.js +14 -70
- package/components/grid/config/rowStylePicker.js.map +1 -1
- package/components/grid/dataGrid.d.ts +1 -1
- package/components/grid/dataGrid.js +101 -122
- package/components/grid/dataGrid.js.map +1 -1
- package/components/grid/extendedDataGrid.d.ts +3 -1
- package/components/grid/extendedDataGrid.js +38 -7
- package/components/grid/extendedDataGrid.js.map +1 -1
- package/components/input/maskedInput.d.ts +3 -3
- package/components/scrollTo/scrollTo.d.ts +1 -0
- package/components/scrollTo/scrollTo.js +13 -0
- package/components/scrollTo/scrollTo.js.map +1 -1
- package/i18n/components.sk.json +17 -0
- package/package.json +4 -3
- package/style/flexLayout/flexLayout.scss +95 -1
- package/style/flexLayout/flexLayoutBase.scss +152 -151
- package/style/flexLayout/new/_base.scss +616 -0
- package/style/flexLayout/new/flexLayoutBase.scss +622 -0
- package/style/flexLayout/new/light.scss +107 -0
- package/style/flexLayout/old/_base.scss +551 -0
- package/style/flexLayout/old/light.scss +16 -0
- package/style/index.less +5 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scrollTo.js","sourceRoot":"","sources":["../../../../components/scrollTo/scrollTo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\r\nimport {Component, ReactElement} from 'react'\r\nimport scrollIntoView from \"dom-scroll-into-view\";\r\nimport debounce from \"lodash/debounce\"\r\nimport {Tooltip} from \"antd\";\r\nimport onlyText from './onlyText';\r\nimport memoizeOne from \"memoize-one\";\r\nimport ReactDOMServer from \"react-dom/server\";\r\nimport {Key} from \"ts-key-enum\";\r\n\r\nconst MarkTextContext = React.createContext(\"\");\r\n\r\ninterface ScrollToItemProps {\r\n /* flag to notify currently selected item*/\r\n selected?: boolean\r\n\r\n selectionKey?: string\r\n\r\n markedTextClassName?: string\r\n\r\n dangerouslySetInnerHTML?: string\r\n}\r\n\r\n/*\r\n* Item component where user can be scrolled in\r\n*/\r\nexport class ScrollToItem extends Component<ScrollToItemProps> {\r\n static contextType = MarkTextContext;\r\n\r\n constructor(props: Readonly<ScrollToItemProps>) {\r\n super(props);\r\n this.getChildrenTextContent = memoizeOne(this.getChildrenTextContent.bind(this));\r\n this.getChildrenHtmlContent = memoizeOne(this.getChildrenHtmlContent.bind(this));\r\n }\r\n\r\n getChildrenTextContent(children: React.ReactNode | undefined) {\r\n if (!!this.props.dangerouslySetInnerHTML) {\r\n return this.props.dangerouslySetInnerHTML.replace(/(<([^>]+)>)/ig, '').toLowerCase();\r\n } else if (children === undefined) {\r\n return \"\";\r\n } else {\r\n return onlyText(children).toLowerCase();\r\n }\r\n }\r\n\r\n getChildrenHtmlContent(children: React.ReactNode | undefined, markedString: string) {\r\n let htmlCode: string;\r\n if (!!this.props.dangerouslySetInnerHTML) {\r\n htmlCode = this.props.dangerouslySetInnerHTML;\r\n } else {\r\n switch (typeof children) {\r\n case \"string\":\r\n htmlCode = children;\r\n break;\r\n case \"undefined\":\r\n htmlCode = \"\";\r\n break;\r\n default:\r\n htmlCode = ReactDOMServer.renderToString(children as ReactElement);\r\n }\r\n }\r\n\r\n const markedStringIndex = htmlCode.toLowerCase().indexOf(markedString);\r\n if (markedStringIndex >= 0) {\r\n const markedTextClassName = this.props.markedTextClassName ? this.props.markedTextClassName : \"marked-text\";\r\n return htmlCode.substring(0, markedStringIndex) + \"<span class=\\\"\" + markedTextClassName + \"\\\">\" + htmlCode.substring(markedStringIndex, markedStringIndex + markedString.length) + \"</span>\" + htmlCode.substring(markedStringIndex + markedString.length);\r\n } else {\r\n return htmlCode;\r\n }\r\n }\r\n\r\n renderChildren() {\r\n if (this.context) {\r\n const childrenHtmlContent = this.getChildrenHtmlContent(this.props.children, this.context);\r\n return <span dangerouslySetInnerHTML={{__html: childrenHtmlContent}}/>\r\n } else if (!!this.props.dangerouslySetInnerHTML) {\r\n return <span dangerouslySetInnerHTML={{__html: this.props.dangerouslySetInnerHTML}}/>\r\n } else {\r\n return this.props.children;\r\n }\r\n }\r\n\r\n render() {\r\n const textContent = this.getChildrenTextContent(this.props.children);\r\n return (\r\n <span tabIndex={0}\r\n className={`selectable ${this.props.selected ? \"selected\" : \"\"}`}\r\n data-content={textContent}\r\n data-key={this.props.selectionKey}\r\n >\r\n {this.renderChildren()}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\ninterface ScrollToProps {\r\n /* scroll to position of first selected ScrollToItem element after initialization*/\r\n scrollOnMount?: boolean\r\n\r\n supressKeyboardEvent?(selectionKey: string | undefined, event: React.KeyboardEvent): boolean\r\n\r\n}\r\n\r\ninterface ScrollToState {\r\n /* current search string entered by user*/\r\n searchString: string\r\n /* checks if search string is found in at least one item */\r\n searchStringFound: boolean\r\n}\r\n\r\n/**\r\n * Wrapper component for area with items where user can be scrolled in\r\n */\r\nexport default class ScrollTo extends Component<ScrollToProps, ScrollToState> {\r\n /* internal reference to wrapping element of container with items*/\r\n scrollWrapper: HTMLElement | null = null;\r\n /* internal reference to parent element with enabled scrolling */\r\n scrollParent: HTMLElement | null = null;\r\n\r\n constructor(props: Readonly<ScrollToProps>) {\r\n super(props);\r\n this.state = {\r\n searchString: \"\",\r\n searchStringFound: false,\r\n };\r\n this.scrollToElement = debounce(this.scrollToElement, 400, {maxWait: 400});\r\n }\r\n\r\n componentDidMount(): void {\r\n // initial scrolling to position of selected node\r\n if (this.props.scrollOnMount && this.scrollWrapper) {\r\n const scrollToElement = this.scrollWrapper.querySelector(\".selected\");\r\n if (scrollToElement) {\r\n this.scrollToElement(scrollToElement as HTMLElement);\r\n }\r\n }\r\n }\r\n\r\n scrollToElement(scrollToElem: HTMLElement, scrollingUp = false): void {\r\n scrollIntoView(scrollToElem, this.scrollParent, {\r\n onlyScrollIfNeeded: true,\r\n allowHorizontalScroll: false,\r\n alignWithTop: scrollingUp,\r\n offsetTop: 50,\r\n offsetBottom: 50,\r\n });\r\n }\r\n\r\n getScrollParent(element: HTMLElement, includeHidden = false): HTMLElement {\r\n var style = getComputedStyle(element);\r\n var excludeStaticParent = style.position === \"absolute\";\r\n var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;\r\n if (style.position === \"fixed\") return document.body;\r\n let parent: HTMLElement | null;\r\n for (parent = element; (parent = parent.parentElement);) {\r\n style = getComputedStyle(parent);\r\n if (excludeStaticParent && style.position === \"static\") {\r\n continue;\r\n }\r\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;\r\n }\r\n return document.body;\r\n }\r\n\r\n focusNext(currentElement: HTMLElement, selectables: HTMLElement[]): void {\r\n if (currentElement) {\r\n const currentElementIndex = selectables.indexOf(currentElement);\r\n if (currentElementIndex >= 0 && currentElementIndex < selectables.length - 1) {\r\n const scrollToElem = selectables[currentElementIndex + 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n return;\r\n } else if (currentElementIndex === selectables.length - 1) {\r\n return;\r\n }\r\n }\r\n if (selectables.length > 0) {\r\n selectables[0].focus();\r\n this.scrollToElement(selectables[0])\r\n }\r\n }\r\n\r\n focusToLast(): void {\r\n if (!!this.scrollWrapper) {\r\n let selectables: HTMLElement[] = Array.from(this.scrollWrapper.getElementsByClassName(\"selectable\")) as HTMLElement[]; //get all selectable elements\r\n if (selectables.length > 0) {\r\n const focusedElement = selectables[selectables.length - 1];\r\n focusedElement.focus();\r\n this.scrollToElement(focusedElement, false);\r\n }\r\n }\r\n }\r\n\r\n focusPrev(currentElement: HTMLElement, selectables: HTMLElement[]): void {\r\n if (currentElement) {\r\n const currentElementIndex = selectables.indexOf(currentElement);\r\n if (currentElementIndex > 0) {\r\n const scrollToElem = selectables[currentElementIndex - 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n return;\r\n } else if (currentElementIndex === 0) {\r\n return;\r\n }\r\n }\r\n if (selectables.length > 0) {\r\n const scrollToElem = selectables[selectables.length - 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n }\r\n }\r\n\r\n focusBySearchString(searchString: string): HTMLElement {\r\n const elementToFocus = this.scrollWrapper?.querySelector(`.selectable[data-content*=\"${searchString.toLowerCase()}\"]`) as any;\r\n if (elementToFocus) {\r\n elementToFocus.focus();\r\n this.scrollToElement(elementToFocus as HTMLElement);\r\n }\r\n return elementToFocus;\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(scrollWrapper) => {\r\n this.scrollWrapper = scrollWrapper;\r\n if (this.scrollWrapper) {\r\n this.scrollParent = this.getScrollParent(this.scrollWrapper);\r\n } else {\r\n this.scrollParent = null;\r\n }\r\n }}\r\n tabIndex={-1}\r\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.target instanceof HTMLInputElement) {\r\n return;\r\n }\r\n if (!this.scrollWrapper) {\r\n return;\r\n }\r\n const supressKeyboardEvent = this.props.supressKeyboardEvent?.((document.activeElement as any)?.dataset?.key, e);\r\n if (supressKeyboardEvent) {\r\n e.preventDefault();\r\n return;\r\n }\r\n let focusedElement: HTMLElement | null = document.activeElement as HTMLElement;\r\n let selectables: HTMLElement[];\r\n if (this.state.searchString && this.state.searchStringFound) {\r\n selectables = Array.from(this.scrollWrapper.querySelectorAll(`.selectable[data-content*=\"${this.state.searchString.toLowerCase()}\"]`));\r\n } else {\r\n selectables = Array.from(this.scrollWrapper.getElementsByClassName(\"selectable\")) as HTMLElement[]; //get all selectable elements\r\n }\r\n const focusedElementIndex = selectables.indexOf(focusedElement);\r\n if (e.key === Key.ArrowDown || e.key === Key.ArrowUp) {\r\n e.preventDefault();\r\n if (!focusedElement || focusedElementIndex < 0) {\r\n const selectedElements = Array.from(this.scrollWrapper.getElementsByClassName(\"selected\"));\r\n focusedElement = selectedElements.length > 0 ? selectedElements[0] as HTMLElement : null;\r\n }\r\n if (e.key === Key.ArrowDown && focusedElement) {\r\n this.focusNext(focusedElement, selectables);\r\n } else if (e.key === Key.ArrowUp && focusedElement) {\r\n this.focusPrev(focusedElement, selectables);\r\n }\r\n } else if (e.key === Key.Enter && focusedElementIndex >= 0) {\r\n if (typeof focusedElement.click == \"function\") {\r\n focusedElement.click.apply(focusedElement);\r\n }\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n } else if (e.key.length === 1) {\r\n const searchString = this.state.searchString + e.key;\r\n const focusedElement = this.focusBySearchString(searchString);\r\n this.setState({searchString: searchString, searchStringFound: !!focusedElement},);\r\n } else if (e.key === Key.Backspace) {\r\n const searchString = this.state.searchString.slice(0, -1);\r\n const focusedElement = this.focusBySearchString(searchString);\r\n this.setState({searchString: searchString, searchStringFound: !!focusedElement})\r\n } else if (e.key === Key.Escape) {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }\r\n }}\r\n onClick={() => {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }}\r\n onBlur={(_: React.FocusEvent<HTMLDivElement>) => {\r\n setTimeout(() => {\r\n if (!document.activeElement?.className?.includes(\"selectable\") && (this.state.searchString !== \"\" || this.state.searchStringFound)) {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }\r\n }, 0);\r\n\r\n }}\r\n >\r\n <div style={{position: \"fixed\", top: 16, left: 16}}>\r\n <Tooltip\r\n overlayClassName={!this.state.searchStringFound ? \"search-string-not-found\" : undefined}\r\n align={{points: [\"tl\", \"tl\"], overflow: {adjustX: true, adjustY: true}}}\r\n visible={!!this.state.searchString} title={this.state.searchString}>\r\n <span/>\r\n </Tooltip>\r\n </div>\r\n <MarkTextContext.Provider value={this.state.searchString}>\r\n {this.props.children}\r\n </MarkTextContext.Provider>\r\n </div>);\r\n }\r\n}"]}
|
|
1
|
+
{"version":3,"file":"scrollTo.js","sourceRoot":"","sources":["../../../../components/scrollTo/scrollTo.tsx"],"names":[],"mappings":"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","sourcesContent":["import * as React from 'react'\r\nimport {Component, ReactElement} from 'react'\r\nimport scrollIntoView from \"dom-scroll-into-view\";\r\nimport debounce from \"lodash/debounce\"\r\nimport {Tooltip} from \"antd\";\r\nimport onlyText from './onlyText';\r\nimport memoizeOne from \"memoize-one\";\r\nimport ReactDOMServer from \"react-dom/server\";\r\nimport {Key} from \"ts-key-enum\";\r\nimport KeyboardUtils from \"../keyboard/keyboardUtils\";\r\n\r\nconst MarkTextContext = React.createContext(\"\");\r\n\r\ninterface ScrollToItemProps {\r\n /* flag to notify currently selected item*/\r\n selected?: boolean\r\n\r\n selectionKey?: string\r\n\r\n markedTextClassName?: string\r\n\r\n dangerouslySetInnerHTML?: string\r\n}\r\n\r\n/*\r\n* Item component where user can be scrolled in\r\n*/\r\nexport class ScrollToItem extends Component<ScrollToItemProps> {\r\n static contextType = MarkTextContext;\r\n\r\n constructor(props: Readonly<ScrollToItemProps>) {\r\n super(props);\r\n this.getChildrenTextContent = memoizeOne(this.getChildrenTextContent.bind(this));\r\n this.getChildrenHtmlContent = memoizeOne(this.getChildrenHtmlContent.bind(this));\r\n }\r\n\r\n getChildrenTextContent(children: React.ReactNode | undefined) {\r\n if (!!this.props.dangerouslySetInnerHTML) {\r\n return this.props.dangerouslySetInnerHTML.replace(/(<([^>]+)>)/ig, '').toLowerCase();\r\n } else if (children === undefined) {\r\n return \"\";\r\n } else {\r\n return onlyText(children).toLowerCase();\r\n }\r\n }\r\n\r\n getChildrenHtmlContent(children: React.ReactNode | undefined, markedString: string) {\r\n let htmlCode: string;\r\n if (!!this.props.dangerouslySetInnerHTML) {\r\n htmlCode = this.props.dangerouslySetInnerHTML;\r\n } else {\r\n switch (typeof children) {\r\n case \"string\":\r\n htmlCode = children;\r\n break;\r\n case \"undefined\":\r\n htmlCode = \"\";\r\n break;\r\n default:\r\n htmlCode = ReactDOMServer.renderToString(children as ReactElement);\r\n }\r\n }\r\n\r\n const markedStringIndex = htmlCode.toLowerCase().indexOf(markedString);\r\n if (markedStringIndex >= 0) {\r\n const markedTextClassName = this.props.markedTextClassName ? this.props.markedTextClassName : \"marked-text\";\r\n return htmlCode.substring(0, markedStringIndex) + \"<span class=\\\"\" + markedTextClassName + \"\\\">\" + htmlCode.substring(markedStringIndex, markedStringIndex + markedString.length) + \"</span>\" + htmlCode.substring(markedStringIndex + markedString.length);\r\n } else {\r\n return htmlCode;\r\n }\r\n }\r\n\r\n renderChildren() {\r\n if (this.context) {\r\n const childrenHtmlContent = this.getChildrenHtmlContent(this.props.children, this.context);\r\n return <span dangerouslySetInnerHTML={{__html: childrenHtmlContent}}/>\r\n } else if (!!this.props.dangerouslySetInnerHTML) {\r\n return <span dangerouslySetInnerHTML={{__html: this.props.dangerouslySetInnerHTML}}/>\r\n } else {\r\n return this.props.children;\r\n }\r\n }\r\n\r\n render() {\r\n const textContent = this.getChildrenTextContent(this.props.children);\r\n return (\r\n <span tabIndex={0}\r\n className={`selectable ${this.props.selected ? \"selected\" : \"\"}`}\r\n data-content={textContent}\r\n data-key={this.props.selectionKey}\r\n >\r\n {this.renderChildren()}\r\n </span>\r\n );\r\n }\r\n}\r\n\r\ninterface ScrollToProps {\r\n /* scroll to position of first selected ScrollToItem element after initialization*/\r\n scrollOnMount?: boolean\r\n\r\n supressKeyboardEvent?(selectionKey: string | undefined, event: React.KeyboardEvent): boolean\r\n\r\n}\r\n\r\ninterface ScrollToState {\r\n /* current search string entered by user*/\r\n searchString: string\r\n /* checks if search string is found in at least one item */\r\n searchStringFound: boolean\r\n}\r\n\r\n/**\r\n * Wrapper component for area with items where user can be scrolled in\r\n */\r\nexport default class ScrollTo extends Component<ScrollToProps, ScrollToState> {\r\n /* internal reference to wrapping element of container with items*/\r\n scrollWrapper: HTMLElement | null = null;\r\n /* internal reference to parent element with enabled scrolling */\r\n scrollParent: HTMLElement | null = null;\r\n\r\n constructor(props: Readonly<ScrollToProps>) {\r\n super(props);\r\n this.state = {\r\n searchString: \"\",\r\n searchStringFound: false,\r\n };\r\n this.scrollToElement = debounce(this.scrollToElement, 400, {maxWait: 400});\r\n }\r\n\r\n componentDidMount(): void {\r\n // initial scrolling to position of selected node\r\n if (this.props.scrollOnMount && this.scrollWrapper) {\r\n const scrollToElement = this.scrollWrapper.querySelector(\".selected\");\r\n if (scrollToElement) {\r\n this.scrollToElement(scrollToElement as HTMLElement);\r\n }\r\n }\r\n }\r\n\r\n scrollToElement(scrollToElem: HTMLElement, scrollingUp = false): void {\r\n scrollIntoView(scrollToElem, this.scrollParent, {\r\n onlyScrollIfNeeded: true,\r\n allowHorizontalScroll: false,\r\n alignWithTop: scrollingUp,\r\n offsetTop: 50,\r\n offsetBottom: 50,\r\n });\r\n }\r\n\r\n getScrollParent(element: HTMLElement, includeHidden = false): HTMLElement {\r\n var style = getComputedStyle(element);\r\n var excludeStaticParent = style.position === \"absolute\";\r\n var overflowRegex = includeHidden ? /(auto|scroll|hidden)/ : /(auto|scroll)/;\r\n if (style.position === \"fixed\") return document.body;\r\n let parent: HTMLElement | null;\r\n for (parent = element; (parent = parent.parentElement);) {\r\n style = getComputedStyle(parent);\r\n if (excludeStaticParent && style.position === \"static\") {\r\n continue;\r\n }\r\n if (overflowRegex.test(style.overflow + style.overflowY + style.overflowX)) return parent;\r\n }\r\n return document.body;\r\n }\r\n\r\n focusNext(currentElement: HTMLElement, selectables: HTMLElement[]): void {\r\n if (currentElement) {\r\n const currentElementIndex = selectables.indexOf(currentElement);\r\n if (currentElementIndex >= 0 && currentElementIndex < selectables.length - 1) {\r\n const scrollToElem = selectables[currentElementIndex + 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n return;\r\n } else if (currentElementIndex === selectables.length - 1) {\r\n return;\r\n }\r\n }\r\n if (selectables.length > 0) {\r\n selectables[0].focus();\r\n this.scrollToElement(selectables[0])\r\n }\r\n }\r\n\r\n scrollToLast(): void {\r\n if (!!this.scrollWrapper) {\r\n let selectables: HTMLElement[] = Array.from(this.scrollWrapper.getElementsByClassName(\"selectable\")) as HTMLElement[]; //get all selectable elements\r\n if (selectables.length > 0) {\r\n const focusedElement = selectables[selectables.length - 1];\r\n this.scrollToElement(focusedElement, false);\r\n }\r\n }\r\n }\r\n\r\n focusToLast(): void {\r\n if (!!this.scrollWrapper) {\r\n let selectables: HTMLElement[] = Array.from(this.scrollWrapper.getElementsByClassName(\"selectable\")) as HTMLElement[]; //get all selectable elements\r\n if (selectables.length > 0) {\r\n const focusedElement = selectables[selectables.length - 1];\r\n focusedElement.focus();\r\n this.scrollToElement(focusedElement, false);\r\n }\r\n }\r\n }\r\n\r\n focusPrev(currentElement: HTMLElement, selectables: HTMLElement[]): void {\r\n if (currentElement) {\r\n const currentElementIndex = selectables.indexOf(currentElement);\r\n if (currentElementIndex > 0) {\r\n const scrollToElem = selectables[currentElementIndex - 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n return;\r\n } else if (currentElementIndex === 0) {\r\n return;\r\n }\r\n }\r\n if (selectables.length > 0) {\r\n const scrollToElem = selectables[selectables.length - 1];\r\n scrollToElem.focus();\r\n this.scrollToElement(scrollToElem);\r\n }\r\n }\r\n\r\n focusBySearchString(searchString: string): HTMLElement {\r\n const elementToFocus = this.scrollWrapper?.querySelector(`.selectable[data-content*=\"${searchString.toLowerCase()}\"]`) as any;\r\n if (elementToFocus) {\r\n elementToFocus.focus();\r\n this.scrollToElement(elementToFocus as HTMLElement);\r\n }\r\n return elementToFocus;\r\n }\r\n\r\n render() {\r\n return (\r\n <div ref={(scrollWrapper) => {\r\n this.scrollWrapper = scrollWrapper;\r\n if (this.scrollWrapper) {\r\n this.scrollParent = this.getScrollParent(this.scrollWrapper);\r\n } else {\r\n this.scrollParent = null;\r\n }\r\n }}\r\n tabIndex={-1}\r\n onKeyDown={(e: React.KeyboardEvent<HTMLDivElement>) => {\r\n if (e.target instanceof HTMLInputElement) {\r\n return;\r\n }\r\n if (!this.scrollWrapper) {\r\n return;\r\n }\r\n if (KeyboardUtils.isKeyPressed(Key.Control) || KeyboardUtils.isKeyPressed(Key.Alt)) {\r\n return;\r\n }\r\n const supressKeyboardEvent = this.props.supressKeyboardEvent?.((document.activeElement as any)?.dataset?.key, e);\r\n if (supressKeyboardEvent) {\r\n e.preventDefault();\r\n return;\r\n }\r\n let focusedElement: HTMLElement | null = document.activeElement as HTMLElement;\r\n let selectables: HTMLElement[];\r\n if (this.state.searchString && this.state.searchStringFound) {\r\n selectables = Array.from(this.scrollWrapper.querySelectorAll(`.selectable[data-content*=\"${this.state.searchString.toLowerCase()}\"]`));\r\n } else {\r\n selectables = Array.from(this.scrollWrapper.getElementsByClassName(\"selectable\")) as HTMLElement[]; //get all selectable elements\r\n }\r\n const focusedElementIndex = selectables.indexOf(focusedElement);\r\n if (e.key === Key.ArrowDown || e.key === Key.ArrowUp) {\r\n e.preventDefault();\r\n if (!focusedElement || focusedElementIndex < 0) {\r\n const selectedElements = Array.from(this.scrollWrapper.getElementsByClassName(\"selected\"));\r\n focusedElement = selectedElements.length > 0 ? selectedElements[0] as HTMLElement : null;\r\n }\r\n if (e.key === Key.ArrowDown && focusedElement) {\r\n this.focusNext(focusedElement, selectables);\r\n } else if (e.key === Key.ArrowUp && focusedElement) {\r\n this.focusPrev(focusedElement, selectables);\r\n }\r\n } else if (e.key === Key.Enter && focusedElementIndex >= 0) {\r\n if (typeof focusedElement.click == \"function\") {\r\n focusedElement.click.apply(focusedElement);\r\n }\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n } else if (e.key.length === 1) {\r\n const searchString = this.state.searchString + e.key;\r\n const focusedElement = this.focusBySearchString(searchString);\r\n this.setState({searchString: searchString, searchStringFound: !!focusedElement},);\r\n } else if (e.key === Key.Backspace) {\r\n const searchString = this.state.searchString.slice(0, -1);\r\n const focusedElement = this.focusBySearchString(searchString);\r\n this.setState({searchString: searchString, searchStringFound: !!focusedElement})\r\n } else if (e.key === Key.Escape) {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }\r\n }}\r\n onClick={() => {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }}\r\n onBlur={(_: React.FocusEvent<HTMLDivElement>) => {\r\n setTimeout(() => {\r\n if (!document.activeElement?.className?.includes(\"selectable\") && (this.state.searchString !== \"\" || this.state.searchStringFound)) {\r\n this.setState({searchString: \"\", searchStringFound: false});\r\n }\r\n }, 0);\r\n\r\n }}\r\n >\r\n <div style={{position: \"fixed\", top: 16, left: 16}}>\r\n <Tooltip\r\n overlayClassName={!this.state.searchStringFound ? \"search-string-not-found\" : undefined}\r\n align={{points: [\"tl\", \"tl\"], overflow: {adjustX: true, adjustY: true}}}\r\n visible={!!this.state.searchString} title={this.state.searchString}>\r\n <span/>\r\n </Tooltip>\r\n </div>\r\n <MarkTextContext.Provider value={this.state.searchString}>\r\n {this.props.children}\r\n </MarkTextContext.Provider>\r\n </div>);\r\n }\r\n}"]}
|
package/i18n/components.sk.json
CHANGED
|
@@ -64,9 +64,26 @@
|
|
|
64
64
|
"Table - Rows Styling": "Tabuľka - štýlovanie riadkov",
|
|
65
65
|
"Text Color": "Farba textu",
|
|
66
66
|
"The column list is empty": "Zoznam stĺpcov je prázdny",
|
|
67
|
+
"Simple Mode": "Jednoduchý mód",
|
|
68
|
+
"Advanced Mode": "Pokročilý mód",
|
|
69
|
+
"Interval Begin": "Začiatok intervalu",
|
|
70
|
+
"Interval End": "Koniec intervalu",
|
|
71
|
+
"Now": "Teraz",
|
|
72
|
+
"Today": "Dnes",
|
|
67
73
|
"This Day": "Tento deň",
|
|
68
74
|
"This Month": "Tento mesiac",
|
|
69
75
|
"This Week": "Tento týždeň",
|
|
76
|
+
"This Quarter": "Tento štvrťrok",
|
|
77
|
+
"This Year": "Tento rok",
|
|
78
|
+
"Interval Duration": "Trvanie intervalu",
|
|
79
|
+
"Time Shift": "Časový posun",
|
|
80
|
+
"Hour": "Hodina",
|
|
81
|
+
"Day": "Deň",
|
|
82
|
+
"Week": "Týždeň",
|
|
83
|
+
"Month": "Mesiac",
|
|
84
|
+
"Quarter": "Štvrťrok",
|
|
85
|
+
"Year": "Rok",
|
|
86
|
+
"Years": "Roky",
|
|
70
87
|
"Track last added record to table": "Sledovať naposledy pridaný záznam do tabuľky",
|
|
71
88
|
"Turn on/off column filter": "Zapnúť/vypnúť filter nad stĺpcami",
|
|
72
89
|
"Turn on/off filter panel": "Zapnúť/vypnúť panel filtrovania",
|
package/package.json
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "d2coreui",
|
|
3
|
-
"version": "21.0.
|
|
3
|
+
"version": "21.0.12",
|
|
4
4
|
"description": "Core UI components and utilities library.",
|
|
5
5
|
"author": "Ipesoft s.r.o.",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"resolutions": {
|
|
8
|
+
"@types/react": "17.0.36",
|
|
8
9
|
"moment": "2.25.3"
|
|
9
10
|
},
|
|
10
11
|
"dependencies": {
|
|
@@ -16,7 +17,7 @@
|
|
|
16
17
|
"@types/lodash": "4.14.176",
|
|
17
18
|
"@types/moment-duration-format": "2.2.3",
|
|
18
19
|
"@types/pdfmake": "0.1.19",
|
|
19
|
-
"@types/react": "17.0.
|
|
20
|
+
"@types/react": "17.0.36",
|
|
20
21
|
"@types/react-dom": "17.0.11",
|
|
21
22
|
"@types/react-collapse": "5.0.1",
|
|
22
23
|
"@types/react-color": "3.0.6",
|
|
@@ -30,7 +31,7 @@
|
|
|
30
31
|
"draft-js": "0.11.0",
|
|
31
32
|
"draftail": "1.4.1",
|
|
32
33
|
"filtrex": "2.2.3",
|
|
33
|
-
"flexlayout-react": "0.5
|
|
34
|
+
"flexlayout-react": "0.6.5",
|
|
34
35
|
"lodash": "4.17.21",
|
|
35
36
|
"memoize-one": "6.0.0",
|
|
36
37
|
"moment": "2.25.3",
|
|
@@ -5,6 +5,8 @@ $color_background_selected: white;
|
|
|
5
5
|
$color_background_unselected: #EFEFEF;
|
|
6
6
|
$color_content_background: white;
|
|
7
7
|
$color_background_border: #aaa;
|
|
8
|
+
$color_drag1_background: rgba(95, 134, 196, 0.1) !default;
|
|
9
|
+
$color_drag2_background: rgba(119, 166, 119, 0.075) !default;
|
|
8
10
|
|
|
9
11
|
$color_border: #eeeeee;
|
|
10
12
|
$color_border_line: #ddd;
|
|
@@ -23,7 +25,7 @@ $color_2: #EFEFEF;
|
|
|
23
25
|
$color_3: #EFEFEF;
|
|
24
26
|
$color_4: #EFEFEF;
|
|
25
27
|
$color_5: #bbb;
|
|
26
|
-
|
|
28
|
+
$color_6: scale_color($color_5, $lightness: -3%) !default;
|
|
27
29
|
|
|
28
30
|
$font-size: 14px;
|
|
29
31
|
$font-family: null;
|
|
@@ -32,5 +34,97 @@ $font-family: null;
|
|
|
32
34
|
border-top: 1px solid #ddd;
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
@mixin tabset_mixin {
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
@mixin tabset_tabbar_mixin {
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
@mixin tabset_header_mixin {
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
@mixin tabset_selected_mixin {
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@mixin tabset_maximized_mixin {
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
@mixin tab_top_mixin {
|
|
53
|
+
border-top-left-radius: 0px;
|
|
54
|
+
border-top-right-radius: 0px;
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
@mixin tab_bottom_mixin {
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@mixin tab_button_mixin {
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
@mixin tab_button_selected_mixin {
|
|
64
|
+
background-color: $color_background_selected;
|
|
65
|
+
color: $color_selected;
|
|
66
|
+
font-weight: 500;
|
|
67
|
+
border-bottom: 3px solid $color_content_background;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
@mixin tab_button_unselected_mixin {
|
|
71
|
+
color: gray;
|
|
72
|
+
background-color: $color_background_unselected;
|
|
73
|
+
}
|
|
74
|
+
|
|
75
|
+
@mixin tab_button_hovered_mixin {
|
|
76
|
+
background-color: $color_background_selected;
|
|
77
|
+
color: $color_selected;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
@mixin close_button_hovered_mixin {
|
|
81
|
+
//background-color:var(--color-3);
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@mixin toolbar_button_hovered_mixin {
|
|
85
|
+
//background-color:var(--color-2);
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@mixin border_mixin {
|
|
89
|
+
background-color: $color_border;
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
@mixin border_button_mixin {
|
|
93
|
+
background-color: var(--color-2);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
@mixin border_button_selected_mixin {
|
|
97
|
+
background-color: $color_border_line;
|
|
98
|
+
color: $color_text;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
@mixin border_button_unselected_mixin {
|
|
102
|
+
color: gray;
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@mixin border_button_hovered_mixin {
|
|
106
|
+
background-color: $color_border_line;
|
|
107
|
+
color: $color_text;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
@mixin splitter_mixin {
|
|
111
|
+
background-color: $color_splitter;
|
|
112
|
+
//OK
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
@mixin splitter_hover_mixin {
|
|
116
|
+
background-color: $color_splitter_hover;
|
|
117
|
+
//OK
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
@mixin splitter_drag_mixin {
|
|
121
|
+
border-radius: 5px;
|
|
122
|
+
background-color: $color_splitter_drag;
|
|
123
|
+
//OK
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@mixin splitter_border_mixin {
|
|
127
|
+
}
|
|
128
|
+
|
|
35
129
|
@import "flexLayoutBase";
|
|
36
130
|
|