{"version":3,"file":"static/js/src.web-components.cd77269ea94c9d1d.js","sources":["webpack://fason-surec-takipv3/./src/components/web-components/table/body/google-maps/google-maps-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/base-table.tsx","webpack://fason-surec-takipv3/./src/components/web-components/icon/icon.tsx","webpack://fason-surec-takipv3/./src/components/web-components/button/button.tsx","webpack://fason-surec-takipv3/./src/components/web-components/charts/base-chart.tsx","webpack://fason-surec-takipv3/./src/components/web-components/charts/bar/bar-chart.tsx","webpack://fason-surec-takipv3/./src/components/web-components/charts/line/line-chart.tsx","webpack://fason-surec-takipv3/./src/components/web-components/date/date.tsx","webpack://fason-surec-takipv3/./src/components/web-components/divider/divider.tsx","webpack://fason-surec-takipv3/./src/components/web-components/email/email.tsx","webpack://fason-surec-takipv3/./src/components/web-components/footer/footer.tsx","webpack://fason-surec-takipv3/./src/components/web-components/image/image.tsx","webpack://fason-surec-takipv3/./src/components/web-components/label/label.tsx","webpack://fason-surec-takipv3/./src/components/web-components/layout/layout-footer.tsx","webpack://fason-surec-takipv3/./src/components/web-components/layout/layout-header.tsx","webpack://fason-surec-takipv3/./src/components/web-components/layout/layout-left.tsx","webpack://fason-surec-takipv3/./src/components/web-components/menu/content-menu/content-menu.tsx","webpack://fason-surec-takipv3/./src/components/web-components/menu/content-menu/content-menu-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/menu/content-menu/content-menu-panel.tsx","webpack://fason-surec-takipv3/./src/components/web-components/navigation/drawer.tsx","webpack://fason-surec-takipv3/./src/components/web-components/navigation/modal.tsx","webpack://fason-surec-takipv3/./src/components/web-components/number-input/number-input.tsx","webpack://fason-surec-takipv3/./src/components/web-components/pagination/pagination.tsx","webpack://fason-surec-takipv3/./src/components/web-components/panel/panel.tsx","webpack://fason-surec-takipv3/./src/components/web-components/password/password.tsx","webpack://fason-surec-takipv3/./src/components/web-components/responsive/col.tsx","webpack://fason-surec-takipv3/./src/components/web-components/responsive/row.tsx","webpack://fason-surec-takipv3/./src/components/web-components/sider-menu/menu-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/sider-menu/sider-menu.tsx","webpack://fason-surec-takipv3/./src/components/web-components/sider-menu/sub-menu.tsx","webpack://fason-surec-takipv3/./src/components/web-components/stacks/horizontal-stack.tsx","webpack://fason-surec-takipv3/./src/components/web-components/stacks/vertical-stack.tsx","webpack://fason-surec-takipv3/./src/components/web-components/stripe/payment-element.tsx","webpack://fason-surec-takipv3/./src/components/web-components/tab/tab.tsx","webpack://fason-surec-takipv3/./src/components/web-components/tab/tab-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/data/table-data.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/table/table-column.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/table/table-row.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/header/table-header.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/carousel/carousel-body-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/carousel/carousel-body-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/carousel/carousel-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/flex-grid/flex-grid-body-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/flex-grid/flex-grid-body-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/flex-grid/flex-grid-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/gallery/gallery-body-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/gallery/gallery-body-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/gallery/gallery-item.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/google-maps/google-maps-body-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/google-maps/google-map-search.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/google-maps/google-maps-body-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/table/table-body-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/body/table/table-body-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/tri-state-switch.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/custom-table-filter-dropdown.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/header/table-header-cell.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/header/table-header-row.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/refresh-delegate.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/wrapper/carousel-view-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/wrapper/flex-grid-view-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/wrapper/gallery-view-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/wrapper/google-maps-view-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/wrapper/table-view-wrapper.tsx","webpack://fason-surec-takipv3/./src/components/web-components/table/table.tsx","webpack://fason-surec-takipv3/./src/components/web-components/text-input/text-input.tsx","webpack://fason-surec-takipv3/./src/components/web-components/kuika-cl-model-runtimes.tsx","webpack://fason-surec-takipv3/./src/kuika/data-entry/selectbox/k-debounceSelect.tsx","webpack://fason-surec-takipv3/./src/kuika/data-entry/selectbox/k-selectbox.tsx","webpack://fason-surec-takipv3/./src/kuika/display/icon/k-icon.tsx"],"sourcesContent":["import { Popover, Space } from \"antd/es\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { Icon } from \"../../../icon/icon\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\ndeclare let window: any;\ninterface IMarker {\n label?: string;\n img?: string;\n icon?: string;\n lat: number;\n lng: number;\n}\n\nexport interface ICoords {\n latitude: number;\n longitude: number;\n accuracy?: number;\n}\n\ninterface GoogleMapsItemProps extends TableRowProps {\n maps: any;\n map: any;\n value?: ICoords;\n lat: number;\n lng: number;\n marker: IMarker;\n rowPopoverRenderer?: any;\n designClicked?: boolean;\n onClickDesign?: (value: boolean) => void;\n openDrawer: (content: any | undefined) => void;\n markerDetailView?: MarkerDetailView;\n selectedLocationColor?: string;\n selectedLocationIcon?: string;\n}\n\nexport enum MarkerDetailView {\n Popup = 1,\n SidePanel = 2,\n Drawer = 3\n}\n\nexport enum MarkerDetailPosition {\n Bottom = 1,\n Top = 2,\n Right = 3,\n Left = 4\n}\n\ninterface GoogleMapsItemState extends TableRowState {}\n\nexport class GoogleMapsItem extends TableRow {\n constructor(props: GoogleMapsItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n public static defaultProps = {\n designClicked: true\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n renderItem = () => {\n let markerElement = this.props.children;\n const { value, lat, lng, selectedLocationColor, selectedLocationIcon } = this.props;\n if (!!value && !!selectedLocationColor && !!selectedLocationIcon) {\n if (value.latitude === lat && value.longitude === lng) {\n markerElement = ;\n }\n }\n return (\n \n \n {markerElement}\n \n \n );\n };\n\n handleClickChange = () => {\n let toogle = false;\n if (this?.props?.designClicked !== undefined) {\n toogle = !this.props.designClicked;\n if (this.props.onClickDesign) {\n this.props.onClickDesign(toogle);\n }\n }\n };\n\n componentDidMount = () => {\n const content = this.getContent();\n\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime === true) {\n this.props.openDrawer(content);\n }\n };\n\n getContent(): JSX.Element | undefined {\n if (this.props?.rowPopoverRenderer === undefined) return undefined;\n\n return
{this.props.rowPopoverRenderer(this.props.value, this.props.rowData, this.props.rowIndex)}
;\n }\n\n render() {\n const isDesignTime = window.kuika?.isDesignTime;\n const content = this.getContent();\n return (\n
\n {isDesignTime === true || this.props.markerDetailView === MarkerDetailView.Popup ? (\n
\n {isDesignTime === true ? ( // Render Popover Mock Layout with Content on Design Time\n
\n \n
{this.renderItem()}
\n \n \n
\n {content}\n
\n
\n ) : content !== undefined && content?.props?.children?.props?.children?.props?.children !== undefined ? (\n \n {this.renderItem()}\n \n ) : (\n this.renderItem()\n )}\n \n ) : (\n
\n {isDesignTime === true ? (\n \n {\n this.props.openDrawer(content);\n }}\n >\n {this.renderItem()}\n
\n \n ) : content !== undefined && content?.props?.children?.props?.children?.props?.children !== undefined ? (\n {\n this.props.openDrawer(content);\n }}\n >\n {this.renderItem()}\n \n ) : (\n this.renderItem()\n )}\n \n )}\n \n );\n }\n}\n","import { DownloadOutlined, MenuOutlined, UnorderedListOutlined } from \"@ant-design/icons\";\nimport { Button, Checkbox, Col, Empty, FormInstance, Input, Popover, Row, Table } from \"antd/es\";\nimport { SizeType } from \"antd/es/config-provider/SizeContext\";\nimport { ColumnType } from \"antd/es/table\";\nimport xlsx from \"better-xlsx\";\nimport { saveAs } from \"file-saver\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport objectPath from \"object-path\";\nimport React, { Component, ReactNode } from \"react\";\nimport { DragDropContext, Draggable, Droppable } from \"react-beautiful-dnd\";\nimport ReactDOM from \"react-dom\";\nimport isEqual from \"react-fast-compare\";\nimport shallowequal from \"shallowequal\";\nimport VMasker from \"vanilla-masker\";\nimport CarouselPlaceholder from \"../../../../public/images/carousel-placeholder.svg\";\nimport EmptyDataSvg from \"../../../../public/images/empty-table.svg\";\nimport FlexGridPlaceholder from \"../../../../public/images/flex-grid-placeholder.svg\";\nimport HorizontalGridPlaceholder from \"../../../../public/images/horizontal-grid-placeholder.svg\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\nimport { Image } from \"../image/image\";\nimport { DashboardState, toCamelCase } from \"../kuika-cl-model-runtimes\";\nimport { CarouselBodyCell } from \"./body/carousel/carousel-body-cell\";\nimport { CarouselBodyWrapper, CarouselBodyWrapperProps } from \"./body/carousel/carousel-body-wrapper\";\nimport { CarouselItem } from \"./body/carousel/carousel-item\";\nimport { FlexGridBodyCell } from \"./body/flex-grid/flex-grid-body-cell\";\nimport { FlexGridBodyWrapper } from \"./body/flex-grid/flex-grid-body-wrapper\";\nimport { FlexGridItem } from \"./body/flex-grid/flex-grid-item\";\nimport { GalleryBodyCell } from \"./body/gallery/gallery-body-cell\";\nimport { GalleryBodyWrapper, GalleryBodyWrapperProps } from \"./body/gallery/gallery-body-wrapper\";\nimport { GalleryItem, GalleryItemProps } from \"./body/gallery/gallery-item\";\nimport { GoogleMapsBodyCell } from \"./body/google-maps/google-maps-body-cell\";\nimport { GoogleMapsBodyWrapper, GoogleMapsBodyWrapperProps } from \"./body/google-maps/google-maps-body-wrapper\";\nimport { GoogleMapsItem, ICoords, MarkerDetailPosition, MarkerDetailView } from \"./body/google-maps/google-maps-item\";\nimport { TableBodyCell } from \"./body/table/table-body-cell\";\nimport { TableBodyWrapper } from \"./body/table/table-body-wrapper\";\nimport { TableColumnProps } from \"./body/table/table-column\";\nimport CustomFilterDropdown from \"./custom-table-filter-dropdown\";\nimport { TableData, TableDataProps } from \"./data/table-data\";\nimport { TableHeaderCell } from \"./header/table-header-cell\";\nimport { TableHeaderRow } from \"./header/table-header-row\";\nimport { RefreshDelegate } from \"./refresh-delegate\";\nimport \"./table.scss\";\nimport { CarouselViewWrapper } from \"./wrapper/carousel-view-wrapper\";\nimport { FlexGridViewWrapper } from \"./wrapper/flex-grid-view-wrapper\";\nimport { GalleryViewWrapper } from \"./wrapper/gallery-view-wrapper\";\nimport { GoogleMapsViewWrapper } from \"./wrapper/google-maps-view-wrapper\";\nimport { TableViewWrapper } from \"./wrapper/table-view-wrapper\";\n\nexport type ViewMode = \"table\" | \"gallery\" | \"carousel\" | \"flex-grid\" | \"google-maps\";\n\ndeclare let window: any;\n\nexport enum StringFilterTypes {\n Contains = \"contains\",\n DoesNotContain = \"does_not_contain\",\n Equals = \"equals\",\n DoesNotEqual = \"does_not_equal\",\n BeginsWith = \"begins_with\",\n EndsWith = \"ends_with\",\n Blank = \"blank\",\n NotBlank = \"not_blank\"\n}\n\nexport enum NumberFilterTypes {\n Equals = \"number_equals\",\n DoesNotEqual = \"number_does_not_equal\",\n GreaterThan = \"greater_than\",\n LessThan = \"less_than\",\n GreaterThanOrEqual = \"greater_than_or_equal\",\n LessThanOrEqual = \"less_than_or_equal\",\n Between = \"number_between\",\n Blank = \"number_blank\",\n NotBlank = \"number_not_blank\"\n}\n\nexport enum DateFilterTypes {\n Equals = \"date_equals\",\n DoesNotEqual = \"date_does_not_equal\",\n After = \"after\",\n Before = \"before\",\n Between = \"date_between\",\n Blank = \"date_blank\",\n NotBlank = \"date_not_blank\"\n}\n\nexport enum BooleanFilterTypes {\n Equals = \"boolean_equals\",\n DoesNotEqual = \"boolean_does_not_equal\",\n Blank = \"boolean_blank\",\n NotBlank = \"boolean_not_blank\"\n}\n\nexport enum ValueType {\n String = \"string\",\n Number = \"number\",\n Date = \"date\",\n Boolean = \"boolean\"\n}\n\nexport enum FooterOptions {\n None = \"none\",\n Average = \"average\",\n Sum = \"sum\",\n Min = \"min\",\n Max = \"max\",\n Count = \"count\"\n}\n\nexport interface ITableProps {\n children?: any;\n nodatafoundmessage?: string;\n rowBgColor?: (rowData: any, rowIndex?: number) => string;\n rowFontColor?: (rowData: any, rowIndex?: number) => string;\n dataSource?: any[];\n loading?: boolean;\n size?: SizeType;\n sorter?: boolean;\n pagination?: boolean;\n showHeader?: boolean;\n style?: any;\n mode?: ViewMode;\n striped?: boolean;\n stripedColor?: string;\n // Maps Props\n onChange?: (value?: any | undefined) => void;\n value?: any;\n latitude?: string;\n longitude?: string;\n zoom?: number; /// zoom /// 1-> World /// 5-> Landmass/continent 10 -> City /// 15-> Streets /// 20-> Buildings şeklinde tanımlanırsa veya açıklama yazılırsa low code için daha anlamlı olabilir.\n isMarkerPicker?: boolean;\n isPicker?: boolean;\n hasSearchBox?: boolean;\n disableDoubleClickZoom?: boolean;\n fullscreenControl?: boolean;\n streetViewControl?: boolean;\n scaleControl?: boolean;\n zoomControl?: boolean;\n panControl?: boolean;\n rotateControl?: boolean;\n mapTypeControl?: boolean;\n autoCenter?: boolean;\n designClicked?: boolean;\n onClickDesign?: (value: boolean) => void;\n dataLatField?: string;\n dataLngField?: string;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n circleRadius?: number;\n groupPickerIcon?: string;\n groupPickerColor?: string;\n selectedLocationIcon?: string;\n selectedLocationColor?: string;\n currentLocationIcon?: string;\n currentLocationColor?: string;\n // Carousel Props\n setCurrentSlideNumber?: (val: number) => void;\n startingIndex?: number;\n hideTableOnEmpty?: boolean;\n rowHoverFontColor?: string;\n transformedOnMobileResolution?: boolean;\n rowHoverBgColor?: string;\n kuikacomponentname?: string;\n onRowEditFinished?: () => void;\n form?: FormInstance;\n insertRowActive?: boolean;\n insertRowPosition?: \"top\" | \"bottom\";\n noDataFoundImage?: string;\n filtering?: boolean;\n searchable?: boolean;\n tableWidthMode?: \"fit\" | \"horizontal scroll\" | \"scroll\";\n columnChooser?: boolean;\n editableAlwaysActive?: boolean;\n onConfigChange?: () => void;\n multiSelect?: boolean;\n selectedValues?: any;\n onSelectedValuesChange?: () => void;\n fixedHeader?: boolean;\n pageSize?: number;\n showSizeChanger?: boolean;\n options?: any[];\n onRowDoubleClick?: () => void;\n showNoDataFound?: boolean;\n resizableColumns?: boolean;\n selectedRowColor?: string;\n editable?: boolean;\n globalSearch?: boolean;\n export?: boolean;\n datavaluefield?: string;\n multiSelectScope?: \"page\" | \"all\";\n}\n\nexport interface ITableState {\n columnTitles?: string[];\n selectedRowKeys: any;\n selectedRowKeysString: any;\n columns?: TableColumnProps & CommonProps[];\n headerStyle?: any;\n rowStyle?: any;\n footerStyle?: any;\n headerRenderer?: any;\n rowRenderer?: any;\n selectedIndexGuid: string;\n selectedColumnIndexGuid: string;\n selectedRowDataGuid: string;\n // Maps States:\n maps?: any;\n map?: any;\n isDataMarkerSelected: boolean;\n value?: any;\n uniqueKey?: Guid;\n activeEditableRowIndex?: number;\n randomGuid?: string;\n searchText: string;\n columnSearchTexts?: { [key: string]: string };\n carouselStartingIndex?: number;\n hiddenColumnList?: any[];\n columnOrder?: any[];\n filteringOptions?: any;\n sorterOptions?: any;\n pageSize?: any;\n resizingColumnIndex?: number;\n columnWidths?: any;\n current: number;\n}\nlet isEventListenerAdded = false;\n\nexport abstract class BaseTable extends Component {\n private static readonly DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100];\n\n private memoizedDynamicCssResult = \"\";\n\n timeOutId = undefined;\n\n lastSelectedLat: any;\n\n lastSelectedLng: any;\n\n resizingColumnIndexRef = React.createRef();\n\n constructor(props: ITableProps & P) {\n super(props);\n this.state = {\n columns: [],\n selectedRowKeys: this.props.selectedValues?.split(\",\") || [],\n selectedRowKeysString: this.props.selectedValues || \"\",\n selectedIndexGuid: Guid.create().toString(),\n selectedColumnIndexGuid: Guid.create().toString(),\n selectedRowDataGuid: Guid.create().toString(),\n uniqueKey: Guid.create(),\n activeEditableRowIndex: window.kuika.isDesignTime ? 0 : -1,\n randomGuid: Guid.create().toString(),\n searchText: \"\",\n columnSearchTexts: {},\n carouselStartingIndex: 0,\n hiddenColumnList: [],\n columnOrder: [],\n filteringOptions: {},\n sorterOptions: {},\n pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10,\n resizingColumnIndex: null,\n columnWidths: undefined,\n current: 1\n } as any;\n }\n\n public static defaultProps = {\n mode: \"table\",\n designClicked: true\n };\n\n static withColumnProps(props: any, value: any, rowData: any, rowIndex: number): any {\n props.value = value;\n props.rowData = rowData;\n props.rowIndex = rowIndex;\n return props;\n }\n\n static getDerivedStateFromProps(nextProps: ITableProps & CommonProps, prevState: ITableState) {\n const result: Partial = {\n selectedIndexGuid: prevState.selectedIndexGuid,\n selectedColumnIndexGuid: prevState.selectedColumnIndexGuid,\n selectedRowDataGuid: prevState.selectedRowDataGuid,\n maps: prevState.maps,\n map: prevState.map,\n isDataMarkerSelected: prevState.isDataMarkerSelected,\n activeEditableRowIndex: prevState.activeEditableRowIndex,\n columnSearchTexts: prevState.columnSearchTexts,\n searchText: prevState.searchText,\n hiddenColumnList: prevState.hiddenColumnList,\n filteringOptions: prevState.filteringOptions,\n sorterOptions: prevState.sorterOptions,\n selectedRowKeys: prevState.selectedRowKeys,\n selectedRowKeysString: prevState.selectedRowKeysString,\n columnWidths: prevState.columnWidths\n };\n if (nextProps.children) {\n result.columns = [] as CommonProps[];\n if (nextProps.mode === \"carousel\") {\n result.rowStyle = nextProps.style;\n BaseTable.setCarouselItem(result, nextProps.children);\n } else if (nextProps.mode === \"gallery\") {\n result.rowStyle = nextProps.style;\n BaseTable.setGalleryItem(result, nextProps.children);\n } else if (nextProps.mode === \"flex-grid\") {\n result.rowStyle = nextProps.style;\n BaseTable.setFlexGridItem(result, nextProps.children);\n } else if (nextProps.mode === \"google-maps\") {\n if (nextProps.value !== undefined) {\n result.value = nextProps.value;\n }\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n switch (childIndex) {\n // GoogleMapsMarker\n case 0:\n BaseTable.setGoogleMapsItem(result, child, nextProps);\n break;\n }\n });\n } else {\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n const isHeader = nextProps?.children?.length > 1 && childIndex === 0;\n const isRow =\n (nextProps?.children?.length > 1 && childIndex === 1) || typeof nextProps?.children === \"object\";\n switch (childIndex) {\n // Header\n case 0:\n if (\n child.type.name == \"TableHeader\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"TableHeader\") ||\n child.type.name == \"ReportTableHeader\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"ReportTableHeader\") ||\n isHeader\n ) {\n BaseTable.setHeader(result, child, prevState, nextProps);\n } else if (\n child.type.name == \"TableRow\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"TableRow\") ||\n child.type.name == \"ReportTableRow\" ||\n (child.props.kuikacomponentname && child.props.kuikacomponentname === \"ReportTableRow\") ||\n isRow\n ) {\n BaseTable.setRow(result, child, nextProps, nextProps.sorter, nextProps.filtering, nextProps.dataSource);\n result.headerRenderer = (_props: any) => {\n return React.createElement(\"div\");\n };\n }\n break;\n // Row\n default:\n BaseTable.setRow(result, child, nextProps, nextProps.sorter, nextProps.filtering, nextProps.dataSource);\n break;\n }\n });\n }\n\n if (prevState.columnOrder.length > 0) {\n result.columns = prevState.columnOrder\n .map((orderId) => result?.columns?.find((col) => col.id === orderId))\n .filter(Boolean);\n }\n return result;\n }\n }\n\n static setHeader = (result: Partial, child: any, prevState: any, nextProps: any) => {\n let headerStyle: any = {};\n\n if (child.props.style) {\n headerStyle = child.props.style;\n }\n\n if (child.props.writingMode && child.props.writingMode === \"vertical\") {\n headerStyle.writingMode = \"vertical-lr\";\n }\n\n if (\n child.props.textDirection &&\n (child.props.textDirection === \"Rotate Up\" || child.props.textDirection === \"Rotate Down\")\n ) {\n headerStyle.writingMode = \"vertical-lr\";\n if (child.props.textDirection === \"Rotate Up\") {\n headerStyle.transform = \"rotate(180deg)\";\n }\n }\n\n result.headerStyle = headerStyle;\n result.headerRenderer = (props: any) => {\n let _props = { ...props };\n\n _props.wrapperClassname = `.ktable_${prevState.uniqueKey.toString().substring(0, 8)}`;\n _props.transformedOnMobileResolution = nextProps.transformedOnMobileResolution;\n\n return React.cloneElement(child, _props);\n };\n\n if (child.props.columnTitles) {\n result.columnTitles = child.props.columnTitles.split(\";\");\n }\n };\n\n static setRow = (\n result: Partial,\n child: any,\n _nextProps: ITableProps,\n sorter?: boolean,\n filtering?: boolean,\n datasource?: any\n ) => {\n result.rowStyle = child.props.style;\n result.rowRenderer = (props: any) => {\n return React.cloneElement(child, props);\n };\n React.Children.forEach(child.props.children, (grandChild, grandChildIndex) => {\n const columnProps: TableColumnProps & CommonProps = _.clone(grandChild.props);\n const props = {};\n Object.keys(grandChild.props).forEach((key) => {\n if (key !== \"children\" || typeof grandChild.props[key] === \"string\") {\n props[key] = grandChild.props[key];\n }\n });\n columnProps.render = (value: any, rowData: any, rowIndex: number) => {\n let children = grandChild?.props?.children;\n if (grandChild?.props?.children?.length === 2 && grandChild.props.isEditableColumn) {\n children = [];\n if (grandChild.props.isEditableColumn) {\n if (_nextProps.editableAlwaysActive) {\n children.push(grandChild.props.children[1]);\n } else if (result.activeEditableRowIndex === rowIndex) {\n children.push(grandChild.props.children[1]);\n } else {\n children.push(grandChild.props.children[0]);\n }\n }\n }\n return (\n <>{React.cloneElement(grandChild, BaseTable.withColumnProps(props, value, rowData, rowIndex), children)}\n );\n };\n delete columnProps.children;\n if (\n columnProps &&\n result &&\n result.columnTitles &&\n result.columnTitles.length > grandChildIndex &&\n result.columnTitles[grandChildIndex]?.length > 0\n ) {\n columnProps.title = result.columnTitles[grandChildIndex];\n }\n\n let value =\n grandChild.props?.children?.props?.value ??\n grandChild.props?.children?.props?.children?.props?.value ??\n grandChild.props?.children?.props?.children?.props?.children?.props?.value;\n if (grandChild.props?.children?.props?.className === \"kFormItem\" && !value?.toString().includes(\"[datafield:\")) {\n value = undefined;\n }\n if (value === undefined && grandChild.props?.children && grandChild.props?.children.length > 0) {\n value =\n grandChild.props?.children[0]?.props?.value ?? grandChild.props?.children[0]?.props?.children?.props?.value;\n }\n const dataBindedChilds = [];\n\n const processChildren = (children) => {\n if (Array.isArray(children)) {\n children.forEach((child) => {\n if (child.props?.children) {\n processChildren(child.props.children);\n }\n Object.keys(child.props).forEach((key) => {\n if (\n child.props[key]?.toString().includes(\"[datafield:\") &&\n key !== \"visExField1\" &&\n key !== \"visExField2\"\n ) {\n dataBindedChilds.push(child.props[key]);\n }\n });\n });\n } else if (children) {\n if (children.props?.children) {\n processChildren(children.props.children);\n }\n if (children.props) {\n Object.keys(children.props).forEach((key) => {\n if (\n children.props[key]?.toString().includes(\"[datafield:\") &&\n key !== \"visExField1\" &&\n key !== \"visExField2\"\n ) {\n dataBindedChilds.push(children.props[key]);\n }\n });\n }\n }\n };\n\n if (grandChild.props?.children?.props?.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children);\n }\n\n if (value === undefined && grandChild.props?.children?.props?.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children?.props?.children);\n } else if (value === undefined && grandChild.props?.children?.props?.children?.props.className !== \"kFormItem\") {\n processChildren(grandChild.props?.children?.props?.children?.props.children);\n }\n\n if (\n dataBindedChilds.length === 1 ||\n (dataBindedChilds.length > 1 &&\n dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0]))\n ) {\n value = dataBindedChilds[0];\n } else if (\n dataBindedChilds.length > 1 &&\n !dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0])\n ) {\n value = undefined;\n }\n\n if (\n dataBindedChilds.length > 1 &&\n !dataBindedChilds.every((dataBindedChild) => dataBindedChild === dataBindedChilds[0]) &&\n columnProps.defaultDataField\n ) {\n value = columnProps.defaultDataField?.toLowerCase();\n }\n if (value && !value?.toString().includes(\"[datafield:\") && !columnProps.defaultDataField) {\n value = undefined;\n }\n if (grandChild.props?.children?.props?.children?.props?.checked) {\n value = grandChild.props?.children?.props?.children?.props?.checked;\n }\n\n if (\n !value &&\n grandChild.props?.children &&\n grandChild.props?.children.length > 1 &&\n grandChild.props?.children?.some(\n (child) =>\n child?.props?.visibility === \"hidden\" &&\n (grandChild.props?.children?.some((child) => !child?.props?.visibility) ||\n grandChild.props?.children?.some((child) => child?.props?.visibility === \"visible\"))\n )\n ) {\n const visibleColumnValue =\n grandChild.props?.children?.find((child) => !child?.props?.visibility)?.props?.value ||\n grandChild.props?.children?.find((child) => child?.props?.visibility === \"visible\")?.props?.value;\n value = visibleColumnValue;\n }\n if (value) {\n value = value.toString().replace(\"[datafield:\", \"\").replace(\"]\", \"\");\n let dataType = ValueType.String;\n\n function getDataTypeRecursively(datasource, value) {\n if (!datasource || datasource.length === 0) {\n return null;\n }\n\n if (\n datasource[0] !== null &&\n datasource[0] !== undefined &&\n datasource[0][value] !== undefined &&\n datasource[0][value] !== null\n ) {\n return BaseTable.getValueType(datasource[0][value]);\n }\n return getDataTypeRecursively(datasource?.slice(1), value);\n }\n dataType = getDataTypeRecursively(datasource?.slice(0, 10), value);\n\n if (sorter && columnProps?.hideSorting !== true) {\n columnProps.sorter = (a, b) => BaseTable.compare(value, a, b);\n }\n if (filtering && columnProps?.hideFiltering !== true) {\n let initialFilters: any = {};\n\n if (result.filteringOptions) {\n Object.values(result.filteringOptions).forEach((filters: any) => {\n if (filters && filters.length > 0 && filters[0].columnId === columnProps.id) {\n initialFilters = filters[0];\n }\n });\n }\n\n columnProps.filteredValue =\n initialFilters.value ||\n initialFilters.value === false ||\n initialFilters.type === \"blank\" ||\n initialFilters.type === \"not_blank\" ||\n initialFilters.type === \"number_blank\" ||\n initialFilters.type === \"number_not_blank\" ||\n initialFilters.type === \"date_blank\" ||\n initialFilters.type === \"date_not_blank\" ||\n initialFilters.type === \"boolean_blank\" ||\n initialFilters.type === \"boolean_not_blank\"\n ? [initialFilters]\n : [];\n\n columnProps.filterDropdown = ({ setSelectedKeys, selectedKeys, confirm, clearFilters, visible }) =>\n filtering && (\n setSelectedKeys([text])}\n confirm={confirm}\n clearFilters={clearFilters}\n dataType={dataType}\n visible={visible}\n initialFilters={initialFilters}\n columnId={columnProps.id}\n />\n );\n columnProps.onFilter = (searchValue: any, record) => {\n return BaseTable.applyFilter(searchValue, record, value, dataType);\n };\n }\n (columnProps as any).dataType = dataType;\n (columnProps as any).dataValue = value;\n }\n\n result?.columns?.push(columnProps);\n });\n };\n\n static applyFilter = (searchValue: any, record: any, value: any, dataType: any) => {\n const { type } = searchValue;\n const recordValue = record[value];\n\n const valueType = BaseTable.getValueType(recordValue, dataType);\n\n if (valueType === ValueType.String || !valueType) {\n const normalizedRecordValue = recordValue?.toString()?.toLowerCase();\n const normalizedSearchValue =\n type === \"blank\" || type === \"number_blank\" || type === \"date_blank\" || type === \"boolean_blank\"\n ? null\n : searchValue?.value?.toLowerCase();\n\n switch (type) {\n case StringFilterTypes.Contains:\n return normalizedRecordValue?.includes(normalizedSearchValue);\n case StringFilterTypes.DoesNotContain:\n return !normalizedRecordValue?.includes(normalizedSearchValue);\n case StringFilterTypes.Equals:\n return normalizedRecordValue === normalizedSearchValue;\n case StringFilterTypes.DoesNotEqual:\n return normalizedRecordValue !== normalizedSearchValue;\n case StringFilterTypes.BeginsWith:\n return normalizedRecordValue?.startsWith(normalizedSearchValue);\n case StringFilterTypes.EndsWith:\n return normalizedRecordValue?.endsWith(normalizedSearchValue);\n case StringFilterTypes.Blank:\n return !recordValue;\n case StringFilterTypes.NotBlank:\n return !!recordValue;\n default:\n return normalizedRecordValue?.includes(normalizedSearchValue);\n }\n } else if (valueType === ValueType.Number) {\n const recordValueNumber = Number(recordValue);\n const searchValueNumber = Number(searchValue?.value);\n\n switch (type) {\n case NumberFilterTypes.Equals:\n return recordValueNumber === searchValueNumber;\n case NumberFilterTypes.DoesNotEqual:\n return recordValueNumber !== searchValueNumber;\n case NumberFilterTypes.GreaterThan:\n return recordValueNumber > searchValueNumber;\n case NumberFilterTypes.LessThan:\n return recordValueNumber < searchValueNumber;\n case NumberFilterTypes.GreaterThanOrEqual:\n return recordValueNumber >= searchValueNumber;\n case NumberFilterTypes.LessThanOrEqual:\n return recordValueNumber <= searchValueNumber;\n case NumberFilterTypes.Between:\n return recordValueNumber >= searchValueNumber[0] && recordValueNumber <= searchValueNumber[1];\n case NumberFilterTypes.Blank:\n return !recordValue && recordValue !== 0;\n case NumberFilterTypes.NotBlank:\n return !!recordValue || recordValue === 0;\n default:\n return recordValueNumber === searchValueNumber;\n }\n } else if (valueType === ValueType.Date) {\n const recordValueDate = moment(recordValue);\n const searchValueDate = moment(searchValue?.value);\n const searchValueDate2 = moment(searchValue?.value2);\n\n switch (type) {\n case DateFilterTypes.Equals:\n return recordValueDate?.isSame(searchValueDate, \"day\");\n case DateFilterTypes.DoesNotEqual:\n return !recordValueDate?.isSame(searchValueDate, \"day\");\n case DateFilterTypes.After:\n return recordValueDate?.isAfter(searchValueDate, \"day\");\n case DateFilterTypes.Before:\n return recordValueDate?.isBefore(searchValueDate, \"day\");\n case DateFilterTypes.Between:\n return recordValueDate?.isBetween(searchValueDate, searchValueDate2, \"day\", \"[]\");\n case DateFilterTypes.Blank:\n return !recordValue;\n case DateFilterTypes.NotBlank:\n return !!recordValue;\n default:\n return recordValueDate.isSame(searchValueDate, \"day\");\n }\n } else if (valueType === ValueType.Boolean) {\n const normalizedRecordValue = recordValue;\n const normalizedSearchValue =\n type === \"blank\" || type === \"number_blank\" || type === \"date_blank\" || type === \"boolean_blank\"\n ? null\n : searchValue?.value;\n\n switch (type) {\n case BooleanFilterTypes.Equals:\n return normalizedRecordValue === normalizedSearchValue;\n case BooleanFilterTypes.DoesNotEqual:\n return normalizedRecordValue !== normalizedSearchValue;\n case BooleanFilterTypes.Blank:\n return !recordValue && recordValue !== false;\n case BooleanFilterTypes.NotBlank:\n return !!recordValue || recordValue === false;\n default:\n return normalizedRecordValue === normalizedSearchValue;\n }\n } else {\n return false;\n }\n };\n\n static isNotNull = (value: any) => {\n if (value === undefined) return false;\n if (value === null) return false;\n return true;\n };\n\n static compare = (value, a, b) => {\n let x = \"\";\n if (a?.id != null && Object.keys(a).every((key) => key === \"id\" || a[key] == null)) {\n return 0;\n }\n if (b?.id != null && Object.keys(b).every((key) => key === \"id\" || b[key] == null)) {\n return 0;\n }\n if (BaseTable.isNotNull(a) && BaseTable.isNotNull(value) && BaseTable.isNotNull(a[value])) {\n x = a[value];\n if (typeof a[value] === \"string\") {\n x = a[value].trim();\n }\n }\n if (!x) {\n const match = value.match(/\\[(.*?)\\.(.*?)\\]/);\n let extractedKey = null;\n\n if (match && match[2]) {\n extractedKey = match[2];\n }\n x = a[extractedKey];\n }\n if (!BaseTable.isNotNull(x)) {\n x = \"\";\n }\n\n let y = \"\";\n if (BaseTable.isNotNull(b) && BaseTable.isNotNull(value) && BaseTable.isNotNull(b[value])) {\n y = b[value];\n if (typeof b[value] === \"string\") {\n y = b[value].trim();\n }\n }\n if (!y) {\n const match = value.match(/\\[(.*?)\\.(.*?)\\]/);\n let extractedKey = null;\n\n if (match && match[2]) {\n extractedKey = match[2];\n }\n y = b[extractedKey];\n }\n\n if (!BaseTable.isNotNull(y)) {\n y = \"\";\n }\n const specialSortingFormats = [\n \"DD/MM/YYYY HH:mm\",\n \"DD/MM/YYYY HH:mm:ss\",\n \"DD/MM/YYYY\",\n \"MM/DD/YYYY HH:mm\",\n \"MM/DD/YYYY HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"HH:mm:ss\",\n \"HH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ\"\n ];\n\n const isValidDate = BaseTable.isDate(x, specialSortingFormats);\n\n if (isValidDate) {\n const specialSortingFormat = specialSortingFormats.find((format) => moment(x, format, true).isValid());\n if (specialSortingFormat) {\n if (!x || x === \"\") {\n return 0;\n }\n if (!y || y === \"\") {\n return 1;\n }\n const xDate = moment(x, specialSortingFormat);\n const yDate = moment(y, specialSortingFormat);\n return xDate.diff(yDate);\n }\n }\n\n if (\n (BaseTable.isNumber(x, true) || x === \"\" || x === undefined || x === null) &&\n (BaseTable.isNumber(y, true) || y === \"\" || y === undefined || y === null)\n ) {\n if ((!x && parseInt(x, 10) !== 0) || x === \"\") {\n return -1;\n }\n if ((!y && parseInt(y, 10) !== 0) || y === \"\") {\n return 1;\n }\n return Number(x) - Number(y);\n }\n\n if (typeof x === \"string\" && typeof y === \"string\" && x.localeCompare) {\n return x.localeCompare(y);\n }\n\n if (typeof x === \"boolean\" && typeof y === \"boolean\") {\n return x === y ? 0 : x ? 1 : -1;\n }\n\n return 0;\n };\n\n static isDate = (value: any, formats: any[]) => {\n if (value === undefined || value === null) return false;\n\n if (typeof value === \"string\") {\n for (const format of formats) {\n if (moment(value, format, true).isValid()) {\n return true;\n }\n }\n }\n\n return false;\n };\n\n static isNumber(r, isSort) {\n if (typeof r === \"string\" && !isSort) return false;\n return /^\\d+(\\.\\d+)?$/.test(r);\n }\n\n static getValueType(value: any, dataType?: ValueType) {\n const specialSortingFormats = [\n \"DD/MM/YYYY HH:mm\",\n \"DD/MM/YYYY HH:mm:ss\",\n \"DD/MM/YYYY\",\n \"MM/DD/YYYY HH:mm\",\n \"MM/DD/YYYY HH:mm:ss\",\n \"MM/DD/YYYY\",\n \"HH:mm:ss\",\n \"HH:mm\",\n \"YYYY-MM-DDTHH:mm:ss\",\n \"YYYY-MM-DDTHH:mm:ss.SSSZ\",\n \"YYYY-MM-DDTHH:mm:ss.SSSSSSSZ\"\n ];\n if (typeof value === \"boolean\" || value === \"true\" || value === \"false\") {\n return ValueType.Boolean;\n }\n if (BaseTable.isDate(value, specialSortingFormats)) {\n return ValueType.Date;\n }\n if (BaseTable.isNumber(value, false)) {\n return ValueType.Number;\n }\n if (!value || value === \"\" || value === null || value === undefined) {\n return dataType;\n }\n return ValueType.String;\n }\n\n static setGalleryItem = (result: Partial, children: any) => {\n result.rowRenderer = (props: any) => {\n return ;\n };\n const columnProps: TableDataProps & CommonProps = {};\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => {\n return (\n \n {children}\n \n );\n };\n result?.columns?.push(columnProps);\n };\n\n static setCarouselItem = (result: Partial, children: any) => {\n result.rowRenderer = (props: any) => {\n return ;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n \n {children}\n \n );\n result?.columns?.push(columnProps);\n };\n\n static setGoogleMapsItem = (result: Partial, children: any, nextProps: ITableProps) => {\n let rowPopoverRenderer: any | undefined;\n\n React.Children.forEach(nextProps.children, (child, childIndex) => {\n switch (childIndex) {\n // GoogleMapsMarkerPopup\n case 1:\n rowPopoverRenderer = (_value: any, rowData: any, rowIndex: number) => {\n return (\n \n {React.cloneElement(\n child,\n {\n ...child.props,\n markerDetailWidth: nextProps.markerDetailWidth,\n markerDetailHeight: nextProps.markerDetailHeight\n },\n child.props.children\n )}\n \n );\n };\n }\n });\n\n result.rowRenderer = (props: any) => {\n return ;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n \n {children}\n \n );\n result?.columns?.push(columnProps);\n };\n\n static refreshGoogleMapsItem: ((nextProps?: any, callBack?: any) => void) | undefined;\n\n static setFlexGridItem = (result: Partial, children: any) => {\n result.rowRenderer = (props: any) => {\n return ;\n };\n const columnProps: TableDataProps & CommonProps = {};\n\n columnProps.render = (_value: any, rowData: any, rowIndex: number) => (\n \n {children}\n \n );\n result?.columns?.push(columnProps);\n };\n\n setStyle = (_props?: ITableProps) => {\n const node: Element | null | Text = ReactDOM.findDOMNode(this);\n if (!node) {\n return;\n }\n const table = (node as Element).querySelectorAll(\"div > div > div > div > div > table\");\n this.setBackgroundColor(table);\n const tbody = (node as Element).querySelectorAll(\"div > div > div > div > div > tbody\");\n this.setBackgroundColor(tbody);\n const tdList = (node as Element).querySelectorAll(\"div > div > div > div > div > table > tbody > tr > td\");\n tdList.forEach((td: any, index: number) => {\n this.setBackgroundColor(td);\n if (this.props.mode === \"table\") {\n this.setAlignments(td, index);\n }\n });\n if (this.props.mode === \"table\") {\n this.setDynamicStyle();\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const { maxHeight, boxShadow, height, minHeight, padding, paddingRight, paddingLeft, paddingTop, paddingBottom } =\n this.props.style;\n if (maxHeight || height || minHeight) {\n if (height) {\n result += `.${className.trim()} .ant-table-wrapper {\n height: ${height} !important;\n }`;\n result += `.${className.trim()} .ant-table-content table {\n min-height: ${height} !important;\n }`;\n }\n if (minHeight) {\n result += `.${className.trim()} .ant-table-wrapper {\n min-height: ${minHeight} !important;\n }`;\n }\n if (maxHeight) {\n result += `.${className.trim()} .ant-table-wrapper {\n max-height: ${maxHeight} !important;\n overflow-y: scroll !important;\n }`;\n }\n if (height || maxHeight) {\n if (this.props.pagination) {\n result += `.${className.trim()} .ant-pagination {\n background: white;\n position: sticky;\n bottom: 0;\n margin-bottom: 0 !important;\n height: 36px;\n align-items: center;\n margin-right: 2px !important;\n }`;\n }\n }\n }\n\n if (this.props.fixedHeader) {\n result += `.${className.trim()} .ant-table-thead {\n position: sticky;\n top: 0;\n background: #fff;\n z-index: 3;\n }`;\n }\n\n if (this.props.searchable && this.props.sorter && !this.props.filtering) {\n result += `.${className.trim()} .ant-table-thead > tr > th > .ant-table-column-sorters {\n padding-bottom: 36px !important\n }`;\n }\n\n if (boxShadow) {\n result += `.${className.trim()} {\n box-shadow: ${boxShadow} !important;\n }`;\n }\n\n if (this.props?.striped) {\n result += `.${className.trim()} table tr:nth-child(2n) {\n background-color: #F5F7FA;\n }`;\n }\n\n if (this.props?.striped && this.props?.stripedColor) {\n result += `.${className.trim()} table tr:nth-child(2n) {\n background-color: ${this.props?.stripedColor};\n }`;\n }\n\n if (\n (padding || paddingRight || paddingLeft || paddingTop || paddingBottom) &&\n window?.kuika?.dashboardState === DashboardState.reportDesigner\n ) {\n result += `.${className.trim()} .ant-table {\n padding: ${paddingTop ?? 0}px ${paddingRight ?? 0}px ${paddingBottom ?? 0}px ${paddingLeft ?? 0}px !important;\n }`;\n }\n\n result += `.${className.trim()} .ant-table-wrapper {\n overflow: auto !important;\n }`;\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getClassName = () => {\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} ktable_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n hideNoDataIfNotNeeded = (props: any) => {\n if (!props.showNoDataFound) {\n const node = document.getElementById(props.id);\n if (node) {\n const empty: HTMLCollectionOf = node.getElementsByClassName(\"ant-empty\");\n if (empty.length > 0) {\n (empty[0] as HTMLElement).style.display = \"none\";\n }\n }\n }\n };\n\n setBackgroundColor = (element: any, props?: any) => {\n if (props && props.style && props.style.backgroundColor) {\n element.style[\"background-color\"] = props.style.backgroundColor;\n }\n };\n\n setAlignments = (element: any, index: number) => {\n const isDesignTime = window.kuika?.isDesignTime;\n let columnStyles: React.CSSProperties = {};\n if (this.props?.children[1]?.props?.children?.length > 0) {\n const columnIndex = index % this.props?.children[1]?.props?.children.length;\n columnStyles = this.props?.children[1]?.props?.children[columnIndex]?.props?.style;\n }\n let node: any = element.firstChild;\n if (!node) {\n return;\n }\n if (!isDesignTime) {\n node = element;\n }\n KMainFunctions.handleAlignments(node, columnStyles);\n if (!isDesignTime) {\n node.style.display = \"table-cell\";\n node.style.verticalAlign =\n columnStyles.alignItems === \"center\"\n ? \"middle\"\n : columnStyles.alignItems === \"flex-end\"\n ? \"bottom\"\n : columnStyles.alignItems === \"flex-start\"\n ? \"top\"\n : \"center\";\n }\n };\n\n componentDidUpdate(prevProps: ITableProps, prevState: any) {\n this.setStyle(prevProps);\n this.hideNoDataIfNotNeeded(prevProps);\n\n if (prevProps.selectedValues !== this.props.selectedValues) {\n const selectedRowKeys =\n this.props.selectedValues && (this.props.selectedValues as any) !== \"\"\n ? this.props.selectedValues.split(\",\")\n : [];\n this.setState({\n selectedRowKeys,\n selectedRowKeysString: this.props.selectedValues || \"\"\n });\n }\n\n const isEql = isEqual(this.props.dataSource, prevProps.dataSource);\n if (this.state.activeEditableRowIndex != -1 && !isEql) {\n let formValues = {};\n const filteredList = this.getFilteredAndSortedDataSource();\n let rowValue = filteredList[this.state.activeEditableRowIndex];\n if (rowValue) {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ randomGuid: Guid.create().toString() } as any, () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n });\n }\n } else if (\n this.state.activeEditableRowIndex != -1 &&\n isEql &&\n prevState?.activeEditableRowIndex != -1 &&\n !window.kuika.isDesignTime\n ) {\n this.setState({ randomGuid: Guid.create().toString() } as any, () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n });\n }\n\n if (!isEql && this.props.editableAlwaysActive) {\n let formValues = {};\n this.props.dataSource?.forEach((rowValue, rowIndex) => {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ randomGuid: Guid.create().toString() } as any);\n });\n }\n }\n\n handleKeyDown = async (event: any) => {\n const isCurrentInsertRow = window.editingColumnData?.isInsertRow;\n if ((event.key === \"Tab\" || event.key === \"Escape\" || event.key === \"Enter\") && this.props.editableAlwaysActive) {\n if (event.key === \"Escape\") {\n this.setState({ activeEditableRowIndex: -1 } as any);\n return;\n }\n if (isCurrentInsertRow && event.key === \"Tab\") {\n window.editingColumnData = {\n ...window.editingColumnData,\n activeElement: event\n };\n return;\n }\n if (event.key === \"Tab\" || (event.key === \"Enter\" && !isCurrentInsertRow)) {\n this.setFields(event, false, window.editingColumnData?.rowData);\n }\n window.editingColumnData = {\n ...window.editingColumnData,\n isKeyDownTriggered: true\n };\n await this.handleOnRowEditFinished();\n if (isCurrentInsertRow && event.key === \"Enter\") {\n window.editingColumnData = {};\n }\n }\n if (event.key === \"Escape\") {\n if (this.state.activeEditableRowIndex != -1) {\n this.setState({ activeEditableRowIndex: -1 } as any);\n }\n }\n if (event.key === \"Enter\") {\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n }\n };\n\n handleClick = (event: any) => {\n if (\n event.target.id.toString().includes(\"body\") ||\n event.target.id.toString().includes(\"header\") ||\n event.target.id.toString().includes(\"footer\")\n )\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n };\n\n componentWillUnmount(): void {\n document.removeEventListener(\"keydown\", this.handleKeyDown);\n document.removeEventListener(\"click\", this.handleClick);\n isEventListenerAdded = false;\n }\n\n componentDidMount = () => {\n this.setStyle(this.props);\n this.hideNoDataIfNotNeeded(this.props);\n this.setState({ pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10 });\n if (!isEventListenerAdded) {\n document.addEventListener(\"keydown\", this.handleKeyDown);\n document.addEventListener(\"click\", this.handleClick);\n isEventListenerAdded = true;\n }\n };\n\n getRowBgColor = (rowData: any, rowIndex?: number): string | undefined => {\n if (this.state.selectedRowKeys?.includes(rowData.id) && this.props.selectedRowColor) {\n return this.props.selectedRowColor;\n }\n if (this.props.rowBgColor) {\n return this.props.rowBgColor(rowData, rowIndex);\n }\n return undefined;\n };\n\n getRowFontColor = (rowData: any, rowIndex?: number): string | undefined => {\n if (this.props.rowFontColor) {\n return this.props.rowFontColor(rowData, rowIndex);\n }\n return undefined;\n };\n\n getRowStyle = (rowValue: any, index: number | undefined): any | undefined => {\n let style: any | undefined = _.clone(this.state.rowStyle);\n if (!style) {\n style = {};\n }\n const color = this.getRowFontColor(rowValue, index);\n if (color) {\n style.color = color;\n }\n const backgroundColor = this.getRowBgColor(rowValue, index);\n if (backgroundColor) {\n style.backgroundColor = backgroundColor;\n }\n return style;\n };\n\n getViewWrapper = () => {\n switch (this.props.mode) {\n case \"table\":\n return (props) => (\n \n );\n case \"carousel\":\n return (props) => ;\n case \"google-maps\":\n return (props) => ;\n case \"gallery\":\n return (props) => ;\n case \"flex-grid\":\n return (props) => ;\n }\n };\n\n refreshGoogleMapsBodyWrapper: ((nextProps?: any, callBack?: any) => void) | undefined;\n\n getBodyWrapper = () => {\n switch (this.props.mode) {\n case \"table\":\n return TableBodyWrapper;\n case \"carousel\":\n return (props) => (\n {\n this.setState({ carouselStartingIndex: val });\n }}\n startingIndex={this.state.carouselStartingIndex}\n />\n );\n case \"google-maps\":\n return (props) => (\n {\n this.refreshGoogleMapsBodyWrapper = refreshMethod;\n }}\n {...this.getGoogleMapsBodyWrapperProps()}\n Component={GoogleMapsBodyWrapper}\n />\n );\n case \"gallery\":\n return (props) => ;\n case \"flex-grid\":\n return (props) => ;\n }\n };\n\n getBodyCell = () => {\n switch (this.props.mode) {\n case \"table\":\n return TableBodyCell;\n case \"carousel\":\n return CarouselBodyCell;\n case \"google-maps\":\n return GoogleMapsBodyCell;\n case \"gallery\":\n return GalleryBodyCell;\n case \"flex-grid\":\n return FlexGridBodyCell;\n }\n };\n\n getCarouselBodyWrapperProps = () => {\n const result: CarouselBodyWrapperProps = {};\n const p = this.props as CarouselBodyWrapperProps;\n if (p.autoplaySpeed) result.autoplaySpeed = p.autoplaySpeed;\n if (p.autoplay) result.autoplay = p.autoplay;\n if (p.fade) result.fade = p.fade;\n if (p.pauseOnDotsHover) result.pauseOnDotsHover = p.pauseOnDotsHover;\n if (p.slidesToScroll) result.slidesToScroll = p.slidesToScroll;\n if (p.dots === false) {\n result.dots = false;\n }\n if (p.dots === undefined || p.dots === true) {\n result.dots = true;\n }\n if (p.slidesToShow) result.slidesToShow = p.slidesToShow;\n if (p.speed) result.speed = p.speed;\n if (p.swipe) result.swipe = p.swipe;\n if (p.cssEase) result.cssEase = p.cssEase;\n if (p.vertical) result.vertical = p.vertical;\n if (p.onChange) result.onChange = p.onChange;\n if (p.startingIndex && p.startingIndex > 0) {\n result.startingIndex = p.startingIndex;\n this.setState({ carouselStartingIndex: p.startingIndex as any });\n }\n if (p.hoverBgColor) result.hoverBgColor = p.hoverBgColor;\n if (p.hoverFontColor) result.hoverFontColor = p.hoverFontColor;\n return result;\n };\n\n getLatValue = () => {\n if (this.lastSelectedLat !== undefined) {\n return this.lastSelectedLat;\n }\n return \"\";\n };\n\n getLngValue = () => {\n if (this.lastSelectedLng !== undefined) {\n return this.lastSelectedLng;\n }\n return \"\";\n };\n\n getGoogleMapsBodyWrapperProps = () => {\n const result: GoogleMapsBodyWrapperProps = {} as any;\n const p = this.props;\n result.value = this.state.value;\n if (p.style) result.style = p.style;\n if (p.latitude) result.latitude = p.latitude;\n if (p.longitude) result.longitude = p.longitude;\n if (p.zoom) result.zoom = p.zoom;\n if (p.dataLatField) result.dataLatField = p.dataLatField;\n if (p.dataLngField) result.dataLngField = p.dataLngField;\n if (p.markerDetailView) result.markerDetailView = p.markerDetailView;\n if (p.markerDetailPosition) result.markerDetailPosition = p.markerDetailPosition;\n if (p.markerDetailHeight) result.markerDetailHeight = p.markerDetailHeight;\n if (p.markerDetailWidth) result.markerDetailWidth = p.markerDetailWidth;\n if (p.designClicked) result.designClicked = p.designClicked;\n result.isPicker = p.isPicker;\n result.isMarkerPicker = p.isMarkerPicker;\n result.hasSearchBox = p.hasSearchBox;\n result.disableDoubleClickZoom = p.disableDoubleClickZoom;\n result.fullscreenControl = p.fullscreenControl;\n result.streetViewControl = p.streetViewControl;\n result.scaleControl = p.scaleControl;\n result.zoomControl = p.zoomControl;\n result.panControl = p.panControl;\n result.rotateControl = p.rotateControl;\n result.mapTypeControl = p.mapTypeControl;\n result.autoCenter = p.autoCenter;\n result.circleRadius = p.circleRadius;\n result.clearActiveContent = () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ activeContent: undefined, designClicked: false });\n }\n };\n result.onChange = (isDataMarkerSelected: boolean, value?: ICoords) => {\n this.setState({ value, isDataMarkerSelected } as any, () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n let wrapperProps: any = { value, isDataMarkerSelected };\n if (isDataMarkerSelected !== true) {\n wrapperProps = { value, isDataMarkerSelected, activeContent: undefined };\n }\n this.refreshGoogleMapsBodyWrapper(wrapperProps, () => {\n if (p.onChange) {\n this.lastSelectedLat = value?.latitude;\n this.lastSelectedLng = value?.longitude;\n p.onChange(value);\n }\n });\n }\n });\n };\n result.onGoogleApiLoaded = (map: any, maps: any) => {\n this.setState({ map, maps }, () => {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ map, maps }, () => {});\n }\n });\n };\n result.maps = this.state.maps;\n result.map = this.state.map;\n result.isDataMarkerSelected = this.state.isDataMarkerSelected;\n result.groupPickerIcon = p.groupPickerIcon;\n result.groupPickerColor = p.groupPickerColor;\n result.currentLocationIcon = p.currentLocationIcon;\n result.currentLocationColor = p.currentLocationColor;\n return result;\n };\n\n getGalleryBodyWrapperProps = () => {\n const result: GalleryBodyWrapperProps = {};\n const p = this.props as GalleryBodyWrapperProps;\n if (p.horizontalGutter) result.horizontalGutter = p.horizontalGutter;\n if (p.verticalGutter) result.verticalGutter = p.verticalGutter;\n return result;\n };\n\n public getSelectedIndex = () => {\n const selectedIndexHiddenInput = this.getSelectedRowIndexHiddenInput();\n\n if (selectedIndexHiddenInput) {\n return selectedIndexHiddenInput.value;\n }\n };\n\n public getSelectedValues = () => {\n return this.state.selectedRowKeysString;\n };\n\n getNestedTableSelectedIndex = (parentTableDomEl: HTMLElement) => {\n const selectedIndex = this.getSelectedIndex();\n\n const tbody = parentTableDomEl.querySelector(\"tbody\");\n\n if (!tbody) {\n return;\n }\n\n const rows = tbody.querySelectorAll(\":scope > tr\");\n\n if (rows.length === 0) {\n return;\n }\n\n if (selectedIndex === undefined || selectedIndex === \"\") {\n return;\n }\n\n const selectedRow = rows[selectedIndex];\n\n const selectedIndexDom = selectedRow.querySelector(\".selected-index-guid\");\n\n if (!(selectedIndexDom instanceof HTMLInputElement)) {\n return;\n }\n\n return selectedIndexDom.value ?? \"\";\n };\n\n getTableWrapperFromHtmlElement = (htmlElementNode: HTMLElement): HTMLElement | undefined => {\n while (htmlElementNode) {\n htmlElementNode = htmlElementNode.parentNode as HTMLElement;\n\n if (htmlElementNode?.className?.includes(\"ant-table-middle\")) {\n return htmlElementNode;\n }\n }\n\n return undefined;\n };\n\n getNearestTableAncestor = (htmlElementNode: HTMLElement): HTMLElement | undefined => {\n while (htmlElementNode) {\n htmlElementNode = htmlElementNode?.parentNode as HTMLElement;\n\n if (htmlElementNode?.tagName?.toLowerCase() === \"table\") {\n return htmlElementNode;\n }\n }\n\n return undefined;\n };\n\n public getParentTableIdIfExist = () => {\n const currentTableElement = document.getElementById(this.props.id);\n const nearestTableAncestor = this.getNearestTableAncestor(currentTableElement);\n\n if (!nearestTableAncestor) {\n return;\n }\n\n const tableWrapper = this.getTableWrapperFromHtmlElement(nearestTableAncestor);\n\n return tableWrapper.id;\n };\n\n getSelectedColumnIndex = () => {\n const selectedIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedIndexHiddenInput) {\n return selectedIndexHiddenInput.value;\n }\n };\n\n public getSelectedRowData = () => {\n const selectedRowDataHiddenInput = this.getSelectedRowDataHiddenInput();\n if (!this.props.dataSource || !selectedRowDataHiddenInput || !selectedRowDataHiddenInput.value) {\n return;\n }\n const isPrevInsertRow = this.isInsertRow(window.editingColumnData?.prevRowData);\n if (\n isPrevInsertRow &&\n window.editingColumnData?.prevRowIndex?.toString() !== window.editingColumnData?.rowIndex?.toString()\n ) {\n const rowValue = window.editingColumnData?.prevRowData;\n return rowValue;\n }\n\n if (this.props.mode === \"google-maps\" && !this.state.isDataMarkerSelected) return;\n\n return JSON.parse(selectedRowDataHiddenInput.value);\n };\n\n public getCarouselCurrentData = () => {\n if (this.props.dataSource && this.props.mode === \"carousel\") {\n return this.props.dataSource[this.state.carouselStartingIndex];\n }\n return {} as any;\n };\n\n public getTableConfigJson = () => {\n const json = {\n searchText: this.state.searchText,\n columnSearchTexts: this.state.columnSearchTexts,\n hiddenColumnList: this.state.hiddenColumnList,\n columnOrder: this.state.columnOrder,\n filteringOptions: this.state.filteringOptions,\n sorterOptions: this.state.sorterOptions,\n columnWidths: this.state.columnWidths\n };\n return JSON.stringify(json);\n };\n\n public setTableConfigJson = (json: string) => {\n if (!json || json === \"\") return;\n const obj = JSON.parse(json);\n this.setState({\n searchText: obj.searchText,\n columnSearchTexts: obj.columnSearchTexts,\n hiddenColumnList: obj.hiddenColumnList,\n columnOrder: obj.columnOrder,\n filteringOptions: obj.filteringOptions,\n sorterOptions: obj.sorterOptions,\n columnWidths: obj.columnWidths\n });\n };\n\n public clearFilterConfigs = () => {\n this.setState({\n searchText: \"\" as any,\n columnSearchTexts: {} as any,\n filteringOptions: {},\n sorterOptions: {}\n });\n };\n\n public resetTableConfigs = () => {\n this.setState({\n searchText: \"\" as any,\n columnSearchTexts: {} as any,\n hiddenColumnList: [] as any,\n columnOrder: [] as any,\n filteringOptions: {} as any,\n sorterOptions: {} as any,\n columnWidths: {} as any\n });\n };\n\n public setSelectedValues = (selectedValues: string) => {\n this.setState({ selectedRowKeysString: selectedValues, selectedRowKeys: selectedValues?.split(\",\") });\n };\n\n getSelectedRowIndexHiddenInput = () => {\n const selectedIndexHiddenInput = window.document.getElementById(this.state.selectedIndexGuid);\n return selectedIndexHiddenInput;\n };\n\n getSelectedColumnIndexHiddenInput = () => {\n const selectedColumnIndexHiddenInput = window.document.getElementById(this.state.selectedColumnIndexGuid);\n return selectedColumnIndexHiddenInput;\n };\n\n getSelectedRowDataHiddenInput = () => {\n const selectedColumnIndexHiddenInput = window.document.getElementById(this.state.selectedRowDataGuid);\n return selectedColumnIndexHiddenInput;\n };\n\n handleOnRowEditFinished = (isBlur?: boolean) => {\n let oldValues = {};\n let newValues = {};\n let rowValue = window.editingColumnData?.rowData;\n const { pageSize, current } = this.state;\n const offset = (current - 1) * pageSize;\n\n if (!this.props.editableAlwaysActive) {\n const filteredList = this.getFilteredAndSortedDataSource();\n const adjustedIndex = offset + this.state.activeEditableRowIndex;\n rowValue = filteredList[adjustedIndex];\n }\n\n if (rowValue) {\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n oldValues[key] = rowValue[cellfieldName];\n newValues[key] = this.props.form.getFieldValue(key);\n });\n const isEql = isEqual(oldValues, newValues);\n if (isEql) {\n this.setState({ activeEditableRowIndex: -1 } as any);\n } else {\n const idColumnKey = `Table_${this.props.id}_id`;\n if (oldValues[idColumnKey] !== newValues[idColumnKey]) {\n return;\n }\n this.props.onRowEditFinished();\n }\n }\n if (this.props.editableAlwaysActive) {\n const newVals = Object.keys(newValues).reduce((acc, key) => {\n acc[key.replace(`Table_${this.props.id}_`, \"\")] = newValues[key];\n return acc;\n }, {});\n const isInsertRow = this.props.insertRowActive && this.isInsertRow(window.editingColumnData?.rowData);\n window.editingColumnData = {\n rowIndex: window.editingColumnData?.rowIndex,\n columnIndex:\n window.editingColumnData?.isKeyDownTriggered && !isBlur\n ? window.editingColumnData?.columnIndex + 1\n : window.editingColumnData?.columnIndex,\n isInsertRow,\n isKeyDownTriggered: window.editingColumnData?.isKeyDownTriggered,\n prevRowIndex: undefined,\n rowData: newVals\n };\n }\n };\n\n handleRowClick = (_e: any, rowValue: any, rowIndex?: number) => {\n if (\n this.props.onRowEditFinished &&\n this.state.activeEditableRowIndex != -1 &&\n rowIndex != this.state.activeEditableRowIndex &&\n !this.props.editableAlwaysActive\n ) {\n this.handleOnRowEditFinished();\n }\n const selectedIndexHiddenInput = this.getSelectedRowIndexHiddenInput();\n if (selectedIndexHiddenInput && rowIndex !== undefined) {\n selectedIndexHiddenInput.value = rowIndex.toString();\n }\n const selectedRowDataHiddenInput = this.getSelectedRowDataHiddenInput();\n if (selectedRowDataHiddenInput && rowValue !== undefined) {\n selectedRowDataHiddenInput.value = JSON.stringify(rowValue);\n }\n };\n\n handleRowDoubleClick = (_e: any, rowValue: any, rowIndex?: number) => {\n if (this.props.editableAlwaysActive) {\n return;\n }\n if (this.state.activeEditableRowIndex != rowIndex && this.props.editable) {\n let formValues = {};\n Object.keys(rowValue).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = rowValue[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n this.setState({ activeEditableRowIndex: rowIndex } as any, () => {});\n }\n if (this.props.onRowDoubleClick) {\n this.props.onRowDoubleClick();\n }\n };\n\n handleOnRowBlur = (_e: any, _rowValue: any, _rowIndex?: number) => {};\n\n handleCellClick = (_e, columnIndex, rowData, rowIndex) => {\n if (this.props.editableAlwaysActive) {\n const currentRowIndex = _e.currentTarget.getAttribute(\"rowindex\");\n const dataType: ValueType = _e.currentTarget.getAttribute(\"datatype\");\n const isInsertRow = this.props.insertRowActive && this.isInsertRow(rowData);\n const prevRowIndex = window.editingColumnData?.rowIndex;\n const prevRowData = window.editingColumnData?.rowData;\n const prevActiveElement = window.editingColumnData?.activeElement;\n if (\n (isInsertRow &&\n window.editingColumnData?.rowIndex?.toString() !== currentRowIndex?.toString() &&\n currentRowIndex) ||\n (!isInsertRow &&\n (window.editingColumnData?.rowIndex?.toString() !== currentRowIndex?.toString() ||\n window.editingColumnData?.columnIndex?.toString() !== columnIndex?.toString()) &&\n currentRowIndex) ||\n !window.editingColumnData ||\n (dataType === ValueType.Boolean && !isInsertRow)\n ) {\n window.editingColumnData = {\n rowIndex: currentRowIndex,\n isInsertRow,\n columnIndex,\n activeElement: _e,\n prevRowIndex,\n rowData,\n prevRowData\n };\n if (\n prevRowIndex?.toString() !== currentRowIndex?.toString() &&\n isInsertRow &&\n prevRowIndex?.toString() !== undefined &&\n currentRowIndex !== undefined\n ) {\n this.setFields(prevActiveElement, true, rowData);\n this.handleOnRowEditFinished();\n return;\n }\n\n this.setFields(_e, true, rowData);\n }\n }\n\n const selectedColumnIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedColumnIndexHiddenInput && columnIndex !== undefined) {\n selectedColumnIndexHiddenInput.value = columnIndex.toString();\n }\n };\n\n isInsertRow = (rowData) => {\n if (!rowData) {\n return false;\n }\n const otherFields = Object.keys(rowData).filter((key) => key !== \"id\");\n return otherFields.every((field) => rowData[field] === undefined);\n };\n\n setFields = (e: any, isClick: boolean, rowData) => {\n const isCurrentInsertRow = window.editingColumnData?.isInsertRow;\n const isPrevRowInsert = this.isInsertRow(window.editingColumnData?.prevRowData);\n if ((isCurrentInsertRow && !isClick) || isPrevRowInsert) {\n return;\n }\n let currentColumnDataValue = e.target.getAttribute(\"datavalue\");\n let currentColumnDataType = e.target.getAttribute(\"datatype\");\n let activeElement = e.target;\n let columnIndex = e.target.getAttribute(\"columnindex\");\n if (window.editingColumnData?.columnIndex?.toString() !== columnIndex?.toString() && columnIndex) {\n return;\n }\n while (!currentColumnDataValue && activeElement && activeElement.getAttribute(\"datavalue\") === null) {\n activeElement = activeElement.parentElement;\n currentColumnDataValue = activeElement?.getAttribute(\"datavalue\");\n currentColumnDataType = activeElement?.getAttribute(\"datatype\");\n }\n const dataSource = this.getDataSource();\n let selectedRow = rowData;\n let selectedColumnValue = selectedRow[currentColumnDataValue]?.toString();\n let currentColumnValue =\n e.target.value?.toString()?.trim() ||\n (document.activeElement as any).checked ||\n (document.activeElement as any).value;\n let isDate = false;\n let isBoolean = false;\n if (currentColumnValue && typeof currentColumnValue === \"string\" && currentColumnDataType === ValueType.Date) {\n currentColumnValue = moment(currentColumnValue, \"DD-MM-YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\");\n selectedColumnValue = moment(selectedColumnValue).format(\"YYYY-MM-DD HH:mm:ss\");\n isDate = true;\n }\n if (\n e.target?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.getAttribute(\"aria-checked\") === \"false\" ||\n e.target?.parentElement?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.parentElement?.getAttribute(\"aria-checked\") === \"false\"\n ) {\n currentColumnValue = !(\n e.target.parentElement?.getAttribute(\"aria-checked\") === \"true\" ||\n e.target?.getAttribute(\"aria-checked\") === \"true\"\n );\n selectedColumnValue = selectedColumnValue === \"true\";\n isBoolean = true;\n }\n if (e.target.className === \"ant-checkbox-inner\" || e.target.className === \"ant-checkbox-input\") {\n const parent = e.target.parentElement;\n const input = parent?.querySelector(\"input\");\n if (input) {\n currentColumnValue = input.getAttribute(\"checked\") === null;\n selectedColumnValue = selectedColumnValue === \"true\";\n isBoolean = true;\n }\n }\n if (currentColumnValue && typeof currentColumnValue === \"string\") {\n currentColumnValue = currentColumnValue.replace(/[,]/g, \"\");\n }\n if (\n currentColumnValue !== selectedColumnValue &&\n currentColumnValue !== undefined &&\n currentColumnValue !== null &&\n currentColumnValue !== \"\"\n ) {\n selectedRow = {\n ...selectedRow,\n [currentColumnDataValue]:\n isDate || isBoolean\n ? currentColumnValue\n : currentColumnDataType === ValueType.Number\n ? parseFloat(currentColumnValue)\n : e.target.value\n };\n dataSource?.forEach((row, index) => {\n if (row.id === selectedRow.id) {\n dataSource[index] = selectedRow;\n }\n });\n }\n\n let formValues = {};\n Object.keys(selectedRow).forEach((cellfieldName) => {\n let key = `Table_${this.props.id}_${cellfieldName}`;\n formValues[key] = selectedRow[cellfieldName];\n });\n this.props.form?.setFieldsValue(formValues);\n const isInsertRow =\n isCurrentInsertRow === true ? isCurrentInsertRow : this.props.insertRowActive && this.isInsertRow(selectedRow);\n\n if (\n ((isBoolean &&\n (window.editingColumnData?.columnIndex?.toString() === activeElement.getAttribute(\"columnIndex\")?.toString() ||\n window.editingColumnData === undefined)) ||\n (isDate && currentColumnValue !== selectedColumnValue)) &&\n !isInsertRow\n ) {\n this.handleOnRowEditFinished();\n }\n };\n\n handleCellBlur = (_e, rowIndex, columnIndex) => {\n const isInsertRow = window.editingColumnData?.isInsertRow;\n if (!this.props.editableAlwaysActive || isInsertRow) {\n return;\n }\n\n let currentColumnValue = \"\";\n let currentColumnDataValue = _e.currentTarget.getAttribute(\"datavalue\");\n const currentColumnDataType = _e.currentTarget.getAttribute(\"datatype\");\n const rowData = window.editingColumnData?.rowData;\n const selectedRow = rowData;\n const selectedColumnValue = selectedRow[currentColumnDataValue]?.toString();\n let formattedDate = \"\";\n\n if (_e.target.classList.contains(\"ant-select-selection-search-input\")) {\n currentColumnValue = _e.target.getAttribute(\"aria-activedescendant\");\n currentColumnValue = document.getElementById(currentColumnValue)?.innerText || \"\";\n } else {\n currentColumnValue = _e.target.value?.toString();\n if (currentColumnValue) {\n currentColumnValue = currentColumnValue.replace(/[,]/g, \"\");\n }\n }\n\n if (currentColumnValue && currentColumnDataType === ValueType.Date) {\n currentColumnValue = moment(currentColumnValue, \"DD-MM-YYYY HH:mm:ss\").format(\"YYYY-MM-DD HH:mm:ss\");\n formattedDate = moment(selectedColumnValue).format(\"YYYY-MM-DD HH:mm:ss\");\n }\n\n if (\n currentColumnValue !== selectedColumnValue &&\n currentColumnValue &&\n currentColumnValue !== \"\" &&\n currentColumnValue !== \"Invalid date\"\n ) {\n if (!isInsertRow) {\n if (formattedDate && formattedDate !== \"\") {\n if (selectedColumnValue !== formattedDate && formattedDate !== \"Invalid date\") {\n this.handleOnRowEditFinished(true);\n }\n } else {\n this.handleOnRowEditFinished(true);\n }\n }\n const selectedColumnIndexHiddenInput = this.getSelectedColumnIndexHiddenInput();\n if (selectedColumnIndexHiddenInput && columnIndex !== undefined) {\n selectedColumnIndexHiddenInput.value = columnIndex.toString();\n }\n }\n };\n\n getRowComponent = () => {\n const childList = React.Children.toArray(this.props.children);\n return childList[1];\n };\n\n getPagination = () => {\n if (this.props.pagination && this.props.pagination === true) {\n const paginationProps = {\n pageSize: this.state.pageSize,\n showSizeChanger: this.props.showSizeChanger,\n pageSizeOptions: this.getPageSizeOptions(),\n onShowSizeChange: (current: number, size: number) => this.onPageSizeChange(current, size),\n onChange: (current: number) => this.setState({ current } as any)\n };\n return paginationProps;\n }\n return false;\n };\n\n onPageSizeChange = (current: number, size: number) => {\n this.setState({ pageSize: size, current } as any);\n };\n\n getPageSizeOptions = () => {\n const options = this.props.options;\n if (options && options.length > 0) {\n const mappedOptions: number[] = [];\n options.forEach((option: any) => {\n const value = option.text?.trim() ?? option[this.props.datavaluefield];\n if (!isNaN(value) && value !== null && value !== undefined && value !== \"\") {\n mappedOptions.push(parseInt(value, 10));\n }\n });\n mappedOptions?.sort((a, b) => a - b);\n if (mappedOptions.length > 0) return mappedOptions;\n }\n\n return BaseTable.DEFAULT_PAGE_SIZE_OPTIONS;\n };\n\n shouldComponentUpdate = (nextProps: any, nextState: any) => {\n if (nextProps.mode === \"carousel\") {\n if (this.props.dataSource === undefined || this.props.dataSource !== nextProps.dataSource) return true;\n return false;\n }\n if (nextProps.mode === \"google-maps\") {\n if (this.props.dataSource === undefined || this.props.dataSource !== nextProps.dataSource) {\n if (_.isEqual(this.props.dataSource, nextProps.dataSource) === false) {\n return true;\n }\n }\n if (this.refreshGoogleMapsBodyWrapper && this.state.value !== nextState.value) {\n const { value } = nextState;\n if (value != undefined && value.latitude != undefined && value.longitude != undefined) {\n if (this.props.autoCenter !== true) {\n this.refreshGoogleMapsBodyWrapper({\n value: nextState.value,\n latitude: value.latitude,\n longitude: value.longitude\n });\n } else {\n this.refreshGoogleMapsBodyWrapper({ value: nextState.value });\n }\n }\n\n this.refreshGoogleMapsBodyWrapper({ value: nextState.value });\n }\n return false;\n }\n return !shallowequal(nextProps, this.props) || !shallowequal(nextState, this.state);\n };\n\n getRowProps = () => {\n const result: any = {};\n if (this.props.mode === \"gallery\") {\n result.desktopColumnsCount = (this.props as GalleryItemProps).desktopColumnsCount;\n result.tabletColumnsCount = (this.props as GalleryItemProps).tabletColumnsCount;\n result.phoneColumnsCount = (this.props as GalleryItemProps).phoneColumnsCount;\n } else if (this.props.mode === \"google-maps\") {\n result.value = this.state.value;\n result.map = this.state.map;\n result.maps = this.state.maps;\n result.isDataMarkerSelected = this.state.isDataMarkerSelected;\n }\n return result;\n };\n\n convertToCoordsFieldsFromLatField = (record: any): number | undefined => {\n if (this.props.dataLatField === undefined) return undefined;\n if (this.props.dataLatField !== undefined && record[toCamelCase(this.props.dataLatField)] !== undefined) {\n const latitude = parseFloat(record[toCamelCase(this.props.dataLatField)]);\n return latitude;\n }\n };\n\n convertToCoordsFieldsFromLngField = (record: any): number | undefined => {\n if (this.props.dataLngField === undefined) return undefined;\n if (this.props.dataLngField !== undefined && record[toCamelCase(this.props.dataLngField)] !== undefined) {\n const longitude = parseFloat(record[toCamelCase(this.props.dataLngField)]);\n return longitude;\n }\n };\n\n getRowLat = (rowData: any) => {\n const latitude = this.convertToCoordsFieldsFromLatField(rowData);\n return latitude;\n };\n\n getRowLng = (rowData: any) => {\n const longitude = this.convertToCoordsFieldsFromLngField(rowData);\n return longitude;\n };\n\n resetEditableRow = () => {\n if (this.state.activeEditableRowIndex != -1 && this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n }\n };\n\n getDataSource = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.props.insertRowActive && this.props.dataSource && !isDesignTime) {\n let mockDataSource = { id: this.state?.randomGuid };\n let children = this.props.children[1].props.children;\n if (children?.length > 0) {\n children.forEach((element) => {\n if (\n element &&\n element.props &&\n element.props.children &&\n element.props.children[0] &&\n element.props.children[0].props &&\n element.props.children[0].props.value\n ) {\n var key = element.props.children[0].props.value as string;\n if (key) {\n key = key.replace(\"[datafield:\", \"\").replace(\"]\", \"\");\n if (key !== \"id\") {\n mockDataSource[key] = undefined;\n }\n }\n }\n });\n }\n if (this.props.insertRowPosition === \"bottom\") {\n let dataSource = this.props.dataSource;\n let newDataSource = [];\n if (this.props.pagination === true) {\n dataSource.forEach((element, index) => {\n newDataSource.push(element);\n if (index % 8 === 0 && index !== 0) {\n newDataSource.push(mockDataSource);\n } else if (index === dataSource.length - 1) {\n newDataSource.push(mockDataSource);\n }\n });\n } else {\n newDataSource = [...dataSource, mockDataSource];\n }\n return newDataSource;\n }\n return [mockDataSource, ...this.props.dataSource];\n }\n return this.props.dataSource;\n };\n\n getTableStyles = () => {\n if (this.props.mode === \"carousel\") {\n const { width, height, maxWidth, maxHeight } = this.props.style;\n delete this.props.style?.width;\n delete this.props.style?.height;\n delete this.props.style?.maxWidth;\n delete this.props.style?.maxHeight;\n return {\n width,\n height,\n maxWidth,\n maxHeight\n };\n }\n };\n\n setStartingIndex = (index: number) => {\n const totalSlides = this.props.dataSource?.length || 0;\n const validIndex = index < totalSlides ? index : index % totalSlides;\n if (this.props.mode === \"carousel\") {\n this.setState({ carouselStartingIndex: validIndex } as any);\n this.forceUpdate();\n }\n };\n\n turkishCharsToEnglish = (str) => {\n if (!str || typeof str !== \"string\") return str;\n\n str = str.replace(/i̇/g, \"i\");\n str = str.replace(/ı/g, \"i\");\n str = str.replace(/ö/g, \"o\");\n str = str.replace(/ü/g, \"u\");\n str = str.replace(/ğ/g, \"g\");\n str = str.replace(/ş/g, \"s\");\n str = str.replace(/ç/g, \"c\");\n str = str.replace(/İ/g, \"I\");\n str = str.replace(/Ö/g, \"O\");\n str = str.replace(/Ü/g, \"U\");\n str = str.replace(/Ğ/g, \"G\");\n str = str.replace(/Ş/g, \"S\");\n str = str.replace(/Ç/g, \"C\");\n\n return str;\n };\n\n setSearchText = (searchText: string) => {\n this.setState({ searchText } as any);\n };\n\n setColumnSearchTexts = (key: string, value: string) => {\n const columnSearchTexts: { [key: string]: string } = { ...this.state.columnSearchTexts };\n columnSearchTexts[key] = value;\n this.setState({ columnSearchTexts } as any);\n };\n\n onHeaderSearchBlur = () => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n\n filterListBySearchText(rows: any, searchText: any) {\n const searchLowerCase = this.turkishCharsToEnglish(searchText?.toString()?.toLowerCase());\n const searchUpperCase = this.turkishCharsToEnglish(searchText?.toString()?.toUpperCase());\n let filteredList = rows;\n if (searchText && searchText !== \"\") {\n filteredList = rows.filter((item: any) => {\n for (let key in item) {\n const itemLowerCase = this.turkishCharsToEnglish(item[key]?.toString()?.toLowerCase());\n const itemUpperCase = this.turkishCharsToEnglish(item[key]?.toString()?.toUpperCase());\n if (\n (typeof item[key] === \"string\" || typeof item[key] === \"number\") &&\n (itemLowerCase?.includes(searchLowerCase) || itemLowerCase?.includes(searchLowerCase))\n ) {\n return true;\n }\n if (\n (typeof item[key] === \"string\" || typeof item[key] === \"number\") &&\n (itemUpperCase?.includes(searchUpperCase) || itemUpperCase?.includes(searchUpperCase))\n ) {\n return true;\n }\n }\n return false;\n });\n }\n\n const columnSearchTexts = this.state.columnSearchTexts;\n if (columnSearchTexts) {\n for (let key in columnSearchTexts) {\n const columnSearchText: any = columnSearchTexts[key];\n if (columnSearchText || columnSearchText === false) {\n const filteredListByColumnSearchText = filteredList.filter((item: any) => {\n if (typeof item[key] === \"string\" || typeof item[key] === \"number\") {\n const itemLowerCase = this.turkishCharsToEnglish(item[key].toString().toLowerCase());\n const columnSearchTextLowerCase = this.turkishCharsToEnglish(columnSearchText.toLowerCase());\n const itemUpperCase = this.turkishCharsToEnglish(item[key].toString().toUpperCase());\n const columnSearchTextUpperCase = this.turkishCharsToEnglish(columnSearchText.toUpperCase());\n if (itemLowerCase.includes(columnSearchTextLowerCase)) {\n return true;\n }\n if (itemUpperCase.includes(columnSearchTextUpperCase)) {\n return true;\n }\n }\n if (typeof item[key] === \"boolean\") {\n if (item[key] === true && (columnSearchText === \"true\" || columnSearchText === true)) {\n return true;\n }\n if (item[key] === false && (columnSearchText === \"false\" || columnSearchText === false)) {\n return true;\n }\n }\n return false;\n });\n filteredList = filteredListByColumnSearchText;\n }\n }\n }\n\n return filteredList;\n }\n\n handleCheckboxChange = (checkedValues) => {\n const { columns } = this.state;\n\n const allVisibleColumns = columns.filter((c) => c.visibility !== \"hidden\").map((c) => c.id);\n const newHiddenColumnList: any = allVisibleColumns.filter((id) => !checkedValues.includes(id));\n\n this.setState({ hiddenColumnList: newHiddenColumnList });\n };\n\n handleDragEnd = (result) => {\n if (!result.destination) {\n return;\n }\n\n const columns: any = this.reorder(this.state.columns, result.source.index, result.destination.index);\n\n const columnOrder = columns.map((col: any) => col.id);\n this.setState(\n {\n columns,\n columnOrder\n },\n () => {\n this.handleColumnOrderChange(columnOrder);\n }\n );\n };\n\n reorder = (list, startIndex, endIndex) => {\n const result = Array.from(list);\n const [removed] = result.splice(startIndex, 1);\n result.splice(endIndex, 0, removed);\n\n return result;\n };\n\n setResizingColumnIndex = (index: any) => {\n (this.resizingColumnIndexRef as any).current = index;\n this.setState({ resizingColumnIndex: index });\n };\n\n resizeListener = (e: any) => {\n let newColumnWidth;\n if (this.resizingColumnIndexRef.current !== undefined) {\n const table = document.getElementById(this.props.id);\n if (table) {\n const column: any = table.querySelector(`[columnindex=\"${this.resizingColumnIndexRef.current}\"]`);\n if (column) {\n const columnWidth = column.offsetWidth;\n newColumnWidth = columnWidth + e.movementX;\n if (newColumnWidth > 50) {\n column.style.width = `${newColumnWidth}px`;\n this.setState({\n columnWidths: { ...this.state.columnWidths, [this.resizingColumnIndexRef.current]: newColumnWidth }\n });\n }\n }\n }\n }\n window.onmouseup = () => {\n window.removeEventListener(\"mousemove\", this.resizeListener);\n this.setState({ resizingColumnIndex: undefined });\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n };\n\n handleColumnOrderChange = (newOrder) => {\n this.setState({ columnOrder: newOrder });\n };\n\n handleTableChange = (pagination, filters, sorter) => {\n if (sorter) {\n const sorterOptions = {\n field: sorter.column?.dataValue,\n order: sorter.order,\n columnId: sorter.column?.id\n };\n this.setState({ sorterOptions });\n } else {\n this.setState({ sorterOptions: {} });\n }\n if (filters) {\n Object.values(filters).forEach((filter: any) => {\n if (filter && filter[0] && filter[0].value) {\n const columns = this.state.columns;\n const column: any = columns.find((c) => c.id === filter[0].columnId);\n if (column) {\n filter[0].dataValue = column.dataValue;\n filter[0].columnId = column.id;\n }\n }\n });\n this.setState({ filteringOptions: filters });\n } else {\n this.setState({ filteringOptions: {} });\n }\n if (this.props.onConfigChange) this.props.onConfigChange();\n };\n\n getFormattedValue(value: any, formatter) {\n if (formatter && value && value?.toString()?.trim() !== \"\") {\n switch (formatter) {\n case \"money\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-tl\":\n if (Number.isNaN(Number(value))) {\n return \"₺0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"phone\":\n return VMasker.toPattern(value, \"(999) 999-9999\");\n\n case \"percent\":\n return `${value}%`;\n\n case \"fractional-2\":\n const number2 = Number(value);\n return isNaN(number2) ? value : number2.toFixed(2);\n\n case \"fractional-5\":\n const number5 = Number(value);\n return isNaN(number5) ? value : number5.toFixed(5);\n\n default:\n return value;\n }\n }\n return value?.toString();\n }\n\n getFilteredAndSortedDataSource = () => {\n let filteredList =\n this.props.searchable || this.props.globalSearch\n ? this.filterListBySearchText(this.getDataSource(), this.state.searchText)\n : this.getDataSource();\n\n if (this.state.filteringOptions) {\n Object.entries(this.state.filteringOptions).forEach(([c, filters]: any) => {\n if (filters && filters.length > 0) {\n const { value, type, columnId } = filters[0];\n const column = this.state.columns.find((col) => col.id === columnId);\n if (column) {\n const { dataValue, dataType }: any = column;\n filteredList = filteredList.filter((record) =>\n BaseTable.applyFilter({ value, type }, record, dataValue, dataType)\n );\n }\n }\n });\n }\n\n if (this.state.sorterOptions && this.state.sorterOptions.field) {\n const { field, order } = this.state.sorterOptions;\n filteredList.sort((a, b) => {\n const result = BaseTable.compare(field, a, b);\n return order === \"ascend\" ? result : -result;\n });\n }\n\n return filteredList;\n };\n\n renderSummary = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n\n const hasFooter = this.state.columns?.some(\n (column: any) => column.footerOptions !== FooterOptions.None && column.footerOptions\n );\n if (!hasFooter) return <>;\n\n const calculateTotals = (column) => {\n const { footerOptions, dataType, dataValue, footerFormatter } = column;\n if (\n footerOptions === FooterOptions.None ||\n (dataType !== ValueType.Number && footerOptions !== FooterOptions.Count)\n )\n return \"\";\n\n let filteredList = this.getFilteredAndSortedDataSource();\n\n const columnData = filteredList?.map((row) => row[dataValue]) || [];\n\n switch (footerOptions) {\n case FooterOptions.Sum:\n return this.getFormattedValue(\n columnData.reduce((acc, val) => acc + (val || 0), 0),\n footerFormatter\n );\n case FooterOptions.Average:\n const validData = columnData.filter((val) => val != null);\n return this.getFormattedValue(\n validData.length ? (validData.reduce((acc, val) => acc + val, 0) / validData.length).toFixed(2) : 0,\n footerFormatter\n );\n case FooterOptions.Count:\n return this.getFormattedValue(columnData.length, footerFormatter);\n case FooterOptions.Min:\n const minData = columnData.filter((val) => val != null);\n return this.getFormattedValue(minData.length ? Math.min(...minData) : 0, footerFormatter);\n\n case FooterOptions.Max:\n const maxData = columnData.filter((val) => val != null);\n return this.getFormattedValue(maxData.length ? Math.max(...maxData) : 0, footerFormatter);\n default:\n return \"\";\n }\n };\n\n const totals = this.state.columns?.map(calculateTotals);\n\n const renderSummaryCell = (column, index) => {\n const { footerOptions, footerFormatter, dataType, style, footerOptionLabel, footerFontSize, footerFontColor } =\n column;\n const isNumeric = dataType === ValueType.Number || isDesignTime || footerOptions === FooterOptions.Count;\n\n if (!isNumeric) return ;\n const designTimeValue = footerOptions !== FooterOptions.None ? this.getFormattedValue(\"20\", footerFormatter) : \"\";\n const content = (\n
\n \n {footerOptionLabel}\n \n \n {isDesignTime ? designTimeValue : totals[index] || \"\"}\n \n
\n );\n\n return (\n \n {content}\n
\n );\n };\n\n return (\n \n \n {this.props.multiSelect && }\n {this.state.columns?.map(renderSummaryCell)}\n \n \n );\n };\n\n onExport = () => {\n const file = new xlsx.File();\n const sheet = file.addSheet(\"Sheet1\");\n\n const headerRow = sheet.addRow();\n this.state.columns.forEach(({ title }: any) => {\n const cell = headerRow.addCell();\n cell.value = title;\n });\n\n let filteredList = this.getFilteredAndSortedDataSource();\n\n filteredList.forEach((record) => {\n const row = sheet.addRow();\n this.state.columns.forEach(({ dataValue }: any) => {\n const cell = row.addCell();\n cell.value = objectPath.get(record, dataValue) ?? \"\";\n });\n });\n\n file\n .saveAs(\"blob\")\n .then((blob) => {\n saveAs(blob, \"export.xlsx\");\n })\n .catch((error) => {\n console.error(\"Error saving the file:\", error);\n });\n };\n\n render = (): ReactNode => {\n const isDesignTime = window.kuika?.isDesignTime;\n const defaultEmptyProps = {\n xl: 24 / (this.props as GalleryItemProps).desktopColumnsCount,\n md: 24 / (this.props as GalleryItemProps).tabletColumnsCount,\n sm: 24 / (this.props as GalleryItemProps).phoneColumnsCount,\n xs: 24 / (this.props as GalleryItemProps).phoneColumnsCount,\n\n style: {\n padding: \"5px 5px\"\n }\n };\n let defaultTemp = [];\n\n if (this.props.kuikacomponentname == \"GalleryView\" && !this.props.children) {\n let a = Array(24).fill(1);\n a.forEach((element, index) => {\n defaultTemp.push(\n \n
\n \n );\n });\n\n return {defaultTemp};\n }\n if (this.props.mode == \"carousel\" && this.props.kuikacomponentname === \"Carousel\" && !this.props.children) {\n return ;\n }\n if (this.props.mode == \"carousel\" && this.props.kuikacomponentname === \"HorizontalGrid\" && !this.props.children) {\n return ;\n }\n if (this.props.mode == \"flex-grid\" && !this.props.children && window.kuika.isDesignTime) {\n return ;\n }\n if (\n this.props.hideTableOnEmpty == true &&\n (this.props.dataSource == undefined || this.props.dataSource.length < 1)\n ) {\n return <>;\n }\n\n const filteredList =\n this.props.searchable || this.props.globalSearch\n ? this.filterListBySearchText(this.getDataSource(), this.state.searchText)\n : this.getDataSource();\n const language = localStorage.getItem(\"ml\");\n\n let noDataFoundMessageText = \"No data found\";\n if (language === \"tr_TR\") {\n noDataFoundMessageText = \"Veri bulunamadı\";\n } else if (language === \"fr_FR\") {\n noDataFoundMessageText = \"Aucune donnée trouvée\";\n } else if (language === \"de_DE\") {\n noDataFoundMessageText = \"Keine Daten gefunden\";\n } else if (language === \"es_ES\") {\n noDataFoundMessageText = \"No se encontraron datos\";\n }\n\n return (\n <>\n
\n {(this.props.globalSearch || this.props.columnChooser || this.props.export) && (\n \n {this.props.globalSearch && (\n this.setSearchText(e.target.value)}\n onBlur={() => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n }}\n readOnly={isDesignTime}\n />\n )}\n\n {this.props.export && (\n
\n }\n onClick={() => {\n this.onExport();\n }}\n >\n {language === \"tr_TR\" ? \"Dışa Aktar\" : \"Export\"}\n \n
\n )}\n\n {this.props.columnChooser && (\n
\n \n \n {(provided) => (\n \n {this.state.columns\n ?.filter((c) => c.visibility !== \"hidden\")\n .map((c: any, index) => (\n \n {(provided) => (\n \n \n {\n if (\n this.state.hiddenColumnList.length ===\n this.state.columns.filter((c) => c.visibility !== \"hidden\").length -\n 1 &&\n !e.target.checked\n ) {\n return;\n }\n const hiddenColumnList: any = e.target.checked\n ? this.state.hiddenColumnList.filter((id) => id !== c.id)\n : [...this.state.hiddenColumnList, c.id];\n this.setState({ hiddenColumnList }, () => {\n if (this.props.onConfigChange) this.props.onConfigChange();\n });\n }}\n >\n {c.title}\n \n
\n )}\n \n ))}\n {provided.placeholder}\n
\n )}\n \n \n }\n title=\"Column Chooser\"\n trigger=\"click\"\n placement=\"bottomLeft\"\n >\n \n \n
\n )}\n \n )}\n \n ) : this.props.mode === \"table\" || this.props.showNoDataFound ? (\n \n ) : null\n }\n description={\n this.props.mode === \"table\" || this.props.showNoDataFound\n ? this.props.nodatafoundmessage || noDataFoundMessageText\n : \"\"\n }\n />\n )\n }}\n onRow={(rowValue: any, rowIndex?: number) => ({\n ...this.getRowProps(),\n onMouseLeave: (e: any) => {\n this.handleOnRowBlur(e, rowValue, rowIndex);\n },\n onDoubleClick: (e: any) => {\n this.handleRowDoubleClick(e, rowValue, rowIndex);\n },\n onTouchStart: (e: any) => {\n this.timeOutId = setTimeout(() => {\n this.handleRowDoubleClick(e, rowValue, rowIndex);\n }, 500);\n },\n onTouchEnd: (e: any) => {\n clearTimeout(this.timeOutId);\n },\n onClickCapture: (e: any) => {\n this.handleRowClick(e, rowValue, rowIndex);\n },\n editMode: this.props.editableAlwaysActive ? true : this.state.activeEditableRowIndex == rowIndex,\n style: this.getRowStyle(rowValue, rowIndex),\n hoverFontColor: this.props.rowHoverFontColor,\n transformedOnMobileResolution: this.props.transformedOnMobileResolution,\n hoverBgColor: this.props.rowHoverBgColor,\n selectedBgColor: this.props.selectedRowColor,\n isSelected: this.state.selectedRowKeys?.includes(rowValue.id),\n tableClassName: this.getClassName().trim(),\n showTableHeader: this.props.showHeader,\n desktopColumnsCount: (this.props as GalleryItemProps).desktopColumnsCount,\n tabletColumnsCount: (this.props as GalleryItemProps).tabletColumnsCount,\n phoneColumnsCount: (this.props as GalleryItemProps).phoneColumnsCount,\n mode: this.props.mode,\n rowData: rowValue,\n rowIndex,\n isInsertRow: this.isInsertRow(rowValue),\n handleAddRow: () => {\n if (this.props.onRowEditFinished) {\n this.handleOnRowEditFinished();\n window.editingColumnData = {};\n }\n },\n handleCancelEditing: () => {\n this.setState({ activeEditableRowIndex: -1 } as any);\n },\n onClick: () => this.resetEditableRow,\n rowComponent: this.getRowComponent(),\n lat: this.getRowLat(rowValue),\n lng: this.getRowLng(rowValue),\n dataLatField: this.props?.dataLatField,\n dataLngField: this.props?.dataLngField,\n marker: { lat: this.getRowLat(rowValue), lng: this.getRowLng(rowValue) },\n rowStyle: this.getRowStyle(rowValue, rowIndex),\n value: this.state.value,\n isDataMarkerSelected: this.state.isDataMarkerSelected,\n onClickDesign: (designClicked: boolean) => {\n if (this.props.onClickDesign) {\n this.props.onClickDesign(designClicked);\n }\n },\n openDrawer: (content?: any) => {\n if (content !== undefined) {\n if (this.refreshGoogleMapsBodyWrapper) {\n this.refreshGoogleMapsBodyWrapper({ activeContent: content });\n }\n }\n },\n designClicked: (this.props.designClicked as any) === \"\" ? true : this.props.designClicked,\n markerDetailView: this.props.markerDetailView,\n position: this.props.markerDetailPosition,\n height: this.props.markerDetailHeight,\n width: this.props.markerDetailWidth,\n selectedLocationIcon: this.props.selectedLocationIcon,\n selectedLocationColor: this.props.selectedLocationColor\n })}\n onHeaderRow={() => ({\n style: this.state.headerStyle,\n mode: this.props.mode,\n onClick: this.resetEditableRow\n })}\n columns={this.state.columns\n ?.filter((c) => c.visibility !== \"hidden\")\n ?.filter((c) => {\n return !this.state.hiddenColumnList?.includes(c.id);\n })\n .map((column: any, columnIndex: number) => {\n const { columns } = this.state;\n column.sortOrder =\n this.state.sorterOptions?.field === column.dataValue &&\n this.state.sorterOptions?.columnId === column.id\n ? this.state.sorterOptions?.order\n : undefined;\n if (this.props.tableWidthMode === \"scroll\" || this.props.tableWidthMode === \"horizontal scroll\") {\n column.width = column.style.width ?? \"min-content\";\n column.style.width = column.width;\n column.style.minWidth = column.style.width;\n }\n if (this.state.columnWidths && this.state.columnWidths[columnIndex] !== undefined) {\n column.width = this.state.columnWidths[columnIndex];\n column.style.width = column.width;\n }\n const c: ColumnType = {\n ...column,\n onCell: (rowData: any, rowIndex?: number): any => ({\n onCellClick: (_e: any) => {\n this.handleCellClick(_e, columnIndex, rowData, rowIndex);\n },\n onCellBlur: (_e: any) => {\n this.handleCellBlur(_e, rowIndex, columnIndex);\n },\n style: column.style,\n calculatedCellBgColor: column.calculatedCellBgColor,\n calculatedCellFontColor: column.calculatedCellFontColor,\n alwaysVisibleOnMobileResolution: column.alwaysVisibleOnMobileResolution,\n rowIndex,\n rowData,\n columnIndex,\n title: column.title,\n columns: columns?.filter((x: any) => x.visible === true),\n mode: this.props.mode,\n isEditable: column.isEditableColumn,\n isEditMode:\n (column.isEditableColumn && this.state.activeEditableRowIndex == rowIndex) ||\n (this.props.editableAlwaysActive && column.isEditableColumn),\n editableAlwaysActive: this.props.editableAlwaysActive,\n dataValue: column.dataValue,\n dataType: column.dataType ?? ValueType.String,\n setResizingColumnIndex: this.setResizingColumnIndex,\n resizeListener: this.resizeListener,\n index: columnIndex,\n resizableColumns: this.props.resizableColumns\n }),\n onHeaderCell: (): any => ({\n style: this.state.headerStyle,\n columnStyle: column.style,\n title: column.title,\n mode: this.props.mode,\n textDirection: this.props.children[0]?.props?.textDirection,\n columnSearchText: this.state.columnSearchTexts,\n setColumnSearchText: this.setColumnSearchTexts,\n onHeaderSearchBlur: this.onHeaderSearchBlur,\n searchable: this.props.searchable,\n type: column.dataType ?? ValueType.String,\n dataValue: column.dataValue,\n index: columnIndex,\n resizeListener: this.resizeListener,\n setResizingColumnIndex: this.setResizingColumnIndex,\n resizableColumns: this.props.resizableColumns,\n hidden: this.state.hiddenColumnList.includes(column.id),\n isSearchHidden: column.hideSearch,\n isFilteringHidden: column.hideFiltering,\n isSortingHidden: column.hideSorting,\n tableFiltering: this.props.filtering\n })\n };\n return c;\n })}\n loading={this.props.loading}\n size={this.props.size}\n bordered={false}\n scroll={\n this.props.tableWidthMode === \"scroll\" || this.props.tableWidthMode === \"horizontal scroll\"\n ? { x: \"max-content\" }\n : undefined\n }\n rowKey={\"id\"}\n rowSelection={\n this.props.multiSelect\n ? {\n type: \"checkbox\",\n selectedRowKeys: this.state.selectedRowKeys,\n onSelect: (record, selected, selectedRows) => {\n const { selectedRowKeys } = this.state;\n const updatedRowKeys = selected\n ? [...selectedRowKeys, record.id]\n : selectedRowKeys.filter((key) => key !== record.id);\n\n const updatedRowKeysString = updatedRowKeys.join(\",\");\n\n this.setState(\n {\n selectedRowKeys: updatedRowKeys,\n selectedRowKeysString: updatedRowKeysString\n },\n () => {\n this.props.onSelectedValuesChange?.();\n }\n );\n },\n onSelectAll: (selected, selectedRows, changeRows) => {\n const { multiSelectScope, dataSource, onSelectedValuesChange } = this.props;\n\n const updateState = (keys, keysString) => {\n this.setState({ selectedRowKeys: keys, selectedRowKeysString: keysString }, () => {\n if (onSelectedValuesChange) {\n onSelectedValuesChange();\n }\n });\n };\n\n const generateKeysString = (rows) => rows.map((row) => row.id).join(\",\");\n\n if (multiSelectScope === \"all\") {\n const allRowKeys = dataSource.map((row) => row.id);\n const allRowKeysString = generateKeysString(dataSource);\n\n if (selectedRows.length - 1 !== dataSource.length && selected) {\n updateState(allRowKeys, allRowKeysString);\n } else {\n updateState([], \"\");\n }\n } else {\n const selectedRowKeys = selectedRows.map((row) => row.id);\n const selectedRowKeysString = generateKeysString(selectedRows);\n\n updateState(selectedRowKeys, selectedRowKeysString);\n }\n }\n }\n : undefined\n }\n />\n\n \n \n \n \n \n );\n };\n}\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\ninterface IconProps {\n iconName: string;\n style: any;\n hoverText?: string;\n rounded?: boolean;\n}\n\ninterface IconState {}\n\nclass Icon extends PureComponent {\n constructor(props: IconProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props);\n if (result && result.style) {\n delete result.style;\n }\n }\n return result;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n if (this.props.style?.fontFamily) {\n delete style.fontFamily;\n }\n }\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n if (style.display !== \"block\") {\n style.display = \"inline-block\";\n }\n style.verticalAlign = \"middle\";\n\n if (window?.kuika?.dashboardState === DashboardState.reportDesigner) {\n style.height = \"100%\";\n }\n return style;\n };\n\n render(): ReactNode {\n if (this.props.hoverText) {\n return (\n <>\n \n \n {this.props.iconName}\n \n \n \n );\n }\n if (this.props.rounded) {\n \n {this.props.iconName}\n ;\n }\n return (\n <>\n \n {this.props.iconName}\n \n \n );\n }\n}\n\nconst icon = withCommonEvents(Icon);\nexport { icon as Icon };\n","import { Button as AntdButton, Space } from \"antd/es\";\nimport { ButtonProps as AntdButtonProps } from \"antd/es/button/button\";\nimport _ from \"lodash\";\nimport { CSSProperties, PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport withDoubleClickEdit from \"../../../shared/hoc/with-double-click-edit\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\ninterface ButtonProps extends AntdButtonProps {\n label?: string;\n icon?: string;\n style?: any;\n iconColor?: string;\n iconPosition?: \"left\" | \"right\";\n}\n\ninterface ButtonState {}\n\nclass Button extends PureComponent {\n constructor(props: ButtonProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n style.whiteSpace = \"normal\";\n props.style = style;\n if (props.icon && props.icon.length > 0) {\n delete props.icon;\n }\n if (props.label) {\n delete props.label;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n if (props.style.fontFamily) {\n delete props.style.fontFamily;\n }\n if (props.style.fontSize) {\n delete props.style.fontSize;\n }\n if (props.style.fontWeight) {\n delete props.style.fontWeight;\n }\n if (!props.style?.backgroundColor) {\n props.style.backgroundColor = \"transparent\";\n }\n if (!props.style.borderColor) {\n props.style.borderColor = \"transparent\";\n }\n props.block = this.props.style?.display === \"block\";\n if (props.href === \"\") delete props.href;\n return props;\n };\n\n getIcon = () => {\n return (\n 0 ? this.props.style?.color : \"white\",\n paddingBottom: \"2px\"\n }}\n iconName={this.props.icon as string}\n />\n );\n };\n\n getLeftIcon = () => {\n if (this.props.iconPosition !== \"right\" && this.props.icon && this.props.icon.length > 0) {\n return this.getIcon();\n }\n return <>;\n };\n\n getRightIcon = () => {\n if (this.props.iconPosition === \"right\" && this.props.icon && this.props.icon.length > 0) {\n return this.getIcon();\n }\n return <>;\n };\n\n getVerticalAlign = () => {\n const alignItems = this.props.style?.alignItems;\n if (alignItems === \"flex-start\") return \"start\";\n if (alignItems === \"flex-end\") return \"end\";\n return \"center\";\n };\n\n getTextStyles = () => {\n const styles: CSSProperties = {};\n if (this.props.style?.fontFamily) {\n styles.fontFamily = this.props.style?.fontFamily;\n }\n if (this.props.style?.fontSize) {\n styles.fontSize = this.props.style?.fontSize;\n }\n if (this.props.style?.fontWeight) {\n styles.fontWeight = this.props.style?.fontWeight;\n }\n\n if (this.props.style?.textDecoration) {\n styles.textDecoration = this.props.style?.textDecoration;\n }\n\n return styles;\n };\n\n render(): ReactNode {\n const leftIcon = this.getLeftIcon();\n const rightIcon = this.getRightIcon();\n return (\n <>\n \n \n {leftIcon}\n {this.props.label && this.props.label.length && this.props.label}\n {rightIcon}\n \n \n \n );\n }\n}\n\nconst button = withDoubleClickEdit(withCommonEvents(Button), \"label\");\nexport { button as Button };\n","import { ChartData, Chart as ChartJS, ChartTypeRegistry, LayoutPosition, registerables } from \"chart.js\";\nimport ChartDataLabels from \"chartjs-plugin-datalabels\";\nimport DoughnutLabel from \"chartjs-plugin-doughnutlabel-v3\";\nimport _ from \"lodash\";\nimport React, { ReactNode } from \"react\";\nimport { Chart } from \"react-chartjs-2\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: Window & { kuika: any };\n\nexport interface BaseChartProps {\n dataSource: any[];\n mode: keyof ChartTypeRegistry;\n leftAxis: boolean;\n rightAxis: boolean;\n beginAtZero: boolean;\n legend: LayoutPosition;\n dataLabelKeyName?: string;\n dataDisplayLabelKeyName?: string;\n dataTooltipFooterDataLabel?: string;\n firstDataFieldKeyName?: string;\n firstDataBgColorKeyName?: string;\n secondDataFieldKeyName?: string;\n secondDataBgColorKeyName?: string;\n thirdDataFieldKeyName?: string;\n thirdDataBgColorKeyName?: string;\n fill?: boolean;\n style?: React.CSSProperties;\n maxYAxisValue?: number;\n centerText?: string;\n children?: any;\n showDataLabels?: boolean;\n dataLabelFormatter?: string;\n dataTargetLineKeyName?: string;\n multiTooltipContentField?: string;\n}\n\ninterface BaseChartState {}\n\ntype ChartDataType = ChartData<\n \"bar\" | \"line\" | \"doughnut\" | \"radar\" | \"pie\" | \"bubble\" | \"polarArea\" | \"scatter\"\n>;\n\nclass BaseChart extends React.PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n private canvasId: string = `bar-chart-${Math.floor(Math.random() * Math.floor(Math.random() * Date.now()))}`;\n\n private colorMap: { [key: string]: string } = {};\n\n constructor(props: BaseChartProps) {\n super(props);\n this.state = {};\n ChartJS.register(...registerables);\n if (this.props.showDataLabels) {\n ChartJS.register(ChartDataLabels);\n }\n if (this.props.children) {\n ChartJS.register(DoughnutLabel);\n }\n }\n\n componentDidMount(): void {\n this.setDynamicStyle();\n }\n\n componentDidUpdate(prevProps: any): void {\n this.setDynamicStyle();\n }\n\n getProps(): BaseChartProps {\n const props: BaseChartProps = { ...this.props };\n\n if (props.leftAxis) {\n delete props.leftAxis;\n }\n\n if (props.rightAxis) {\n delete props.leftAxis;\n }\n\n return props;\n }\n\n getNumbersOfStyleProperties = (val: any) => {\n let numb: any = val?.match(/\\d/g);\n numb = numb?.join(\"\");\n return numb;\n };\n\n getRandomColor(key: string): string {\n if (this.colorMap[key] && this.props.mode !== \"pie\" && this.props.mode !== \"doughnut\") {\n return this.colorMap[key];\n }\n\n const MAX_RGB_VALUE = 255;\n const red: number = Math.floor(Math.random() * MAX_RGB_VALUE);\n const green: number = Math.floor(Math.random() * MAX_RGB_VALUE);\n const blue: number = Math.floor(Math.random() * MAX_RGB_VALUE);\n\n const color = `rgb(${red}, ${green}, ${blue})`;\n this.colorMap[key] = color;\n return color;\n }\n\n getHeight(): string | undefined {\n if (this.props.style && this.props.style?.height) {\n return this.props.style.height.toString();\n }\n\n return undefined;\n }\n\n getMinHeight(): string | undefined {\n if (this.props.style && this.props.style?.minHeight) {\n return this.props.style.minHeight.toString();\n }\n return undefined;\n }\n\n getMaxHeight(): string | undefined {\n if (this.props.style && this.props.style?.maxHeight) {\n return this.props.style.maxHeight.toString();\n }\n\n return undefined;\n }\n\n getWidth(): string | undefined {\n if (this.props.style && this.props.style?.width) {\n return this.props.style.width.toString();\n }\n\n return undefined;\n }\n\n getMinWidth(): string | undefined {\n if (this.props.style && this.props.style?.minWidth) {\n return this.props.style.minWidth.toString();\n }\n\n return undefined;\n }\n\n getMaxWidth(): string | undefined {\n if (this.props.style && this.props.style?.maxWidth) {\n return this.props.style.maxWidth.toString();\n }\n\n return undefined;\n }\n\n getPaddingLeft(): string | undefined {\n if (this.props.style && this.props.style?.paddingLeft) {\n return `${this.props.style.paddingLeft.toString()}px`;\n }\n\n return undefined;\n }\n\n getPaddingTop(): string | undefined {\n if (this.props.style && this.props.style?.paddingTop) {\n return `${this.props.style.paddingTop.toString()}px`;\n }\n\n return undefined;\n }\n\n getPaddingRight(): string | undefined {\n if (this.props.style && this.props.style?.paddingRight) {\n return `${this.props.style.paddingRight.toString()}px`;\n }\n\n return undefined;\n }\n\n getPaddingBottom(): string | undefined {\n if (this.props.style && this.props.style?.paddingBottom) {\n return `${this.props.style.paddingBottom.toString()}px`;\n }\n\n return undefined;\n }\n\n getData(): ChartDataType {\n let labels: string[] = [];\n let displayLabels: string[] = [];\n let tooltipFooterLabels: string[] = [];\n const dataSets: any[] = [];\n const fill: boolean = this.props.fill ?? false;\n\n if (window.kuika?.dashboardState === 1) {\n return {\n labels: [\"Label 0\", \"Label 1\", \"Label 2\", \"Label 3\", \"Label 4\", \"Label 5\"],\n datasets: [\n {\n label: \"1\",\n data: [24, 67, 49, 13, 92, 75],\n backgroundColor: [\n \"rgba(17,115,236,0.7)\",\n \"rgba(43,11,91,0.8)\",\n \"rgba(146,253,0,0.7)\",\n \"rgba(35,1,236,0.8)\",\n \"rgba(204,245,160,0.7)\",\n \"rgba(193,2,152,0.9)\"\n ],\n fill\n }\n ]\n };\n }\n\n if (!this.props.dataSource || this.props.dataSource.length === 0) {\n return {\n datasets: []\n };\n }\n\n if (this.props.dataDisplayLabelKeyName && this.props.dataDisplayLabelKeyName.length > 0) {\n labels = this.props.dataSource?.map((x) => x[KMainFunctions.toCamelCase(this.props.dataDisplayLabelKeyName)]);\n } else {\n labels = this.props.dataSource?.map((x, idx) => {\n return `Label ${idx}`;\n });\n }\n\n if (this.props.firstDataFieldKeyName) {\n displayLabels = this.props.dataSource?.map((x, idx) => {\n return x[KMainFunctions.toCamelCase(this.props.firstDataFieldKeyName)];\n });\n } else if (this.props.dataLabelKeyName && this.props.dataLabelKeyName.length > 0) {\n displayLabels = this.props.dataSource?.map((x) => x[KMainFunctions.toCamelCase(this.props.dataLabelKeyName)]);\n } else {\n displayLabels = this.props.dataSource?.map((x, idx) => {\n return `${idx}`;\n });\n }\n\n const tooltipTitleLabels = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.dataLabelKeyName)]\n );\n\n if (this.props.dataTooltipFooterDataLabel && this.props.dataTooltipFooterDataLabel.length > 0) {\n tooltipFooterLabels = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.dataTooltipFooterDataLabel)]\n );\n } else {\n tooltipFooterLabels = this.props.dataSource?.map((x, idx) => {\n return `${idx}`;\n });\n }\n\n if (this.props.firstDataFieldKeyName && this.props.firstDataFieldKeyName?.length > 0) {\n let bgColor: string[] = [];\n if (this.props.firstDataBgColorKeyName && this.props.firstDataBgColorKeyName.length > 0) {\n bgColor = this.props.dataSource?.map((x) => x[KMainFunctions.toCamelCase(this.props.firstDataBgColorKeyName)]);\n } else {\n bgColor = this.props.dataSource?.map((x) => this.getRandomColor(this.props.firstDataFieldKeyName!));\n }\n\n const data: any[] = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.firstDataFieldKeyName)]\n );\n\n dataSets.push({\n label: this.props.firstDataFieldKeyName || \"1\",\n data,\n backgroundColor: bgColor,\n fill,\n displayLabels,\n tooltipFooterLabels,\n tooltipTitleLabels\n });\n }\n\n if (this.props.secondDataFieldKeyName && this.props.secondDataFieldKeyName?.length > 0) {\n let bgColor: string[] = [];\n\n if (this.props.secondDataBgColorKeyName && this.props.secondDataBgColorKeyName.length > 0) {\n bgColor = this.props.dataSource?.map((x) => x[KMainFunctions.toCamelCase(this.props.secondDataBgColorKeyName)]);\n } else {\n bgColor = this.props.dataSource?.map((x) => this.getRandomColor(this.props.secondDataFieldKeyName!));\n }\n\n const data: any[] = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.secondDataFieldKeyName)]\n );\n\n dataSets.push({\n label: this.props.secondDataFieldKeyName || \"2\",\n data,\n backgroundColor: bgColor,\n fill,\n displayLabels,\n tooltipFooterLabels\n });\n }\n\n if (this.props.thirdDataFieldKeyName && this.props.thirdDataFieldKeyName?.length > 0) {\n let bgColor: string[] = [];\n\n if (this.props.thirdDataBgColorKeyName && this.props.thirdDataBgColorKeyName.length > 0) {\n bgColor = this.props.dataSource?.map((x) => x[KMainFunctions.toCamelCase(this.props.thirdDataBgColorKeyName)]);\n } else {\n bgColor = this.props.dataSource?.map((x) => this.getRandomColor(this.props.thirdDataFieldKeyName!));\n }\n\n const data: any[] = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.thirdDataFieldKeyName)]\n );\n\n dataSets.push({\n label: this.props.thirdDataFieldKeyName || \"3\",\n data,\n backgroundColor: bgColor,\n fill,\n displayLabels,\n tooltipFooterLabels\n });\n }\n\n if (this.props.dataTargetLineKeyName && this.props.dataTargetLineKeyName?.length > 0) {\n const targetData: any[] = this.props.dataSource?.map(\n (x) => x[KMainFunctions.toCamelCase(this.props.dataTargetLineKeyName)]\n );\n\n dataSets.push({\n label: this.props.dataTargetLineKeyName || \"Target\",\n data: targetData,\n type: \"line\",\n borderColor: \"#000000\",\n borderWidth: 2,\n fill: false,\n pointRadius: 4,\n pointBackgroundColor: \"#000000\",\n pointBorderColor: \"#000000\",\n pointBorderWidth: 1,\n pointHoverRadius: 6,\n pointHoverBackgroundColor: \"#000000\",\n pointHoverBorderColor: \"#000000\",\n pointHoverBorderWidth: 2,\n order: 0\n });\n }\n\n return {\n labels,\n datasets: dataSets\n };\n }\n\n getDynamicCss = (): string => {\n const className: string = this.canvasId;\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { height, maxHeight, minHeight, width, minWidth, maxWidth, display } = this.props.style;\n if ((height && !maxHeight && !minHeight) || minHeight < height || maxHeight > height) {\n result += `.${className} {\n height: unset !important;\n max-height: ${height} !important;\n min-height: ${height} !important;\n }`;\n }\n if ((width && !maxWidth && !minWidth) || minWidth < width || maxWidth > width) {\n result += `.${className} {\n width: unset !important;\n max-width: ${width} !important;\n min-width: ${width} !important;\n }`;\n }\n return result;\n };\n\n setDynamicStyle = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(this.canvasId) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getFormattedValue(value) {\n let { dataLabelFormatter: formatter } = this.props;\n if (formatter && value && value?.toString()?.trim() !== \"\") {\n switch (formatter) {\n case \"money\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-tl\":\n if (Number.isNaN(Number(value))) {\n return \"₺0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"percent\":\n return `${value}%`;\n\n case \"fractional-2\":\n const number2 = Number(value);\n return isNaN(number2) ? value : number2.toFixed(2);\n\n case \"fractional-5\":\n const number5 = Number(value);\n return isNaN(number5) ? value : number5.toFixed(5);\n default:\n return value;\n }\n } else {\n if (value && typeof value === \"string\") {\n const kuikaCulture = localStorage.getItem(\"ml\");\n const isLangTR = kuikaCulture?.toLowerCase() === \"tr_tr\";\n\n if (this.props.style?.textTransform === \"lowercase\" && (value.includes(\"İ\") || value.includes(\"I\"))) {\n if (isLangTR) {\n value = value.replace(/I/g, \"ı\");\n }\n value = value.replace(/İ/g, \"i\");\n } else if (this.props.style?.textTransform === \"uppercase\" && (value.includes(\"i\") || value.includes(\"ı\"))) {\n if (isLangTR) {\n value = value.replace(/i/g, \"İ\");\n }\n value = value.replace(/ı/g, \"I\");\n } else if (this.props?.style.textTransform === \"capitalize\") {\n if (isLangTR && value[0] === \"i\") {\n value = value.replace(\"i\", \"İ\");\n } else if (value[0] === \"ı\") {\n value = value.replace(\"ı\", \"I\");\n }\n }\n }\n\n return value?.toString();\n }\n }\n\n render(): ReactNode {\n const data = this.getData();\n let labels;\n if (this.props.children?.length > 1) {\n labels =\n this.props.children?.map((child: any) => {\n return {\n text: child.props?.text ?? \"\",\n font: {\n size: this.getNumbersOfStyleProperties(child.props.style?.fontSize) ?? \"14\",\n weight: child.props.style?.fontWeight ?? \"medium\",\n family: child.props.style?.fontFamily ?? \"Arial\"\n },\n color: child.props.style?.color ?? \"black\"\n };\n }) ?? [];\n } else if (this.props.children) {\n labels = [\n {\n text: this.props.children?.props?.text ?? \"\",\n font: {\n size: this.getNumbersOfStyleProperties(this.props.children?.props?.style?.fontSize) ?? \"14\",\n weight: this.props.children?.props?.style?.fontWeight ?? \"medium\",\n family: this.props.children?.props?.style?.fontFamily ?? \"Arial\"\n },\n color: this.props.children?.props?.style?.color ?? \"black\"\n }\n ];\n }\n\n const maxYValue = Math.max(...data?.datasets?.map((x: any) => Math.max(...x?.data)));\n const options: any = {\n plugins: {\n legend: {\n position: this.props.legend,\n display:\n typeof this.props.legend === \"string\" &&\n this.props.legend &&\n [\"top\", \"right\", \"bottom\", \"left\"].indexOf(this.props.legend) > -1\n },\n doughnutLabel: {\n labels\n },\n ChartDataLabels,\n tooltip: {\n callbacks: window.kuika?.isDesignTime\n ? undefined\n : {\n title: this.props.dataLabelKeyName\n ? (context: any) => {\n if (context[0]?.dataset?.type !== \"line\" && context[0]?.dataset?.tooltipTitleLabels) {\n return context[0].dataset.tooltipTitleLabels[context[0].dataIndex];\n }\n return context.label;\n }\n : undefined,\n label: this.props.multiTooltipContentField\n ? (context: any) => {\n if (this.props.multiTooltipContentField) {\n const fields = this.props.multiTooltipContentField.split(\",\");\n return fields.map((field) => {\n const value = this.props.dataSource[context.dataIndex][field.trim()];\n return `${field.trim()}: ${this.getFormattedValue(value)}`;\n });\n }\n }\n : this.props.dataTooltipFooterDataLabel\n ? (context: any) => {\n if (context?.dataset?.tooltipFooterLabels && context?.dataset?.type !== \"line\") {\n return null;\n }\n if (context?.dataset?.type === \"line\") {\n return `${context.dataset.label}:${context.formattedValue}`;\n }\n return context.label;\n }\n : undefined,\n footer: this.props.dataTooltipFooterDataLabel\n ? (context: any) => {\n if (context[0]?.dataset?.tooltipFooterLabels && context[0]?.dataset?.type !== \"line\") {\n return context[0].dataset.tooltipFooterLabels[context[0].dataIndex];\n }\n return null;\n }\n : undefined\n }\n },\n datalabels: {\n formatter: (value: any, context: any) => {\n if (!this.props.showDataLabels) return null;\n if (window.kuika?.isDesignTime) return value;\n const index = context.dataIndex;\n return context.dataset.displayLabels && context.dataset.displayLabels[index]\n ? this.getFormattedValue(context.dataset.displayLabels[index])\n : null;\n },\n color: this.props.style?.color ?? \"black\",\n font: {\n size: this.props.style?.fontSize ?? 14,\n weight: this.props.style?.fontWeight ?? \"bold\",\n family: this.props.style?.fontFamily ?? \"Arial\"\n }\n }\n },\n scales: {\n y: {\n display: this.props.leftAxis,\n beginAtZero: this.props.beginAtZero,\n max: this.props.maxYAxisValue ?? maxYValue\n },\n x: {\n display: this.props.rightAxis,\n beginAtZero: this.props.beginAtZero\n }\n },\n responsive: true\n };\n\n return (\n \n );\n }\n}\nconst baseChart = withCommonEvents(BaseChart);\nexport { baseChart as BaseChart };\n","import withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { BaseChart, BaseChartProps } from \"../base-chart\";\n\nclass BarChart extends BaseChart {\n constructor(props: BaseChartProps) {\n super(props);\n }\n\n public static defaultProps = {\n mode: \"bar\"\n };\n}\n\nconst barChart = withCommonEvents(BarChart);\nexport { barChart as BarChart };\n","import withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { BaseChart, BaseChartProps } from \"../base-chart\";\n\nclass LineChart extends BaseChart {\n constructor(props: BaseChartProps) {\n super(props);\n }\n\n public static defaultProps = {\n mode: \"line\"\n };\n}\n\nconst lineChart = withCommonEvents(LineChart);\nexport { lineChart as LineChart };\n","import { DatePicker, TimePicker } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { PickerSharedProps } from \"rc-picker/es/Picker\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\nenum Displays {\n Date = 1,\n Time = 2,\n DateTime = 3,\n Month = 4\n}\ninterface DateProps extends PickerSharedProps {\n value?: string;\n defaultValue?: string;\n format?: string;\n use12Hours?: boolean;\n hourStep?: number;\n minuteStep?: number;\n secondStep?: number;\n onChange?: (value: string) => void;\n style?: any;\n placeholder?: string;\n disableBeforeDate?: any;\n className?: string;\n disabledDays?: (\n | \"Monday\"\n | \"Tuesday\"\n | \"Wednesday\"\n | \"Thursday\"\n | \"Friday\"\n | \"Saturday\"\n | \"Sunday\"\n | \"Weekends\"\n | \"Weekdays\"\n )[];\n}\n\ninterface DateState {\n uniqueKey: Guid;\n isOpen: boolean;\n disableBeforeDate?: any;\n}\n\nclass KDatePicker extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: DateProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create(),\n isOpen: false,\n disableBeforeDate: undefined\n };\n }\n\n componentDidMount = () => {\n this.setDynamicStyle();\n if (this.props && this.props.style && this.props.style?.fontSize) {\n const node = ReactDOM.findDOMNode(this) as Element;\n const inputs = node.getElementsByTagName(\"input\");\n if (inputs && inputs.length) {\n for (let index = 0; index < inputs.length; index++) {\n inputs[index].style.fontSize = this.props.style?.fontSize;\n }\n }\n }\n };\n\n getCalculatedDisplay = (): Displays => {\n if (!this.props.format || this.props.format == \"\") {\n return Displays.Date;\n }\n let calculatedDisplay = Displays.Date;\n switch (this.props.format) {\n case \"DD/MM/YYYY\":\n calculatedDisplay = Displays.Date;\n break;\n case \"MM/DD/YYYY\":\n calculatedDisplay = Displays.Date;\n break;\n case \"YYYY/MM/DD\":\n calculatedDisplay = Displays.Date;\n break;\n case \"YYYY/DD/MM\":\n calculatedDisplay = Displays.Date;\n break;\n case \"MM/DD\":\n calculatedDisplay = Displays.Date;\n break;\n case \"D M Y\":\n calculatedDisplay = Displays.Date;\n break;\n case \"YYYY-MM-DD HH:mm\":\n calculatedDisplay = Displays.DateTime;\n break;\n case \"DD-MM-YYYY HH:mm\":\n calculatedDisplay = Displays.DateTime;\n break;\n case \"DD-MM-YYYY HH:mm:ss\":\n calculatedDisplay = Displays.DateTime;\n break;\n case \"mm:ss\":\n calculatedDisplay = Displays.Time;\n break;\n case \"hh:mm:ss\":\n calculatedDisplay = Displays.Time;\n break;\n case \"HH:mm\":\n calculatedDisplay = Displays.Time;\n break;\n case \"YYYY-MM\":\n calculatedDisplay = Displays.Month;\n break;\n default:\n calculatedDisplay = Displays.Date;\n break;\n }\n return calculatedDisplay;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n\n let result = \"\";\n if (this.props.style?.color || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-picker-input>input {\n `;\n if (this.props.style?.color) result += `color: ${this.props.style?.color} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n if (this.props.style?.fontSize || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-picker-input>input::-webkit-input-placeholder {\n `;\n if (this.props.style?.fontSize) result += `font-size: ${this.props.style?.fontSize} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n if (this.props.style?.backgroundColor?.length > 0 || this.props.style?.color?.length > 0) {\n result += `\n .${className.trim()} .ant-picker-clear {\n `;\n if (this.props.style?.backgroundColor?.length > 0)\n result += `background: ${this.props.style?.backgroundColor} !important;`;\n if (this.props.style?.color?.length > 0) result += `color: ${this.props.style?.color} !important;`;\n result += `;\n }`;\n }\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kdatepicker_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n disabledDate = (current) => {\n const cur = _.cloneDeep(current);\n const { disabledDays } = this.props;\n\n if (cur && disabledDays) {\n const day = cur.day();\n\n if (\n (disabledDays.includes(\"Sunday\") && day === 0) ||\n (disabledDays.includes(\"Monday\") && day === 1) ||\n (disabledDays.includes(\"Tuesday\") && day === 2) ||\n (disabledDays.includes(\"Wednesday\") && day === 3) ||\n (disabledDays.includes(\"Thursday\") && day === 4) ||\n (disabledDays.includes(\"Friday\") && day === 5) ||\n (disabledDays.includes(\"Saturday\") && day === 6)\n ) {\n return true;\n }\n\n if (disabledDays.includes(\"Weekends\") && (day === 0 || day === 6)) {\n return true;\n }\n\n if (disabledDays.includes(\"Weekdays\") && day >= 1 && day <= 5) {\n return true;\n }\n }\n\n if (this.props.disableBeforeDate || this.state.disableBeforeDate) {\n const value =\n this.state.disableBeforeDate !== undefined\n ? moment(this.state.disableBeforeDate)\n : moment(this.props.disableBeforeDate);\n if (value) {\n if (this.getCalculatedDisplay() != Displays.Date) {\n return cur && cur < moment(value);\n }\n return cur.startOf(\"day\") <= value.startOf(\"day\").add(-1, \"day\");\n }\n }\n return undefined;\n };\n\n setDisableBeforeDate = (value: any) => {\n if (value) {\n this.setState({\n disableBeforeDate: value\n });\n }\n };\n\n convertTomoment = (value: string) => {\n return moment(value);\n };\n\n convertToString = (value: moment.Moment) => {\n if (value) {\n return value.format(this.getFormat());\n }\n return value;\n };\n\n getFormat = () => {\n if (this.getCalculatedDisplay() === Displays.Date) {\n return \"YYYY-MM-DD\";\n }\n if (this.getCalculatedDisplay() === Displays.Month) {\n return \"YYYY-MM\";\n }\n return \"YYYY-MM-DDTHH:mm:ss\";\n };\n\n handleChange = (value: any) => {\n const dateValue: any = this.convertToString(value);\n if (this.props.onChange) {\n this.props.onChange(dateValue);\n }\n };\n\n getGenericValue = () => {\n let result: any = {};\n if (this.props.value) {\n result = { value: this.convertTomoment(this.props.value) };\n }\n return result;\n };\n\n getGenericDefaultValue = () => {\n let result: any = {};\n if (this.props.defaultValue) {\n if (this.props.defaultValue.trim() == \"\") {\n return { defaultValue: null };\n }\n result = { defaultValue: this.convertTomoment(this.props.defaultValue.trim()) };\n }\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n let style: any = _.clone(this.props.style);\n if (props.defaultValue) {\n delete props.defaultValue;\n }\n if (props.disabledDate) {\n delete props.disabledDate;\n }\n if (props.value) {\n delete props.value;\n }\n if (_.isString(props.value) && props.value.length === 0) {\n delete props.value;\n }\n if (!style) {\n style = {\n width: \"100%\"\n };\n } else if (!style.width) {\n style.width = \"100%\";\n }\n if (style.display == \"block\") {\n style.display = \"flex\";\n } else if (style.display == \"inline\") {\n style.display = \"inline-flex\";\n }\n props.style = style;\n if (this.getCalculatedDisplay() === Displays.DateTime) {\n props.showHour = true;\n props.showMinute = true;\n props.showSecond = true;\n }\n return props;\n };\n\n getDisplayText = () => {\n const display = this.getCalculatedDisplay();\n let displayText = \"Date\";\n switch (display) {\n case Displays.Date:\n displayText = \"Date\";\n break;\n case Displays.DateTime:\n displayText = \"Date & Time\";\n break;\n case Displays.Time:\n displayText = \"Time\";\n break;\n case Displays.Month:\n displayText = \"Month\";\n break;\n default:\n displayText = \"Date\";\n break;\n }\n return displayText;\n };\n\n handleKeydown = (e: any) => {\n const charCode = e.which ? e.which : e.keyCode;\n if (charCode === 9 && this.state.isOpen) {\n this.setState({ isOpen: false });\n e.preventDefault();\n e.stopPropagation();\n const val = moment(e?.target?.value, this.props.format ?? \"\");\n if (val.isValid()) {\n this.handleChange(moment(val));\n }\n return false;\n }\n if (charCode === 9 && !this.state.isOpen) {\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e, e.preventDefault());\n }\n return false;\n }\n const { format } = this.props;\n if (\n format !== \"YYYY-MM-DD HH:mm:ss\" &&\n format !== \"DD-MM-YYYY HH:mm:ss\" &&\n e.target.value.length === 10 &&\n charCode !== 8 &&\n charCode !== 46 &&\n charCode !== 186\n ) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (\n charCode > 31 &&\n (charCode > 57 || charCode < 48) &&\n (charCode > 105 || charCode < 96) &&\n charCode !== 8 &&\n charCode !== 46 &&\n charCode !== 186\n ) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n if (format === \"YYYY/MM/DD\" || format === \"YYYY/DD/MM\" || format === \"YYYY-MM-DD HH:mm:ss\") {\n this.addSlashToDateInput(e, 4, 7, charCode);\n } else if (format === \"DD/MM/YYYY\" || format === \"MM/DD/YYYY\" || format === \"DD-MM-YYYY HH:mm:ss\") {\n this.addSlashToDateInput(e, 2, 5, charCode);\n } else if (format === \"MM/DD\") {\n if (e.target.value.length === 5) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n this.addSlashToDateInput(e, 2, undefined, charCode);\n } else if (format === \"YYYY/MM\") {\n if (e.target.value.length === 7) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n this.addSlashToDateInput(e, 4, undefined, charCode);\n } else if (format === \"D M Y\") {\n e.target.value = e.target.value;\n } else if (format === undefined) {\n this.addSlashToDateInput(e, 4, 7, charCode);\n }\n };\n\n addSlashToDateInput = (e: any, firstLength: number, secondLength: number | undefined, charCode: number) => {\n if (e.target.value.length === firstLength && charCode !== 8 && charCode !== 46 && charCode !== 186) {\n e.target.value = `${e.target.value}/`;\n } else if (\n secondLength &&\n e.target.value.length === secondLength &&\n charCode !== 8 &&\n charCode !== 46 &&\n charCode !== 186\n ) {\n e.target.value = `${e.target.value}/`;\n } else e.target.value = e.target.value.replace(/[^0-9/]/g, \"\");\n };\n\n handleOpenChange = (isOpen: boolean) => {\n if (window?.kuika?.dashboardState !== DashboardState.design) {\n this.setState({ isOpen });\n }\n };\n\n render(): ReactNode {\n const display = this.getDisplayText();\n return (\n <>\n {(display === \"Date\" || display === \"Date & Time\" || display === \"Month\") && (\n this.handleKeydown(e)}\n >\n )}\n {display === \"Time\" && (\n \n )}\n \n );\n }\n}\nconst kDatePicker = withCommonEvents(KDatePicker);\nexport { kDatePicker as KDatePicker };\n","import { Divider as AntdDivider, DividerProps as AntdDividerProps } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { CSSProperties, PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface DividerProps extends AntdDividerProps {\n label: string;\n dashed: boolean;\n orientation: \"left\" | \"right\" | \"center\";\n type: \"horizontal\" | \"vertical\";\n style: CSSProperties;\n}\n\ninterface DividerState {\n uniqueKey: Guid;\n}\n\ndeclare let window: any;\n\nclass Divider extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: DividerProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount = () => {\n this.setDynamicStyle();\n };\n\n getClassName = () => {\n // if(props.style.borderStyle){\n // return props.className ? `${props.className} kuika-divider-component__divider-line-${props.style.borderStyle}` : `kuika-divider-component__divider-line-${props.style.borderStyle}`\n // }else{\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result}kdivider_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n // }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n if (style.display) {\n delete style.display;\n }\n props.style = style;\n\n const className = this.getClassName();\n if (className) props.className = className;\n\n if (props.label) {\n delete props.label;\n }\n return props;\n };\n\n getDividerBorderWidth = (): CSSProperties[\"borderWidth\"] => {\n const style: React.CSSProperties = _.clone(this.props.style);\n if (!style) return;\n\n if (style.borderWidth) {\n return style.borderWidth;\n }\n\n if (style.borderTopWidth) {\n return style.borderTopWidth;\n }\n\n if (style.borderRightWidth) {\n return style.borderRightWidth;\n }\n\n if (style.borderBottomWidth) {\n return style.borderBottomWidth;\n }\n\n if (style.borderLeftWidth) {\n return style.borderLeftWidth;\n }\n\n return;\n };\n\n getOrientation = () => {\n const result = \"left\";\n if (this.props && this.props.style) {\n const style: any = _.clone(this.props.style);\n if (style.textAlign) {\n if (style.textAlign.includes(\"center\")) return \"center\";\n if (style.textAlign.includes(\"left\")) return \"left\";\n if (style.textAlign.includes(\"right\")) return \"right\";\n }\n }\n return result;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const isReportDesigner = window.kuika?.dashboardState === 17;\n\n const { borderColor, height } = this.props.style;\n const borderWidth = this.getDividerBorderWidth();\n if (borderColor) {\n result += `.${className.trim()} {\n border-width: 0px !important;\n }`;\n }\n if (height || borderWidth) {\n result += `.ant-divider-horizontal.ant-divider-with-text-left:before {\n top: 0% !important;\n transform: unset;\n ${borderWidth ? `border-width: ${borderWidth}px !important;` : \"\"}\n }`;\n result += `.ant-divider-horizontal.ant-divider-with-text-left:after {\n top: 0% !important;\n transform: unset;\n border-width: ${borderWidth}px !important;\n }`;\n }\n if (isReportDesigner) {\n result += `.${className.trim()} .ant-divider-inner-text {\n display: none !important;\n }`;\n result += `.${className.trim()} {\n margin: 0 !important;\n height: 12px !important;\n }`;\n if (!borderWidth) {\n result += `.${className.trim()} {\n border-width: 1px !important;\n }`;\n }\n }\n\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n render(): ReactNode {\n return (\n \n {this.props.label ? this.props.label : \" \"}\n \n );\n }\n}\n\nconst kIframe = withCommonEvents(Divider);\nexport { kIframe as Divider };\n","import { Input } from \"antd/es\";\nimport { InputProps } from \"antd/es/input\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\nconst defaultAllowedKeys = [\"Backspace\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Enter\", \"Delete\"];\n\ninterface TextboxProps extends InputProps {\n prefix?: string;\n suffix?: string;\n iconColor?: string;\n}\n\ninterface TextboxState {}\n\nclass Email extends PureComponent {\n constructor(props: TextboxProps) {\n super(props);\n this.state = {};\n }\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props?.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style.backgroundColor as any;\n }\n if (this.props?.style?.color) {\n input.style.color = this.props.style.color as any;\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n if (props.prefix && props.prefix?.length > 0) {\n props.prefix = ;\n } else if (props.prefix) {\n delete props.prefix;\n }\n\n if (props.suffix && props.suffix?.length > 0) {\n props.suffix = ;\n } else if (props.suffix) {\n delete props.suffix;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n\n if (props.value && style?.textTransform === \"lowercase\") {\n props.value = props.value?.toString().toLowerCase();\n } else if (props.value && style?.textTransform === \"uppercase\") {\n props.value = props.value?.toString().toUpperCase();\n }\n\n if (props.value) {\n const turkishChars = /[ığüşöçİĞÜŞÖÇ]/gi.test(props.value);\n if (turkishChars || props.value?.includes(turkishChars)) {\n props.value = props.value\n ?.replaceAll(\"Ğ\", \"G\")\n .replaceAll(\"Ü\", \"U\")\n .replaceAll(\"Ş\", \"S\")\n .replaceAll(\"İ\", \"I\")\n .replaceAll(\"Ö\", \"O\")\n .replaceAll(\"Ç\", \"C\")\n .replaceAll(\"ğ\", \"g\")\n .replaceAll(\"ü\", \"u\")\n .replaceAll(\"ş\", \"s\")\n .replaceAll(\"ı\", \"i\")\n .replaceAll(\"ö\", \"o\")\n .replaceAll(\"ç\", \"c\");\n }\n }\n\n if (props.value) {\n props.value = props.value?.replaceAll(\" \", \"\");\n }\n\n props.style = style;\n\n return props;\n };\n\n componentDidMount() {\n if (\n (this.props.style && (this.props.style?.backgroundColor || this.props.style?.color)) ||\n this.props.prefix ||\n this.props.suffix\n ) {\n this.handleAffixStyling();\n }\n }\n\n handleKeyDown = (e: any) => {\n const turkishChars = /[ığüşöçİĞÜŞÖÇ]/gi.test(e?.key);\n if (turkishChars && !defaultAllowedKeys?.includes(e?.code)) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (e?.key === \" \") {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n if (this.props.onKeyDown) {\n this.props.onKeyDown(e);\n }\n };\n\n render(): ReactNode {\n return (\n <>\n \n \n );\n }\n}\n\nconst email = withCommonEvents(Email);\nexport { email as Email };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\n\ninterface FooterProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface FooterState {}\n\nclass Footer extends PureComponent {\n constructor(props: FooterProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n const node = ReactDOM.findDOMNode(this) as Element;\n KMainFunctions.handleAlignments(node, this.props.style);\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n
\n {this.props.children}\n
\n \n );\n }\n}\n\nconst footer = withCommonEvents(Footer);\nexport { footer as Footer };\n","import { Guid } from \"guid-typescript\";\nimport React, { ImgHTMLAttributes, PureComponent, ReactNode } from \"react\";\nimport { findDOMNode } from \"react-dom\";\nimport { Controlled as ControlledZoom } from \"react-medium-image-zoom\";\nimport \"react-medium-image-zoom/dist/styles.css\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { DEFAULT_IMAGE } from \"../../../shared/utilty/constants\";\nimport { KuikaAppManager } from \"../../../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\nconst backendUrl = KuikaAppManager.GetBackendUrl();\n\ndeclare let window: Window & { kuika: any };\n\ninterface ImageProps extends ImgHTMLAttributes {\n value?: string;\n style?: React.CSSProperties;\n placeHolderImage?: string;\n onChange?: (value: any) => void;\n zoomOnClick?: boolean;\n position?: \"bottom\" | \"center\" | \"right\" | \"left\" | \"top\";\n imageFit?: \"fill\" | \"fit\" | \"stretch\";\n}\n\ninterface ImageState {\n guidID: string;\n isZoomed: boolean;\n isLoading: boolean;\n}\n\nclass Image extends PureComponent {\n private errorCountPerUrlMap: Map = new Map();\n\n constructor(props: ImageProps) {\n super(props);\n this.state = {\n guidID: \"\",\n isZoomed: false,\n isLoading: false\n };\n }\n\n componentDidMount() {\n const node = findDOMNode(this) as HTMLDivElement;\n const isReportDesigner = window?.kuika?.dashboardState === DashboardState.reportDesigner;\n if (isReportDesigner && node && node.parentElement) {\n if (!node?.parentElement?.classList?.contains(\"kuika_absoluteDesignTableColumnChild\")) {\n node.style.width = \"100%\";\n node.style.height = \"100%\";\n } else {\n node.style.width = `${this.props.style?.width}` ?? \"100%\";\n node.style.height = `${this.props.style?.height}` ?? \"100%\";\n }\n }\n }\n\n componentDidUpdate(prevProps: Readonly) {\n if (prevProps.value !== this.props.value) {\n this.errorCountPerUrlMap.clear();\n }\n }\n\n onChange = (e) => {\n if (this.props.onChange) {\n this.props.onChange(e);\n }\n };\n\n getStyleProp = () => {\n let style: React.CSSProperties = {};\n const isReportDesigner = window?.kuika?.dashboardState === DashboardState.reportDesigner;\n const isDesignTime = window?.kuika?.isDesignTime;\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n\n if (this.props.position) {\n style.objectPosition = this.props.position;\n }\n\n if (this.props.imageFit) {\n if (this.props.imageFit === \"fill\") {\n style.objectFit = \"cover\";\n } else if (this.props.imageFit === \"fit\") {\n style.objectFit = \"contain\";\n }\n }\n\n if (style.display === \"inline\") {\n style.display = \"inline-block\";\n }\n\n if (isReportDesigner) {\n style.objectFit = \"contain\";\n }\n\n return style;\n };\n\n getClassName = () => {\n const isDesignTime = window?.kuika?.isDesignTime;\n let result = \"\";\n\n if (this.props.className) {\n result = this.props.className;\n }\n\n if (!isDesignTime) result += \" kuika-image-input \";\n return result;\n };\n\n private getImageFitValue = () => {\n switch (this.props.imageFit) {\n case \"fill\":\n return 1;\n case \"stretch\":\n return 2;\n case \"fit\":\n default:\n return 0;\n }\n };\n\n private getImageWidth = (): number => {\n return parseInt(this.props.style.width?.toString()?.replace(\"px\", \"\") ?? \"0\", 10);\n };\n\n private getImageHeight = (): number => {\n return parseInt(this.props.style.height?.toString()?.replace(\"px\", \"\") ?? \"0\", 10);\n };\n\n getValue = () => {\n const props = { ...this.props };\n let currentValue: string = DEFAULT_IMAGE;\n\n if (props.value && props.value !== \"\") {\n if (\n (typeof props.value === \"string\" && props.value.startsWith(\"http://\")) ||\n props.value.startsWith(\"https://\")\n ) {\n currentValue = props.value;\n return currentValue;\n }\n if (\n typeof props.value === \"string\" &&\n (props.value.includes(\"/image\") || props.value.includes(\"/resource/runtime/byid\"))\n ) {\n const url: URL = new URL(backendUrl + props.value);\n url.searchParams.append(\"width\", this.getImageWidth().toString());\n url.searchParams.append(\"height\", this.getImageHeight().toString());\n url.searchParams.append(\"imageFit\", this.getImageFitValue().toString());\n url.searchParams.append(\"t\", Date.now().toString());\n currentValue = url.toString();\n } else {\n currentValue = props.value;\n }\n } else if (props.placeHolderImage) {\n currentValue = props.placeHolderImage;\n }\n\n const guidValue = Guid.parse(currentValue).toString();\n\n if (guidValue !== Guid.EMPTY) {\n currentValue = KMainFunctions.getUrlByWithResourceId(\n guidValue,\n props?.style?.width?.toString()?.replace(\"px\", \"\") ?? 0,\n props?.style?.height?.toString()?.replace(\"px\", \"\") ?? 0,\n this.getImageFitValue()\n );\n }\n\n return currentValue;\n };\n\n isPlaceholderImageApplicable = () => {\n return this.props.placeHolderImage && this.props.placeHolderImage !== \"\";\n };\n\n onError = (e: React.SyntheticEvent) => {\n if (!(e.target instanceof HTMLImageElement)) return;\n\n const currentErrorCountOfThisUrl: number = this.errorCountPerUrlMap.get(e.currentTarget.src) ?? 0;\n\n // If higher than 1, it means it has already been tried to fallback to placeholder image & failed.\n if (currentErrorCountOfThisUrl >= 1) {\n e.currentTarget.onerror = null;\n e.currentTarget.src = DEFAULT_IMAGE;\n return;\n }\n\n this.errorCountPerUrlMap.set(e.currentTarget.src, currentErrorCountOfThisUrl + 1);\n\n let imageToFallback: string = DEFAULT_IMAGE;\n if (this.isPlaceholderImageApplicable()) {\n const placeholderGuid: string = Guid.parse(this.props.placeHolderImage).toString();\n\n if (placeholderGuid !== Guid.EMPTY) {\n imageToFallback = KMainFunctions.getUrlByWithResourceId(\n placeholderGuid,\n this.props.style.width?.toString()?.replace(\"px\", \"\") ?? 0,\n this.props.style.height?.toString()?.replace(\"px\", \"\") ?? 0,\n this.getImageFitValue()\n );\n }\n\n e.target.src = imageToFallback;\n return;\n }\n\n e.target.src = imageToFallback;\n };\n\n render(): ReactNode {\n if (this.props.zoomOnClick) {\n return (\n this.setState({ isZoomed: shouldZoom })}\n >\n this.setState({ isZoomed: !this.state.isZoomed })}\n className={this.getClassName()}\n onChange={this.onChange}\n src={this.getValue()}\n style={this.getStyleProp()}\n onClick={this.props.onClick}\n onError={this.onError}\n />\n \n );\n }\n\n return (\n \n );\n }\n}\n\nconst image = withCommonEvents(Image);\nexport { image as Image };\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport moment from \"moment\";\nimport { LabelHTMLAttributes, PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport VMasker from \"vanilla-masker\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport withDoubleClickEdit from \"../../../shared/hoc/with-double-click-edit\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\ninterface LabelProps extends LabelHTMLAttributes {\n value?: string;\n defaultText?: string;\n style?: React.CSSProperties;\n formatter?:\n | \"money\"\n | \"money-var-1\"\n | \"money-eur\"\n | \"money-usd\"\n | \"money-usd-var-1\"\n | \"money-eur-var-1\"\n | \"phone\"\n | \"percent\"\n | \"fractional-2\"\n | \"fractional-5\"\n | \"date\"\n | \"time\"\n | \"datetime\"\n | \"date-var-1\"\n | \"time-ago\"\n | \"short-date\"\n | \"round\"\n | \"money-tl\"\n | \"custom date\";\n maxLine: number;\n writingMode?: \"horizontal\" | \"vertical\";\n tooltip?: string;\n customFormatter?: string;\n}\n\ninterface LabelState {}\n\nclass Label extends PureComponent {\n constructor(props: LabelProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n this.updateStyle();\n }\n\n updateStyle = () => {\n const node: any = ReactDOM.findDOMNode(this);\n let style: React.CSSProperties = _.clone(this.props.style);\n if (\n this.props?.style?.alignItems !== \"flex-start\" &&\n node &&\n node.children &&\n node.children.length > 0 &&\n window.kuika.dashboardState !== DashboardState.reportDesigner\n ) {\n let isInline = false;\n if (this.props?.style?.display === \"inline\") {\n isInline = true;\n }\n KMainFunctions.handleAlignments(node, style, isInline);\n }\n };\n\n getFormattedValue() {\n let { formatter, value, defaultText } = this.props;\n if (\n defaultText != undefined &&\n defaultText != \"\" &&\n defaultText != null &&\n (value === \"\" || value === undefined || value === null)\n ) {\n return defaultText;\n }\n if (formatter && value && value?.toString()?.trim() !== \"\") {\n switch (formatter) {\n case \"money\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })\n .format(Number(value))\n .replace(\"₺\", \"\");\n\n case \"money-tl\":\n if (Number.isNaN(Number(value))) {\n return \"₺0.00\";\n }\n\n return new Intl.NumberFormat(\"tr-TR\", {\n style: \"currency\",\n currency: \"TRY\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"money-eur\":\n if (Number.isNaN(Number(value))) {\n return \"€0.00\";\n }\n return `€${Number(value).toLocaleString(\"en-US\", {\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n })}`;\n\n case \"money-usd\":\n if (Number.isNaN(Number(value))) {\n return \"$0.00\";\n }\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 2,\n maximumFractionDigits: 2\n }).format(Number(value));\n\n case \"money-eur-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"€0\";\n }\n return `€${Number(value).toLocaleString(\"en-US\", {\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n })}`;\n\n case \"money-usd-var-1\":\n if (Number.isNaN(Number(value))) {\n return \"$0\";\n }\n return new Intl.NumberFormat(\"en-US\", {\n style: \"currency\",\n currency: \"USD\",\n minimumFractionDigits: 0,\n maximumFractionDigits: 0\n }).format(Number(value));\n\n case \"phone\":\n return VMasker.toPattern(this.props.value, \"(999) 999-9999\");\n\n case \"percent\":\n return `${this.props.value}%`;\n\n case \"fractional-2\":\n const number2 = Number(value);\n return isNaN(number2) ? value : number2.toFixed(2);\n\n case \"fractional-5\":\n const number5 = Number(value);\n return isNaN(number5) ? value : number5.toFixed(5);\n\n case \"datetime\":\n const datetimeString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY HH:mm:ss\"\n });\n return datetimeString;\n\n case \"date\":\n const dateString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY\"\n });\n return dateString;\n\n case \"date-var-1\":\n const dateVar1String = this.parseDateString(value, {\n formatStr: \"DD:MM:YYYY\"\n });\n return dateVar1String;\n\n case \"time\":\n const timeString = this.parseDateString(value, {\n formatStr: \"HH:mm:ss\"\n });\n return timeString;\n\n case \"short-date\":\n const shortDateString = this.parseDateString(value, {\n formatStr: \"MMM Do\"\n });\n return shortDateString;\n\n case \"time-ago\":\n const timeAgoString = this.parseDateString(value, {\n formatStr: \"DD/MM/YYYY HH:mm:ss\",\n timeAgo: true\n });\n return timeAgoString;\n\n case \"custom date\":\n if (this.props.customFormatter && this.props.customFormatter !== \"\") {\n const customFormattedDate = this.parseDateString(value, {\n formatStr: this.props.customFormatter\n });\n return customFormattedDate;\n }\n return value;\n break;\n\n default:\n return value;\n }\n } else {\n if (value && typeof value === \"string\") {\n const kuikaCulture = localStorage.getItem(\"ml\");\n const isLangTR = kuikaCulture?.toLowerCase() === \"tr_tr\";\n\n if (this.props.style?.textTransform === \"lowercase\" && (value.includes(\"İ\") || value.includes(\"I\"))) {\n if (isLangTR) {\n value = value.replace(/I/g, \"ı\");\n }\n value = value.replace(/İ/g, \"i\");\n } else if (this.props.style?.textTransform === \"uppercase\" && (value.includes(\"i\") || value.includes(\"ı\"))) {\n if (isLangTR) {\n value = value.replace(/i/g, \"İ\");\n }\n value = value.replace(/ı/g, \"I\");\n } else if (this.props?.style.textTransform === \"capitalize\") {\n if (isLangTR && value[0] === \"i\") {\n value = value.replace(\"i\", \"İ\");\n } else if (value[0] === \"ı\") {\n value = value.replace(\"ı\", \"I\");\n }\n }\n }\n\n return value?.toString();\n }\n }\n\n parseDateString = (value: any, arg1: { formatStr: string; timeAgo?: boolean }) => {\n try {\n const date = moment(new Date(value));\n\n if (!date.isValid()) {\n return value;\n }\n\n let result: any = date.format(arg1.formatStr);\n\n if (arg1.timeAgo) {\n result = date.fromNow();\n }\n\n if (result.indexOf(\"Invalid\") > -1) {\n result = value;\n }\n return result;\n } catch (ex: any) {\n return value;\n }\n };\n\n getStyles = (): { containerStyles: React.CSSProperties; labelStyles: React.CSSProperties } => {\n let containerStyles: React.CSSProperties = {};\n let labelStyles: React.CSSProperties = {};\n\n if (this.props.style) {\n const {\n // LAYOUT STYLES\n marginTop,\n marginRight,\n marginLeft,\n marginBottom,\n paddingTop,\n paddingRight,\n paddingLeft,\n paddingBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n textAlign,\n alignItems,\n display,\n // FILL STYLES\n backgroundColor,\n // BORDER STYLES\n borderColor,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderStyle,\n // OTHERS\n cursor,\n // LABEL STYLES\n ...restOfStyles\n } = this.props.style;\n\n labelStyles = restOfStyles;\n\n containerStyles = {\n marginTop,\n marginRight,\n marginLeft,\n marginBottom,\n paddingTop,\n paddingRight,\n paddingLeft,\n paddingBottom,\n width,\n height,\n minWidth,\n minHeight,\n maxWidth,\n maxHeight,\n textAlign,\n alignItems,\n display,\n backgroundColor,\n borderColor,\n borderTopWidth,\n borderRightWidth,\n borderBottomWidth,\n borderLeftWidth,\n borderTopLeftRadius,\n borderTopRightRadius,\n borderBottomRightRadius,\n borderBottomLeftRadius,\n borderStyle,\n cursor\n };\n }\n\n containerStyles.cursor = \"inherit\";\n labelStyles.cursor = \"inherit\";\n if (this.props.showCursorPointer) {\n containerStyles.cursor = \"pointer\";\n labelStyles.cursor = \"pointer\";\n }\n\n if (containerStyles.display !== \"block\") {\n containerStyles.display = \"inline-block\";\n }\n\n if (this.props.maxLine && this.props.maxLine > 0) {\n containerStyles.overflow = \"hidden\";\n // labelStyles.overflow = \"hidden\";\n labelStyles.display = \"-webkit-box\";\n labelStyles.WebkitLineClamp = this.props.maxLine;\n labelStyles.lineClamp = this.props.maxLine;\n labelStyles.WebkitBoxOrient = \"vertical\";\n }\n\n if (window.kuika?.isDesignTime && window.kuika.dashboardState === DashboardState.reportDesigner) {\n containerStyles.width = \"auto\";\n containerStyles.height = \"auto\";\n labelStyles.width = \"auto\";\n labelStyles.height = \"auto\";\n containerStyles.display = \"inline-block\";\n containerStyles.lineHeight = \"unset\";\n }\n\n if (this.props.writingMode === \"vertical\") {\n labelStyles.writingMode = \"vertical-rl\";\n labelStyles.textOrientation = \"sideways\";\n }\n\n if (!this.props.writingMode || this.props.writingMode === \"horizontal\") {\n labelStyles.writingMode = \"horizontal-tb\";\n labelStyles.textOrientation = \"mixed\";\n }\n\n return { containerStyles, labelStyles };\n };\n\n getNumbersOfStyleProperties = (val: any) => {\n let numb: any = val?.match(/\\d/g);\n numb = numb?.join(\"\");\n return parseInt(numb);\n };\n\n getProps = () => {\n const props = { ...this.props };\n if (props.style) {\n delete props.style;\n }\n\n return props;\n };\n\n getLangProp = () => {\n const textTransformStyle = this.props.style?.textTransform;\n if (\n textTransformStyle === \"lowercase\" ||\n textTransformStyle === \"uppercase\" ||\n textTransformStyle === \"capitalize\"\n ) {\n const kuikaCulture = localStorage.getItem(\"ml\");\n if (!kuikaCulture) return undefined;\n\n return kuikaCulture.replace(\"_\", \"-\");\n }\n\n return undefined;\n };\n\n renderLabel = () => {\n const { containerStyles, labelStyles } = this.getStyles();\n return (\n
\n \n
\n );\n };\n\n render(): ReactNode {\n if (this.props.tooltip) {\n return (\n <>\n \n {this.renderLabel()}\n \n \n );\n }\n\n return this.renderLabel();\n }\n}\n\nconst label = withDoubleClickEdit(withCommonEvents(Label), \"value\");\nexport { label as Label };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\ninterface LayoutFooterProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface LayoutFooterState {}\n\nclass LayoutFooter extends PureComponent {\n constructor(props: LayoutFooterProps) {\n super(props);\n this.state = {};\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (!this.props.children) style.minHeight = \"100px\";\n style.overflow = \"hidden\";\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n
\n {this.props.children}\n
\n \n );\n }\n}\n\nconst layoutFooter = withCommonEvents(LayoutFooter);\nexport { layoutFooter as LayoutFooter };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\ninterface LayoutHeaderProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface LayoutHeaderState {}\n\nclass LayoutHeader extends PureComponent {\n constructor(props: LayoutHeaderProps) {\n super(props);\n this.state = {};\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (!this.props.children) style.minHeight = \"100px\";\n\n style.overflow = \"hidden\";\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n
\n {this.props.children}\n
\n \n );\n }\n}\n\nconst layoutHeader = withCommonEvents(LayoutHeader);\nexport { layoutHeader as LayoutHeader };\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\n\ninterface LayoutLeftProps {\n children?: ReactNode;\n style?: React.CSSProperties;\n}\n\ninterface LayoutLeftState {}\n\nclass LayoutLeft extends PureComponent {\n constructor(props: LayoutLeftProps) {\n super(props);\n this.state = {};\n }\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n delete style.width;\n if (window?.kuika?.dashboardState === DashboardState.design) {\n if (this.props.children) {\n style.minWidth = \"50px\";\n } else {\n style.minWidth = \"100px\";\n }\n style.height = \"100%\";\n }\n return style;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.style) {\n delete props.style;\n }\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n
\n {this.props.children}\n
\n \n );\n }\n}\n\nconst layoutLeft = withCommonEvents(LayoutLeft);\nexport { layoutLeft as LayoutLeft };\n","import { Dropdown, Menu, Space } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../../common/common-props\";\n\ndeclare let window: any;\n\ninterface ContentMenuProps {\n children?: ReactNode;\n onMenuClick?: () => void;\n onButtonClick?: () => void;\n imageValue?: string;\n style: any;\n widthType?: \"fill\" | \"content\";\n menuOpeningType?: \"click\" | \"hover\";\n}\n\ninterface ContentMenuState {}\n\nclass ContentMenu extends PureComponent {\n constructor(props: ContentMenuProps) {\n super(props);\n this.state = {};\n }\n\n getWidth() {\n if (this.props.widthType && this.props.widthType == \"content\") {\n return \"max-content\";\n }\n return \"100%\";\n }\n\n handleButtonClick = (e: any) => {\n if (this.props.onButtonClick) {\n this.props.onButtonClick();\n }\n };\n\n handleMenuClick = (e: any) => {\n if (this.props.onMenuClick) {\n this.props.onMenuClick();\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n let style: React.CSSProperties = _.clone(this.props.style);\n if (props.children) {\n delete props.children;\n }\n if (!style) {\n style = {\n width: this.getWidth()\n };\n } else if (!style.width) {\n style.width = this.getWidth();\n }\n if (style.display) delete style.display;\n props.style = style;\n return props;\n };\n\n getOpenMenuTypeProps = () => {\n const props: any = _.clone(this.props);\n let menuOpeningType: string = \"click\";\n if (props.menuOpeningType == \"click\") {\n props.menuOpeningType = menuOpeningType;\n return props.menuOpeningType;\n }\n if (props.menuOpeningType == \"hover\") {\n menuOpeningType = \"hover\";\n props.menuOpeningType = menuOpeningType;\n return props.menuOpeningType;\n }\n };\n\n getMenuItems = () => {\n if (Array.isArray(this.props?.children)) {\n const menuItems: any = _.clone(this.props?.children);\n menuItems.shift();\n if (window?.kuika?.isDesignTime) return menuItems;\n\n return menuItems.filter((i) => i?.props?.visibility !== \"hidden\");\n }\n return <>;\n };\n\n getDropdownOverLayStyle = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n const style = {} as React.CSSProperties;\n if (isDesignTime) {\n style.background = \"white\";\n style.pointerEvents = \"none\";\n }\n return style;\n };\n\n render(): ReactNode {\n const menu = (\n \n {React.Children.map(this.getMenuItems(), (child: any, i) => {\n return (\n \n {child?.props.label}\n \n );\n })}\n \n );\n\n return (\n \n \n
\n {Array.isArray(this.props?.children) && this.props?.children?.length > 0\n ? _.clone(this.props?.children[0])\n : _.clone(this.props?.children)}\n
\n
\n
\n );\n }\n}\n\nconst contentMenu = withCommonEvents(ContentMenu);\nexport { contentMenu as ContentMenu };\n","import { Menu } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../../common/common-props\";\nimport { Icon } from \"../../icon/icon\";\n\ninterface ContentItemProps {\n iconName?: string;\n onClick?: () => void;\n label: string;\n}\n\ninterface ContentItemState {}\n\nclass ContentMenuItem extends PureComponent {\n key = Guid.create().toString();\n\n constructor(props: ContentItemProps) {\n super(props);\n this.state = {};\n }\n\n handleClick = () => {\n if (this.props.onClick) {\n this.props.onClick();\n }\n };\n\n render(): ReactNode {\n let iconProp = {};\n if (this.props.iconName) {\n iconProp = { icon: };\n }\n\n return (\n \n {this.props.label}\n \n );\n }\n}\n\nconst contentMenuItem = withCommonEvents(ContentMenuItem);\nexport { contentMenuItem as ContentMenuItem };\n","import { CSSProperties, PureComponent } from \"react\";\nimport withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../../common/common-props\";\n\ninterface ContentMenuPanelProps {\n onMenuClick?: () => void;\n onButtonClick?: () => void;\n imageValue?: string;\n style?: CSSProperties;\n widthType?: \"fill\" | \"content\";\n menuOpeningType?: \"click\" | \"hover\";\n}\n\ninterface ContentMenuPanelState {}\n\nclass ContentMenuPanel extends PureComponent {\n constructor(props: ContentMenuPanelProps) {\n super(props);\n this.state = {};\n }\n\n getProps = (): ContentMenuPanelProps & CommonProps => {\n const props = { ...this.props };\n\n if (props.style) {\n props.style = this.getStyles({ ...props.style });\n }\n\n return props;\n };\n\n getStyles = (style: CSSProperties): CSSProperties => {\n style.display = \"inline-flex\";\n\n switch (style.textAlign as string) {\n case \"center\":\n case \"-webkit-center\":\n style.justifyContent = \"center\";\n break;\n case \"left\":\n case \"-webkit-left\":\n style.justifyContent = \"flex-start\";\n break;\n case \"right\":\n case \"-webkit-right\":\n style.justifyContent = \"flex-end\";\n break;\n }\n\n style.alignItems = \"center\";\n return style;\n };\n\n render = () => {\n return
;\n };\n}\n\nconst contentMenuPanel = withCommonEvents(ContentMenuPanel);\nexport { contentMenuPanel as ContentMenuPanel };\n","import { Drawer as AntDrawer } from \"antd/es\";\nimport { DrawerProps as AntdDrawerProps } from \"antd/es/drawer\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport \"./style.css\";\n\ninterface DrawerProps extends AntdDrawerProps {\n width?: string;\n height?: string;\n placement: any;\n}\n\ninterface DrawerState {}\n\nclass Drawer extends PureComponent {\n constructor(props: DrawerProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n let height = this.props.placement === \"left\" || this.props.placement === \"right\" ? \"100vh\" : \"30vh\";\n if (this.props.height) {\n height = this.props.height;\n }\n return (\n <>\n \n \n );\n }\n}\n\nconst drawer = withCommonEvents(Drawer);\nexport { drawer as Drawer };\n","import AntdModal, { ModalProps as AntdModalProps } from \"antd/es/modal/Modal\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface ModalProps extends AntdModalProps {\n height: string;\n}\n\ninterface ModalState {}\n\nclass Modal extends PureComponent {\n constructor(props: ModalProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n let height = \"70vh\";\n if (this.props.height) {\n height = this.props.height;\n }\n\n return (\n <>\n \n \n );\n }\n}\n\nconst modal = withCommonEvents(Modal);\nexport { modal as Modal };\n","import { Input } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport NumberFormat, { NumberFormatProps } from \"react-number-format\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\ninterface NumericboxProps extends NumberFormatProps {\n onChange: any;\n isThousandSeperatorOn?: boolean;\n max?: number;\n min?: number;\n}\n\ninterface NumericboxState {}\n\nclass NumberInput extends PureComponent {\n constructor(props: NumericboxProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n let style: any = _.clone(this.props.style);\n const isDesignTime = window.kuika?.isDesignTime;\n if (!style) {\n style = {\n width: \"100%\"\n };\n props.style = style;\n } else if (!style.width) {\n style.width = \"100%\";\n props.style = style;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props.decimalSeparator) {\n delete props.decimalSeparator;\n }\n if (props.format) {\n delete props.format;\n }\n if (props.mask) {\n delete props.mask;\n }\n if (props.max) {\n if (props.value && props.value > props.max && isDesignTime === true) {\n props.value = props.max;\n }\n delete props.max;\n }\n if (props.min) {\n if (props.value && props.value < props.min && isDesignTime === true) {\n props.value = props.min;\n }\n delete props.min;\n }\n if (props.value === null) {\n props.value = \"\";\n } else if (props.value && props.value.value) {\n const tmp = _.clone(props.value.floatValue);\n delete props.value;\n props.value = tmp;\n }\n return props;\n };\n\n withValueLimit = (values) => {\n const { formattedValue, floatValue } = values;\n if (floatValue == null) {\n return formattedValue === \"\";\n }\n if (this.props.max && this.props.min) {\n return floatValue <= this.props.max && floatValue >= this.props.min;\n }\n if (this.props.max) {\n return floatValue <= this.props.max;\n }\n if (this.props.min) {\n return floatValue >= this.props.min;\n }\n return floatValue;\n };\n\n onChange = (value: number | any) => {\n if (this.props.onChange) {\n const newValue = value.value != undefined ? _.clone(value.floatValue) : value;\n this.props.onChange(newValue);\n }\n };\n\n onBlur = (e: any) => {\n let newValue = e?.target?.value;\n if (e?.target?.value.includes(\",\")) {\n newValue = parseInt(newValue.replace(/,/g, \"\"));\n }\n if (this.props.max !== undefined && this.props.max !== null && parseFloat(newValue) > this.props.max) {\n this.props.onChange(this.props.max);\n }\n if (this.props.min !== undefined && this.props.min !== null && parseFloat(newValue) < this.props.min) {\n this.props.onChange(this.props.min);\n }\n if (this.props.onBlur) {\n this.props.onBlur(e);\n }\n };\n\n getThousandSeparator = () => {\n if (this.props.decimalSeparator == \",\") {\n return \".\";\n }\n return \",\";\n };\n\n getMask = () => {\n if (\n this.props.mask &&\n (this.props.mask.toString().includes(\"0\") ||\n this.props.mask.toString().includes(\"1\") ||\n this.props.mask.toString().includes(\"2\") ||\n this.props.mask.toString().includes(\"3\") ||\n this.props.mask.toString().includes(\"4\") ||\n this.props.mask.toString().includes(\"5\") ||\n this.props.mask.toString().includes(\"6\") ||\n this.props.mask.toString().includes(\"7\") ||\n this.props.mask.toString().includes(\"8\") ||\n this.props.mask.toString().includes(\"9\"))\n ) {\n return undefined;\n }\n return this.props.mask && this.props.mask.length > 0 ? this.props.mask : undefined;\n };\n\n getFormat = () => {\n return this.props.format && this.props.format.length > 0 ? this.props.format : undefined;\n };\n\n getDecimalSeparator = () => {\n return this.props.decimalSeparator ? this.props.decimalSeparator : \".\";\n };\n\n render(): React.ReactNode {\n // if data binded to number input show value as it is on design time\n if (this.props.value && typeof this.props.value === \"string\" && window.kuika?.dashboardState === 1) {\n return ;\n }\n return (\n \n );\n }\n}\n\nconst numberInput = withCommonEvents(NumberInput);\nexport { numberInput as NumberInput };\n","import { Pagination as AntdPagination } from \"antd/es\";\nimport { PaginationProps as AntdPaginationProps } from \"antd/es/pagination\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { Icon } from \"../icon/icon\";\n\ndeclare let window: any;\n\ninterface PaginationProps extends AntdPaginationProps, CommonProps {\n style?: any;\n selectedBorderColor?: string;\n total?: number;\n showFirstPageButton?: boolean;\n showLastPageButton?: boolean;\n showNumbers?: boolean;\n showText?: boolean;\n value?: number;\n options?: any;\n datavaluefield?: string;\n}\n\ninterface PaginationState {\n pageSize: number;\n current: number;\n}\n\nclass Pagination extends PureComponent {\n private static readonly DEFAULT_PAGE_SIZE_OPTIONS = [10, 20, 50, 100];\n\n constructor(props: PaginationProps) {\n super(props);\n this.state = {\n pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10,\n current: this.props.current || 1\n };\n }\n\n getPageSize = () => {\n const { pageSize } = this.state;\n return pageSize ?? 10;\n };\n\n getCurrentPage = () => {\n let current: number = this.props.current && this.props.current > 1 ? this.props.current : this.state.current;\n if (!current || current === 0) current = 1;\n return current;\n };\n\n public getCurrentData = () => {\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n return { pageSize, current };\n };\n\n public setPaginationData = (newPage: number) => {\n this.handleChange(newPage);\n };\n\n public setPageSize = (pageSize: number) => {\n this.setState({ pageSize }, () => {\n this.handleChange(this.state.current, pageSize);\n });\n };\n\n handleChange = (page: number, pageSize: number = this.getPageSize()) => {\n this.setState({ pageSize, current: page }, () => {\n this.props.onChange?.(page, pageSize);\n });\n };\n\n handleSizeChange = (current: number, pageSize: number) => {\n this.setState({ pageSize, current }, () => {\n this.props.onChange?.(current, pageSize);\n });\n };\n\n getPageItemStyles = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n if (this.props.style?.color) {\n result.color = this.props.style?.color;\n }\n if (this.props.style?.borderColor) {\n result.borderColor = undefined;\n }\n if (this.props.style?.borderStyle) {\n result.borderStyle = undefined;\n }\n if (this.props.style?.borderWidth) {\n result.borderWidth = undefined;\n }\n result.textAlign = \"center\";\n result.alignItems = \"center\";\n return result;\n };\n\n getButtonItemStyles = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n if (this.props.style?.color) {\n result.color = this.props.style?.color;\n }\n if (this.props.style?.borderColor) {\n result.borderColor = undefined;\n }\n if (this.props.style?.borderStyle) {\n result.borderStyle = undefined;\n }\n if (this.props.style?.borderWidth) {\n result.borderWidth = undefined;\n }\n if (this.props.style?.backgroundColor) {\n result.backgroundColor = this.props.style?.backgroundColor;\n }\n if (this.props.style?.backgroundImage) {\n result.backgroundImage = this.props.style?.backgroundImage;\n }\n if (this.props.style?.backgroundRepeat) {\n result.backgroundRepeat = this.props.style?.backgroundRepeat;\n }\n result.textAlign = \"center\";\n result.alignItems = \"center\";\n return result;\n };\n\n getFirst = (): any => {\n return this.props.showText !== true ? (\n \n ) : (\n this.getPaginationTitle(\"First\")\n );\n };\n\n getJumpPrev = (): string => {\n return this.props.showText !== true ? \"<<\" : \"<<\";\n };\n\n getPrevious = (): any => {\n return this.props.showText !== true ? : this.getPaginationTitle(\"Previous\");\n };\n\n getNext = (): any => {\n return this.props.showText !== true ? : this.getPaginationTitle(\"Next\");\n };\n\n getJumpNext = (): string => {\n return this.props.showText !== true ? \">>\" : \">>\";\n };\n\n getLast = (): any => {\n return this.props.showText !== true ? (\n \n ) : (\n this.getPaginationTitle(\"Last\")\n );\n };\n\n itemRender = (\n page: number,\n type: \"page\" | \"prev\" | \"next\" | \"jump-prev\" | \"jump-next\",\n originalElement: React.ReactElement\n ) => {\n if (type === \"page\") {\n return {page};\n }\n if (type === \"prev\") {\n return {this.getPrevious()};\n }\n if (type === \"next\") {\n return {this.getNext()};\n }\n if (type === \"jump-prev\") {\n return {this.getJumpPrev()};\n }\n if (type === \"jump-next\") {\n return {this.getJumpNext()};\n }\n return originalElement;\n };\n\n setStyle = (props?: PaginationProps) => {\n const node: Element | null | Text = ReactDOM.findDOMNode(this);\n if (!node) {\n return;\n }\n const pageBoxes: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-item\");\n\n if (pageBoxes && pageBoxes.length && pageBoxes.length > 0) {\n pageBoxes.forEach((pageBox) => {\n if (props && props.style && props.style.borderColor) {\n pageBox.style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n pageBox.style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderTopWidth) {\n pageBox.style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n pageBox.style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n pageBox.style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (\n props &&\n props.style &&\n (props.style.borderBottomWidth ||\n props.style.borderTopWidth ||\n props.style.borderLeftWidth ||\n props.style.borderRightWidth)\n ) {\n pageBox.style.display = \"flex\";\n pageBox.style[\"justify-content\"] = \"center\";\n pageBox.style[\"align-items\"] = \"center\";\n }\n if (props && props.style && props.style.borderStyle) {\n pageBox.style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n pageBox.style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n if (props && props.style && props.style.color) {\n pageBox.style.color = props.style.color;\n }\n });\n }\n let paginationWrapper: any = (node as Element)?.querySelectorAll(\".ant-pagination\");\n\n if (paginationWrapper && paginationWrapper.length && paginationWrapper.length > 0) {\n paginationWrapper.forEach((pageBox) => {\n if (props && props.style && props.style.borderColor) {\n pageBox.style[\"border-color\"] = \"transparent\";\n }\n if (props && props.style && props.style.borderWidth) {\n pageBox.style[\"border-width\"] = \"0px\";\n }\n if (props && props.style && props.style.borderStyle) {\n pageBox.style[\"border-style\"] = \"none\";\n }\n if (props && props.style && props.style.borderRadius) {\n pageBox.style[\"border-radius\"] = \"0px\";\n }\n });\n }\n const totalText: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-total-text\");\n if (totalText && totalText.length && totalText.length > 0) {\n if (props && props.style && props.style.color) {\n totalText[0].style.color = props.style.color;\n }\n }\n\n const pageSizeBox: any = (node as Element)?.querySelectorAll(\"ul > li > div > .ant-select-selector\");\n if (pageSizeBox && pageSizeBox.length && pageSizeBox.length > 0) {\n if (props && props.style && props.style.borderColor) {\n pageSizeBox[0].style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.color) {\n pageSizeBox[0].style.color = props.style.color;\n }\n if (props && props.style && props.style.fontSize) {\n pageSizeBox[0].style.fontSize = props.style.fontSize;\n }\n if (props && props.style && props.style.borderWidth) {\n pageSizeBox[0].style[\"border-width\"] = `${props.style.borderWidth}px`;\n }\n if (\n props?.style?.borderTopWidth ||\n props?.style?.borderBottomWidth ||\n props?.style?.borderLeftWidth ||\n props?.style?.borderRightWidth\n ) {\n pageSizeBox[0].style.display = \"flex\";\n pageSizeBox[0].style[\"justify-content\"] = \"center\";\n pageSizeBox[0].style[\"align-items\"] = \"center\";\n }\n if (props && props.style && props.style.borderTopWidth) {\n pageSizeBox[0].style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n pageSizeBox[0].style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n pageSizeBox[0].style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n pageSizeBox[0].style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (props && props.style && props.style.borderStyle) {\n pageSizeBox[0].style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n pageSizeBox[0].style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n }\n\n let paginationQuickJumperBox: any = (node as Element)?.querySelectorAll(\n \"ul > li > .ant-pagination-options-quick-jumper > input\"\n );\n if (paginationQuickJumperBox && paginationQuickJumperBox.length && paginationQuickJumperBox.length > 0) {\n if (props && props.style && props.style.borderColor) {\n paginationQuickJumperBox[0].style[\"border-color\"] = props.style.borderColor;\n }\n if (props && props.style && props.style.color) {\n paginationQuickJumperBox[0].style.color = props.style.color;\n }\n if (props && props.style && props.style.borderWidth) {\n paginationQuickJumperBox[0].style[\"border-width\"] = `${props.style.borderWidth}px`;\n }\n if (props && props.style && props.style.borderTopWidth) {\n paginationQuickJumperBox[0].style[\"border-top-width\"] = `${props.style.borderTopWidth}px`;\n }\n if (props && props.style && props.style.borderBottomWidth) {\n paginationQuickJumperBox[0].style[\"border-bottom-width\"] = `${props.style.borderBottomWidth}px`;\n }\n if (props && props.style && props.style.borderLeftWidth) {\n paginationQuickJumperBox[0].style[\"border-left-width\"] = `${props.style.borderLeftWidth}px`;\n }\n if (props && props.style && props.style.borderRightWidth) {\n paginationQuickJumperBox[0].style[\"border-right-width\"] = `${props.style.borderRightWidth}px`;\n }\n if (props && props.style && props.style.borderStyle) {\n paginationQuickJumperBox[0].style[\"border-style\"] = props.style.borderStyle;\n }\n if (\n (props && props.style && props.style.borderTopLeftRadius) ||\n props.style.borderBottomLeftRadius ||\n props.style.borderTopRightRadius ||\n props.style.borderBottomRightRadius\n ) {\n paginationQuickJumperBox[0].style[\"border-radius\"] = `${props.style.borderTopLeftRadius ?? 0}px ${\n props.style.borderTopRightRadius ?? 0\n }px ${props.style.borderBottomRightRadius ?? 0}px ${props.style.borderBottomLeftRadius ?? 0}px`;\n }\n }\n\n const selectedPageBox: any = (node as Element)?.querySelectorAll(\".ant-pagination-item\");\n if (selectedPageBox && selectedPageBox.length && selectedPageBox.length > 0) {\n if (props && props.selectedBorderColor) {\n selectedPageBox.forEach((pageBox) => {\n if (pageBox.classList.contains(\"ant-pagination-item-active\")) {\n pageBox.style[\"border-color\"] = props.selectedBorderColor;\n } else {\n pageBox.style[\"border-color\"] = props.style.borderColor ?? \"#1890ff\";\n }\n });\n }\n }\n\n const pageBoxesItem: any = (node as Element)?.querySelectorAll(\"ul > .ant-pagination-item > a\");\n\n if (pageBoxesItem && pageBoxesItem.length && pageBoxesItem.length > 0) {\n pageBoxesItem.forEach((pageBoxesItem) => {\n if (props && props.style && props.style.height) {\n pageBoxesItem.style.removeProperty(\"height\");\n }\n });\n }\n };\n\n componentDidUpdate = (nextProps: any) => {\n const current = this.props.value;\n if (current) {\n this.setState({ current });\n }\n\n this.setStyle(nextProps);\n };\n\n componentDidMount = () => {\n this.setState({ pageSize: this.props.pageSize && this.props.pageSize > 1 ? this.props.pageSize : 10 });\n this.setStyle(this.props);\n };\n\n getStyleProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props.style);\n if (result) {\n if (this.props.style?.backgroundColor) {\n result.backgroundColor = this.props.style?.backgroundColor;\n }\n if (this.props.style?.backgroundImage) {\n result.backgroundImage = this.props.style?.backgroundImage;\n }\n if (this.props.style?.backgroundRepeat) {\n result.backgroundRepeat = this.props.style?.backgroundRepeat;\n }\n if (this.props.style?.color) {\n result.backgroundRepeat = this.props.style?.color;\n }\n }\n }\n return result;\n };\n\n getStylePropsForInner = () => {\n const result = this.getStyleProps();\n result.textAlign = \"center\";\n result.display = \"flex\";\n return result;\n };\n\n getStylePropsForButtons = () => {\n const result = this.getStyleProps();\n result.display = \"flex\";\n result.alignItems = this.props.style?.alignItems;\n result.border = \"none\";\n result.borderColor = \"transparent\";\n result.borderRadius = \"0px\";\n result.borderStyle = \"unset\";\n result.padding = \"0px 5px\";\n return result;\n };\n\n handleFirst = () => {\n this.handleChange(1);\n };\n\n handlePrevious = () => {\n const current = this.state.current && this.state.current > 1 ? this.state.current : 2;\n this.handleChange(current - 1);\n };\n\n handleNext = () => {\n const current = this.state.current ? this.state.current : 1;\n this.handleChange(current + 1);\n };\n\n handleLast = () => {\n if (this.props.total && this.state.pageSize) {\n this.handleChange(Math.ceil(this.props.total / this.state.pageSize));\n }\n };\n\n firstPageButton = () => {\n const current = this.getCurrentPage();\n if (current <= 1) {\n return <>;\n }\n\n return (\n
  • \n \n {this.getFirst()}\n \n
  • \n );\n };\n\n previousPageButton = () => {\n const current = this.getCurrentPage();\n if (current <= 1) {\n return <>;\n }\n return (\n
  • \n \n {this.getPrevious()}\n \n
  • \n );\n };\n\n nextPageButton = () => {\n const total = this.props.total ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n if (total / pageSize <= current) {\n return <>;\n }\n return (\n
  • \n \n {this.getNext()}\n \n
  • \n );\n };\n\n lastPageButton = () => {\n const total = this.props.total ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const current = this.getCurrentPage();\n if (total / pageSize <= current) {\n return <>;\n }\n return (\n
  • \n \n {this.getLast()}\n \n
  • \n );\n };\n\n getPaginationTitle = (title: string) => {\n const language = localStorage.getItem(\"ml\");\n let retValue = \"\";\n\n switch (language) {\n case \"fr_FR\":\n switch (title) {\n case \"First Page\":\n retValue = \"Première Page\";\n break;\n case \"Previous Page\":\n retValue = \"Page Précédente\";\n break;\n case \"Next Page\":\n retValue = \"Page Suivante\";\n break;\n case \"Last Page\":\n retValue = \"Dernière Page\";\n break;\n case \"First\":\n retValue = \"Premier\";\n break;\n case \"Previous\":\n retValue = \"Précédent\";\n break;\n case \"Next\":\n retValue = \"Suivant\";\n break;\n case \"Last\":\n retValue = \"Dernier\";\n break;\n default:\n retValue = title;\n break;\n }\n break;\n case \"tr_TR\":\n switch (title) {\n case \"First Page\":\n retValue = \"İlk Sayfa\";\n break;\n case \"Previous Page\":\n retValue = \"Önceki Sayfa\";\n break;\n case \"Next Page\":\n retValue = \"Sonraki Sayfa\";\n break;\n case \"Last Page\":\n retValue = \"Son Sayfa\";\n break;\n case \"First\":\n retValue = \"İlk\";\n break;\n case \"Previous\":\n retValue = \"Önceki\";\n break;\n case \"Next\":\n retValue = \"Sonraki\";\n break;\n case \"Last\":\n retValue = \"Son\";\n break;\n default:\n retValue = title;\n break;\n }\n break;\n case \"en_US\":\n retValue = title;\n break;\n default:\n retValue = title;\n break;\n }\n return retValue;\n };\n\n getPageSizeOptions = () => {\n const options = this.props.options;\n if (options && options.length > 0) {\n const mappedOptions: number[] = [];\n options.forEach((option: any) => {\n const value = option.text?.trim() ?? option[this.props.datavaluefield];\n if (!isNaN(value) && value !== null && value !== undefined && value !== \"\") {\n mappedOptions.push(parseInt(value));\n }\n });\n mappedOptions?.sort((a, b) => a - b);\n if (mappedOptions.length > 0) return mappedOptions;\n }\n\n return Pagination.DEFAULT_PAGE_SIZE_OPTIONS;\n };\n\n render(): ReactNode {\n const total =\n this.props.total !== undefined && this.props.total !== null && this.props.total >= 0 ? this.props.total : 500;\n const pageSize = this.getPageSize();\n const isFirstPageButtonVisible = this.props.showFirstPageButton === true && total > 1;\n const isLastPageButtonVisible = this.props.showLastPageButton === true && total > 1;\n return (\n <>\n
    \n
    \n {isFirstPageButtonVisible && (\n \n {this.firstPageButton()}\n \n )}\n {this.props.showNumbers === false && (\n \n {this.previousPageButton()}\n {this.nextPageButton()}\n \n )}\n {this.props.showNumbers !== false && (\n \n )}\n {isLastPageButtonVisible && (\n \n {this.lastPageButton()}\n \n )}\n
    \n
    \n \n );\n }\n}\n\nconst pagination = withCommonEvents(Pagination);\nexport { pagination as Pagination };\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { CSSProperties, PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KuikaAppManager } from \"../../../shared/utilty/kuika-app-manager\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\n\ninterface PanelProps {\n children?: ReactNode;\n style?: CSSProperties;\n scrolling?: \"horizontal\" | \"vertical\" | \"auto\" | \"hidden\";\n scrollBackColor?: string;\n scrollWidth?: number;\n scrollRadius: boolean;\n dynamicBackGroundColor: string;\n dynamicBgImage: string;\n dynamicFontColor: string;\n hoverBackgroundColor?: string;\n hoverFontColor?: string;\n}\n\ninterface PanelState {\n uniqueKey: Guid;\n}\n\nclass Panel extends PureComponent {\n constructor(props: PanelProps) {\n super(props);\n this.state = { uniqueKey: Guid.create() };\n }\n\n componentDidUpdate(): void {\n this.updateStyle();\n }\n\n componentDidMount = () => {\n const uniqueKey: string = this.state.uniqueKey.toString();\n\n if (!uniqueKey) {\n return;\n }\n\n if (this.props.scrolling) {\n const dynamic_style = document.getElementById(\"dynamic_style\");\n\n if (!dynamic_style) return;\n\n if (dynamic_style.innerHTML?.indexOf(uniqueKey) === -1) {\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${this.getDynamicCss()}`;\n }\n }\n\n if (this.props.hoverBackgroundColor) {\n const css = `.${this.getClassName().trim()}:hover{ background-color: ${this.addHashIfNeeded(\n this.props.hoverBackgroundColor\n )} }`;\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n }\n\n if (this.props.hoverFontColor) {\n const css = `.${this.getClassName().trim()}:hover{ color: ${this.addHashIfNeeded(this.props.hoverFontColor)} }`;\n const style = document.createElement(\"style\");\n style.appendChild(document.createTextNode(css));\n document.getElementsByTagName(\"head\")[0].appendChild(style);\n }\n this.updateStyle();\n };\n\n updateStyle = () => {\n const node: any = ReactDOM.findDOMNode(this);\n let style: React.CSSProperties = _.clone(this.props.style);\n if (this.props?.style?.alignItems !== \"flex-start\" && node && node.children && node.children.length > 0) {\n KMainFunctions.handleAlignments(node, style);\n }\n };\n\n addHashIfNeeded = (value: string): string => {\n if (value && value.length === 6 && !value.startsWith(\"#\")) {\n return `#${value}`;\n }\n return value;\n };\n\n getStyle = (): any => {\n let style: CSSProperties = {};\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n\n if (this.props.scrolling) {\n if (this.props.scrolling === \"horizontal\") {\n style.overflowX = \"auto\";\n style.overflowY = \"hidden\";\n }\n if (this.props.scrolling === \"vertical\") {\n style.overflowX = \"hidden\";\n style.overflowY = \"auto\";\n }\n if (this.props.scrolling === \"auto\") {\n style.overflow = \"auto\";\n }\n if (this.props.scrolling === \"hidden\" && (this.props.style?.height || this.props.style?.maxHeight)) {\n style.overflow = \"hidden\";\n }\n }\n\n if (this.props.dynamicBackGroundColor && this.props.dynamicBackGroundColor.length > 0) {\n style.backgroundColor = this.addHashIfNeeded(this.props.dynamicBackGroundColor);\n }\n\n if (this.props.dynamicBgImage && this.props.dynamicBgImage.length > 0) {\n let bgImage = this.props.dynamicBgImage;\n if (Guid.isGuid(bgImage)) {\n bgImage = `url(${KuikaAppManager.GetBackendUrl()}/resource/runtime/byid?resourceId=${bgImage})`;\n } else if (bgImage.startsWith(\"/image\")) {\n bgImage = `url(${KuikaAppManager.GetBackendUrl()}${bgImage})`;\n } else {\n bgImage = `url(${bgImage})`;\n }\n style.backgroundSize = \"cover\";\n style.backgroundImage = bgImage;\n }\n\n if (this.props.dynamicFontColor && this.props.dynamicFontColor.length > 0) {\n style.color = this.addHashIfNeeded(this.props.dynamicFontColor);\n }\n\n return style;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const scrollBackColor = this.getScrollBackColor();\n const scrollRadius = this.getScrollRadius();\n const scrollWidth = this.getScrollWidth();\n let result = \"\";\n\n if (scrollWidth) {\n result = `\n .${className}::-webkit-scrollbar {\n ${scrollWidth}\n }`;\n }\n\n if (scrollBackColor || scrollRadius) {\n result = `${result}.${className}::-webkit-scrollbar-thumb {\n ${scrollBackColor ?? ``}\n ${scrollRadius ?? ``}\n }`;\n\n result = `${result}.${className}::-webkit-scrollbar-thumb:hover {\n ${scrollBackColor ?? ``}\n ${scrollRadius ?? ``}\n }`;\n }\n\n if (this.props.dynamicFontColor) {\n result = `${result}.${className} * {\n color: ${this.addHashIfNeeded(this.props.dynamicFontColor)} !important;\n }`;\n }\n\n return result;\n };\n\n getScrollBackColor = (): string | undefined => {\n if (this.props.scrollBackColor && this.props.scrollBackColor.length > 0) {\n return `background: ${this.props.scrollBackColor};`;\n }\n };\n\n getScrollRadius = (): string | undefined => {\n if (this.props.scrollRadius && this.props.scrollRadius === true) {\n return \"border-radius: 20px;\";\n }\n };\n\n getScrollWidth = (): string | undefined => {\n if (this.props.scrollWidth && this.props.scrollWidth > 0) {\n return `width: ${this.props.scrollWidth}px;\n height: ${this.props.scrollWidth}px;`;\n }\n };\n\n getClassName = (): string => {\n let result = \"\";\n\n if (this.props.className) {\n result = `${this.props.className} `;\n }\n\n if (!this.state.uniqueKey) {\n return result;\n }\n\n result = `${result}panel_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n\n if (props.children) {\n delete props.children;\n }\n\n return props;\n };\n\n render(): ReactNode {\n return (\n
    \n {this.props.children}\n
    \n );\n }\n}\n\nconst panel = withCommonEvents(Panel);\nexport { panel as Panel };\n","import { Input } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ndeclare let window: any;\n\ninterface PasswordProps {\n value?: string;\n placeholder: string;\n style: any;\n}\n\ninterface PasswordState {\n uniqueKey: Guid;\n}\n\nclass Password extends PureComponent {\n constructor(props: PasswordProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n if (this.props.style?.backgroundColor || this.props.style?.color) {\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${this.getDynamicCss()}`;\n }\n this.handleAffixStyling();\n }\n };\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props?.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style.backgroundColor as any;\n }\n if (this.props?.style?.color) {\n input.style.color = this.props.style.color as any;\n }\n };\n\n getBgColor = (): string | undefined => {\n if (this.props.style?.backgroundColor) {\n return `background-color: ${this.props.style?.backgroundColor} !important;`;\n }\n };\n\n getColor = (): string | undefined => {\n if (this.props.style?.color) {\n return `color: ${this.props.style?.color} !important;`;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const bgColor = this.getBgColor();\n const color = this.getColor();\n const { lineHeight, fontSize, fontWeight, letterSpacing } = this.props.style;\n const colorStyle = this.props.style?.color;\n let result = \"\";\n if (bgColor || color || lineHeight || fontSize || fontWeight || letterSpacing) {\n result += `.${className.trim()} > .ant-input {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n result += `.${className.trim()} .ant-input:placeholder-shown, input::placeholder {\n font-size: ${fontSize} !important;\n color: ${colorStyle} !important;\n font-weight: ${fontWeight} !important;\n letter-spacing: ${letterSpacing} !important;\n line-height: ${lineHeight} !important;\n }`;\n result += `\n .${className.trim()} > span > span {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n }\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kpassword_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n\n if (props.value && style.textTransform === \"lowercase\") {\n props.value = props.value.toString().toLowerCase();\n } else if (props.value && style.textTransform === \"uppercase\") {\n props.value = props.value.toString().toUpperCase();\n }\n\n props.style = style;\n props.className = \"kuika-email\";\n return props;\n };\n\n render(): ReactNode {\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime) {\n return (\n <>\n \n \n \n \n \n \n }\n />\n \n );\n }\n return (\n <>\n \n \n );\n }\n}\n\nconst password = withCommonEvents(Password);\nexport { password as Password };\n","import { Col as AntdCol } from \"antd/es\";\nimport { ColProps as AntdColProps } from \"antd/es/col\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\n\ntype ColProps = AntdColProps;\n\ninterface ColState {}\n\nclass Col extends PureComponent {\n constructor(props: ColProps) {\n super(props);\n this.state = {};\n }\n\n // componentDidMount(): void {\n // const node = ReactDOM.findDOMNode(this) as Element;\n // if ((this.props.style?.textAlign as string) === \"-webkit-right\") {\n // const colWrapper: HTMLElement = node?.querySelector(\".kuika_responsiveColWrapper\")\n // const nonResponsiveWrapper: HTMLElement = colWrapper?.querySelector(\":first-child\")\n // if (colWrapper && nonResponsiveWrapper?.classList.contains(\"kuika_nonResponsiveWrapper\") && nonResponsiveWrapper?.getAttribute(\"kuikacomponentname\") === \"Image\") {\n // colWrapper.style.display = \"inline-flex\";\n // colWrapper.style.justifyContent = \"flex-end\";\n // colWrapper.style.flexDirection = \"column\";\n // colWrapper.style.alignItems = \"flex-end\";\n // nonResponsiveWrapper.style.width = \"max-content\";\n // if (nonResponsiveWrapper.getAttribute(\"kuikablockstyle\") === \"2\") {\n // nonResponsiveWrapper.style.width = \"100%\";\n // }\n // }\n // } else if ((this.props.style?.textAlign as string) === \"-webkit-center\") {\n // const colWrapper: HTMLElement = node?.querySelector(\".kuika_responsiveColWrapper\")\n // const nonResponsiveWrapper: HTMLElement = colWrapper?.querySelector(\":first-child\")\n // if (colWrapper && nonResponsiveWrapper?.classList.contains(\"kuika_nonResponsiveWrapper\") && nonResponsiveWrapper?.getAttribute(\"kuikacomponentname\") === \"Image\") {\n // colWrapper.style.display = \"inline-flex\";\n // colWrapper.style.justifyContent = \"center\";\n // colWrapper.style.flexDirection = \"column\";\n // colWrapper.style.alignItems = \"center\";\n // nonResponsiveWrapper.style.width = \"max-content\"\n // if (nonResponsiveWrapper.getAttribute(\"kuikablockstyle\") === \"2\") {\n // nonResponsiveWrapper.style.width = \"100%\";\n // }\n\n // }\n // }\n // }\n\n componentDidMount(): void {\n const isDesignTime = window.kuika?.isDesignTime;\n // const node = ReactDOM.findDOMNode(this) as Element;\n // if (this.props?.style?.alignItems !== \"flex-start\" && node && node.children && node.children.length > 0) {\n // let element = node.children[0];\n // if (!isDesignTime)\n // element = node;\n // KMainFunctions.handleAlignments(element, this.getStyle());\n // const tabEl: HTMLElement = element?.querySelector(\"[kuikacomponentname='Tab']\");\n // if (tabEl && tabEl.style) {\n // tabEl.style.display = \"contents\";\n // }\n // }\n }\n\n getStyle = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n if (style.alignItems == \"center\") {\n style.alignSelf = \"center\";\n }\n if (style.alignItems == \"flex-start\") {\n style.alignSelf = \"flex-start\";\n }\n if (style.alignItems == \"flex-end\") {\n style.alignSelf = \"flex-end\";\n }\n // if (style.textAlign == \"-webkit-right\") {\n // delete style.textAlign;\n // style.display = \"inline-flex\";\n // style.justifyContent = \"right\";\n // style.width = \"100%\";\n // }\n // if (style.textAlign == \"-webkit-center\") {\n // delete style.textAlign;\n // style.display = \"inline-flex\";\n // style.justifyContent = \"center\";\n // style.width = \"100%\";\n // }\n\n return style;\n };\n\n render(): ReactNode {\n return (\n <>\n \n \n );\n }\n}\n\nconst col = withCommonEvents(Col);\nexport { col as Col };\n","import { Row as AntdRow } from \"antd/es\";\nimport { Gutter } from \"antd/es/grid/row\";\nimport { RowProps as AndRowProps } from \"antd/es/row\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface RowProps extends AndRowProps {\n horizontalGutter?: number;\n verticalGutter?: number;\n}\n\ninterface RowState {}\n\nclass Row extends PureComponent {\n constructor(props: RowProps) {\n super(props);\n this.state = {};\n }\n\n getStyle = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n style.alignItems = style.alignItems ?? \"inherit\";\n style.display = \"flex\";\n return style;\n };\n\n getGutter = (): any => {\n if (this.props.horizontalGutter || this.props.verticalGutter) {\n let horizontalGutter: Gutter = 0;\n let verticalGutter: Gutter = 0;\n if (this.props.horizontalGutter) {\n horizontalGutter = _.clone(this.props.horizontalGutter);\n }\n if (this.props.verticalGutter) {\n verticalGutter = _.clone(this.props.verticalGutter);\n }\n return [horizontalGutter, verticalGutter];\n }\n return this.props.gutter;\n };\n\n render(): ReactNode {\n return (\n <>\n \n \n );\n }\n}\n\nconst row = withCommonEvents(Row);\nexport { row as Row };\n","import { Menu } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface MenuItemProps {}\n\ninterface MenuItemState {}\n\nclass MenuItem extends PureComponent {\n constructor(props: MenuItemProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.icon) {\n props.icon = {props.icon};\n }\n if (props.label) {\n props.children = props.label;\n }\n if (props.link) {\n props.children = (\n \n {props.label}\n \n );\n delete props.label;\n }\n props.key = props.key ?? props.id ?? Guid.create().toString();\n return props;\n };\n\n render(): ReactNode {\n return {this.getProps().children};\n }\n}\n\nconst menuItem = withCommonEvents(MenuItem);\nexport { menuItem as MenuItem };\n","import { Layout, Menu } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\nconst { Sider } = Layout;\ndeclare let window: any;\ninterface SiderMenuProps {\n id: string;\n selectedKey?: any;\n onChange?: (value: any) => any;\n mode?: \"inline\" | \"vertical\" | \"horizontal\";\n theme?: \"light\" | \"dark\";\n options?: any[];\n primaryColor?: string;\n collapsedButtonColor?: string;\n className?: string;\n style?: any;\n collapsed?: boolean;\n value?: any;\n dataidfield?: string;\n datatitlefield?: string;\n dataparentidfield?: string;\n datalinkfield?: string;\n dataiconfield?: string;\n dataorderfield?: string;\n databackgroundcolorfield?: string;\n collapsible: boolean;\n menuMap: any;\n hamburgerControl?: boolean;\n}\n\ninterface SiderMenuState {\n collapsed: boolean;\n selectedKey: string;\n uniqueKey: Guid;\n openKeys: string[];\n}\n\nclass SiderMenu extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n private dataIdField?: string;\n\n private dataTitleField?: string;\n\n private dataParentIdField?: string;\n\n private dataLinkField?: string;\n\n private dataIconField?: string;\n\n private dataOrderField?: string;\n\n private dataBackgroundColorField?: string;\n\n constructor(props: SiderMenuProps) {\n super(props);\n this.state = {\n collapsed: props.value?.collapsed ?? false,\n selectedKey: props.value?.selectedKey ?? \"\",\n uniqueKey: Guid.create(),\n openKeys: JSON.parse(localStorage.getItem(`openKeys_${props.id}`) || \"[]\")\n };\n this.initializeFieldKeys();\n }\n\n initializeFieldKeys = (): void => {\n if (!window.kuika?.isDesignTime) {\n this.dataIdField = this.props.dataidfield?.toLowerCase();\n this.dataTitleField = this.props.datatitlefield?.toLowerCase();\n this.dataParentIdField = this.props.dataparentidfield?.toLowerCase();\n this.dataLinkField = this.props.datalinkfield?.toLowerCase();\n this.dataIconField = this.props.dataiconfield?.toLowerCase();\n this.dataOrderField = this.props.dataorderfield?.toLowerCase();\n this.dataBackgroundColorField = this.props.databackgroundcolorfield?.toLowerCase();\n }\n };\n\n handleComponentStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const menuTitleColor = this.props.primaryColor;\n const parentNode = node.parentNode as Element;\n\n let grandParentNode: Element = null;\n let triggerCollapsePanel: any = null;\n if (parentNode) {\n (parentNode as any).style.display = \"inline-block\";\n grandParentNode = parentNode.parentNode as Element;\n if (\n window.kuika?.isDesignTime &&\n grandParentNode &&\n grandParentNode.children &&\n grandParentNode.children.length > 1\n ) {\n triggerCollapsePanel = grandParentNode.children[1];\n } else if (\n grandParentNode &&\n grandParentNode.children &&\n grandParentNode.children.length > 0 &&\n grandParentNode.children[0].children &&\n grandParentNode.children[0].children.length > 0 &&\n grandParentNode.children[0].children[0].children &&\n grandParentNode.children[0].children[0].children.length > 1\n ) {\n triggerCollapsePanel = grandParentNode.children[0].children[0].children[1];\n }\n if (triggerCollapsePanel && triggerCollapsePanel.style) {\n const svg = triggerCollapsePanel.children[0]?.children[0] as HTMLElement;\n if (svg && svg.style) {\n svg.style.fill = \"#fff\";\n }\n }\n }\n };\n\n componentDidMount() {\n this.setDynamicStyle();\n this.handleComponentStyling();\n\n const storedLastVisitedMenuId = localStorage.getItem(`lastVisitedMenuId_${this.props.id}`);\n const storedIsMenuCollapsed = localStorage.getItem(`isMenuCollapsed_${this.props.id}`);\n\n if (!this.props.selectedKey && !this.state.selectedKey && storedLastVisitedMenuId) {\n this.handleSelectMenuItem({ key: storedLastVisitedMenuId });\n }\n\n if (this.props.value?.collapsed !== true) {\n if (storedIsMenuCollapsed === \"true\") {\n this.handleCollapseChange(true);\n } else {\n this.handleCollapseChange(false);\n }\n } else {\n this.handleCollapseChange(true);\n }\n\n const handleResize = () => {\n const isMobileOrTablet = window.innerWidth <= 768;\n if (!window.kuika?.isDesignTime && this.props.collapsible && isMobileOrTablet) {\n this.handleCollapseChange(true);\n }\n };\n\n window.addEventListener(\"resize\", handleResize);\n\n return () => {\n window.removeEventListener(\"resize\", handleResize);\n };\n }\n\n componentDidUpdate() {\n this.handleComponentStyling();\n this.setDynamicStyle();\n }\n\n static getDerivedStateFromProps(nextProps: SiderMenuProps) {\n if (window.kuika?.isDesignTime) {\n return {\n collapsed: nextProps.collapsed !== undefined ? nextProps.collapsed : false,\n selectedKey: nextProps.selectedKey ?? \"\",\n openKeys: JSON.parse(localStorage.getItem(`openKeys_${nextProps.id}`) || \"[]\")\n } as SiderMenuState;\n }\n const result = {} as SiderMenuState;\n result.collapsed = nextProps.value?.collapsed;\n result.selectedKey = nextProps.value?.selectedKey;\n return result;\n }\n\n getClassName = () => {\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} slider-menu_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const menuTitleColor = this.props.primaryColor;\n result += `.${className.trim()} .ant-menu-title-content {\n text-align: left;\n }`;\n result += `.${className.trim()} {\n border-inline-end: 0 !important;\n }`;\n result += `.${className.trim()} .ant-menu-submenu-horizontal > .ant-menu-submenu-title{\n min-height: 48px !important;\n }`;\n if (menuTitleColor) {\n result += `.${className.trim()} > .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-title-content, .${className.trim()} > .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-item-icon, .${className.trim()} > .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: ${menuTitleColor} !important;\n transition: none !important;\n }`;\n result += `.${className.trim()} .ant-menu-item-selected {\n background: ${this.setOpacity(menuTitleColor, 0.2)};\n }`;\n\n result += `.${className.trim()} > .ant-menu-item-selected > .ant-menu-inline-collapsed-noicon {\n color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()} .ant-menu-item-selected {\n color: ${menuTitleColor} !important;\n }`;\n result += `.${className.trim()} .ant-menu-submenu-selected .ant-menu-inline-collapsed-noicon {\n color: ${menuTitleColor} !important;\n }`;\n result += `.ant-menu-submenu-popup .ant-menu-item-selected {\n background: ${this.setOpacity(menuTitleColor, 0.2)};\n }`;\n result += `.ant-menu-submenu-popup .ant-menu-item-selected .ant-menu-title-content {\n color: ${menuTitleColor} !important;\n }`;\n result += `.${className.trim()} .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-item-icon, .${className.trim()} .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-title-content, .${className.trim()} .ant-menu-submenu-selected > .ant-menu-submenu-title > .ant-menu-submenu-arrow {\n color: ${menuTitleColor} !important;\n }`;\n result += `.${className.trim()} {\n width: auto !important;\n }`;\n if (this.props.style?.height || this.props.style?.maxHeight || this.props.style?.minHeight) {\n result += `.${className.trim()} {\n overflow-y: auto !important;\n }`;\n }\n result += `.${className.trim()}::before {\n content: none !important;\n }`;\n\n if (this.props.mode === \"horizontal\")\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-item-selected::after {\n border-bottom-color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-item:hover::after {\n border-bottom-color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-submenu-selected::after {\n border-bottom-color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-submenu:hover::after {\n border-bottom-color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-submenu-active::after {\n border-bottom-color: ${menuTitleColor} !important;\n }`;\n\n result += `.${className.trim()}.ant-menu-horizontal .ant-menu-submenu-selected > .ant-menu-submenu-title {\n color: ${menuTitleColor} !important;\n }`;\n }\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey: string = this.state.uniqueKey.toString();\n const isDesignTime = window.kuika?.isDesignTime;\n if (!uniquekey) {\n return;\n }\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n\n const node = ReactDOM.findDOMNode(this) as any;\n const siders = node.querySelectorAll(\".ant-layout-sider-children\");\n if (siders && siders.length > 0 && isDesignTime) {\n const sider = siders[0] as HTMLElement;\n const siderHeight = sider.offsetHeight + 29;\n (sider.children[1] as any).style.top = `${siderHeight}px`;\n const siderTrigger = node.querySelector(\".ant-layout-sider-trigger\") as HTMLElement;\n if (siderTrigger) {\n siderTrigger.style.display = \"none\";\n }\n if (\n sider &&\n sider.style &&\n (this.props.style?.height || this.props.style?.maxHeight || this.props.style?.minHeight)\n ) {\n sider.style.overflowY = \"auto\";\n }\n }\n if (this.props.mode === \"horizontal\") {\n const siders = node.querySelectorAll(\".ant-layout-sider\");\n if (siders && siders.length > 0) {\n siders.forEach((s: any) => {\n s.style.width = \"100%\";\n s.style.maxWidth = \"100%\";\n s.style.minWidth = \"100%\";\n });\n }\n node.style.width = \"100%\";\n node.style.maxWidth = \"100%\";\n node.style.minWidth = \"100%\";\n const inlineSubmenus = node.querySelectorAll(\".ant-menu-submenu-inline\");\n if (inlineSubmenus && inlineSubmenus.length > 0) {\n inlineSubmenus.forEach((s: any) => {\n s.style.display = \"inline-block\";\n if (s.children && s.children.length > 0) {\n }\n });\n }\n if (node.parentNode && node.parentNode.style) {\n node.parentNode.style.width = \"100%\";\n node.parentNode.style.display = \"block\";\n }\n const sider = node.querySelector(\".ant-layout-sider\");\n if (sider && sider.style) {\n sider.style.display = \"block\";\n sider.style.width = \"100%\";\n }\n const siderChildren = node.querySelector(\".ant-layout-sider-children\");\n if (siderChildren && siderChildren.style) {\n siderChildren.style.width = \"100%\";\n siderChildren.style.display = \"block\";\n }\n\n const antMenu = node.querySelector(\".ant-menu\");\n if (antMenu) {\n antMenu.style.display = \"flex\";\n if (this.props.style?.height) {\n antMenu.style.height = this.props.style?.height;\n }\n if (this.props.style?.maxHeight) {\n antMenu.style.maxHeight = this.props.style?.maxHeight;\n }\n if (this.props.style?.minHeight) {\n antMenu.style.minHeight = this.props.style?.minHeight;\n }\n }\n const antMenuItems = node.querySelectorAll(\".ant-menu-item\");\n if (antMenuItems && antMenuItems.length > 0) {\n antMenuItems.forEach((item: any) => {\n item.style.minHeight = \"48px\";\n });\n }\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (!props.mode || props.mode === \"vertical\") {\n props.mode = \"inline\";\n }\n if (props.mode === \"horizontal\" && window.kuika?.isDesignTime) {\n props.overflowedIndicator = false;\n props.disabledOverflow = true;\n props.style.pointerEvents = \"none\";\n }\n return props;\n };\n\n setOpacity = (color: string, opacity: number | any) => {\n if (!color) return color;\n color = color.replace(/[\\srgba()]/g, \"\");\n const rgbaValues = color.split(\",\");\n opacity = parseFloat(opacity);\n opacity = Math.min(Math.max(opacity, 0), 1);\n rgbaValues[3] = opacity.toString();\n const updatedColor = `rgba(${rgbaValues.join(\",\")})`;\n\n return updatedColor;\n };\n\n isColorCloserToWhiteOrBlack = (rgbaColor: string) => {\n const rgbaRegex: RegExp = /rgba?\\(\\s*(\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)/;\n const match: RegExpMatchArray = rgbaColor.match(rgbaRegex);\n\n if (!match) {\n return true;\n }\n\n const [, r, g, b] = match.map(Number);\n\n const luminance: number = 0.2126 * r + 0.7152 * g + 0.0722 * b;\n\n return luminance > 128;\n };\n\n handleSelectMenuItem = ({ key }) => {\n if (this.props.onChange) {\n this.props.onChange({\n selectedKey: key,\n collapsed: this.state.collapsed\n });\n }\n localStorage.setItem(`lastVisitedMenuId_${this.props.id}`, key);\n };\n\n handleOpenChange = (openKeys: string[]) => {\n this.setState({ openKeys });\n localStorage.setItem(`openKeys_${this.props.id}`, JSON.stringify(openKeys));\n };\n\n handleCollapseChange = (collapsed: boolean) => {\n if (this.props.onChange) {\n this.props.onChange({\n selectedKey: this.state.selectedKey,\n collapsed\n });\n }\n localStorage.setItem(`isMenuCollapsed_${this.props.id}`, collapsed.toString());\n };\n\n setSelectedKey = (key: string) => {\n this.handleSelectMenuItem({ key });\n };\n\n getSelectedKey = () => {\n let screenName;\n if (window.location.hash) {\n screenName = window.location.hash.split(\"/\").pop();\n } else {\n screenName = window.location.pathname?.split(\"/\").pop();\n }\n const items = this.getItems();\n if (items && items.length > 0) {\n const selectedScreen = items.find(\n (item) =>\n item.url?.toLowerCase() === screenName?.toLowerCase() ||\n item.url?.toLowerCase() === window.location.href?.toLowerCase()\n );\n if (selectedScreen) {\n return selectedScreen.key;\n }\n } else if (this.props.menuMap && this.props.menuMap.length > 0) {\n const params = new URLSearchParams(window.location.search);\n const paramValues = Object.fromEntries(params.entries());\n\n const selectedKey = this.props.menuMap?.find((item) => {\n const screenNameMatches = item.screenName?.toLowerCase() === screenName?.toLowerCase();\n\n const paramsMatch =\n item.params &&\n Object.entries(item.params).every(\n ([key, value]) => paramValues[key]?.toString()?.toLowerCase() === value?.toString()?.toLowerCase()\n );\n\n return screenNameMatches && (!item.params || paramsMatch);\n });\n\n if (selectedKey) {\n return selectedKey.key;\n }\n }\n\n if (this.props.selectedKey) {\n return this.props.selectedKey;\n }\n if (this.state.selectedKey) {\n return this.state.selectedKey;\n }\n return localStorage.getItem(`lastVisitedMenuId_${this.props.id}`);\n };\n\n getParentOfSelectedKey = () => {\n let parentKey = \"\";\n const key = this.getSelectedKey();\n const items = this.getProps().options;\n if (items) {\n items.forEach((item) => {\n if (item.children) {\n item.children.forEach((child) => {\n if (child.key === key) {\n parentKey = item.key;\n }\n });\n }\n });\n }\n if (parentKey) {\n return parentKey;\n }\n return key;\n };\n\n getItems = () => {\n if (this.props.options && this.props.options?.length > 0) {\n return this.convertOptionsToItemData(this.props.options);\n }\n if ((!this.props.options || this.props.options?.length === 0) && this.props.dataidfield) {\n return [];\n }\n };\n\n lowercaseKeys(obj) {\n return Object.keys(obj).reduce((accumulator, key) => {\n accumulator[key.toLowerCase()] = obj[key];\n return accumulator;\n }, {});\n }\n\n convertOptionsToItemData = (options: any[]): any[] => {\n const itemMap = {};\n\n options?.forEach((option) => {\n let optionLowercase = this.lowercaseKeys(option);\n const backgroundColor = optionLowercase[this.dataBackgroundColorField];\n\n itemMap[optionLowercase[this.dataIdField]] = {\n key: optionLowercase[this.dataIdField],\n label: optionLowercase[this.dataLinkField] ? (\n {optionLowercase[this.dataTitleField]}\n ) : (\n optionLowercase[this.dataTitleField]\n ),\n icon: {optionLowercase[this.dataIconField]},\n order: optionLowercase[this.dataOrderField],\n url: optionLowercase[this.dataLinkField],\n style: backgroundColor ? { backgroundColor } : {}\n };\n });\n\n this.getParentChildMap(options, itemMap);\n const itemArray = Object.values(itemMap);\n\n itemArray.sort((a: any, b: any) => a.order - b.order);\n return itemArray ?? [];\n };\n\n getParentChildMap = (options: any[], itemMap) => {\n const itemsToDelete = [];\n\n options.forEach((item) => {\n let optionLowercase = this.lowercaseKeys(item);\n if (optionLowercase[this.dataParentIdField] && itemMap[optionLowercase[this.dataParentIdField]]) {\n const parentId = optionLowercase[this.dataParentIdField];\n const childId = optionLowercase[this.dataIdField];\n\n if (parentId !== childId) {\n if (!itemMap[parentId].children || itemMap[parentId].children.length === 0) {\n itemMap[parentId].children = [];\n }\n\n const childItem = itemMap[childId];\n if (childItem) {\n childItem.order = optionLowercase[this.dataOrderField];\n itemMap[parentId].children.push(childItem);\n\n itemsToDelete.push(childId);\n }\n }\n }\n });\n\n itemsToDelete.forEach((childId) => {\n delete itemMap[childId];\n });\n\n const sortChildren = (parent) => {\n if (parent.children) {\n parent.children.sort((a, b) => a.order - b.order);\n parent.children.forEach((child) => {\n sortChildren(child);\n });\n }\n };\n\n Object.values(itemMap).forEach((parent) => {\n sortChildren(parent);\n });\n\n return itemMap;\n };\n\n getSiderTriggerStyles = () => {\n const menuTitleColor = this.props.collapsedButtonColor;\n const triggerStyles: any = {};\n\n triggerStyles.backgroundColor = menuTitleColor;\n triggerStyles.height = \"36px\";\n triggerStyles.display = \"flex\";\n triggerStyles.alignItems = \"center\";\n triggerStyles.justifyContent = \"center\";\n triggerStyles.cursor = \"pointer\";\n return triggerStyles;\n };\n\n renderMenu = () => {\n return (\n \n );\n };\n\n renderHamburgerIcon = () => {\n const { collapsed } = this.state;\n const { hamburgerControl } = this.props;\n\n if (!hamburgerControl) {\n return null;\n }\n\n const adjustLayout = (element: HTMLElement): string | null => {\n while (element) {\n if (element.id?.endsWith(\"_layout_left\")) {\n return \"left\";\n }\n if (element.id?.endsWith(\"_layout_right\")) {\n return \"right\";\n }\n element = element.parentElement as HTMLElement;\n }\n return null;\n };\n\n const parentNode = document.getElementById(this.props.id);\n const layoutPosition = parentNode ? adjustLayout(parentNode) : undefined;\n\n const headerElement = document.getElementById(\n Array.from(document.querySelectorAll(\"[id]\")).find((el) => el.id.endsWith(\"_layout_header\"))?.id\n );\n let headerHeight = 0;\n if (headerElement) {\n headerHeight += headerElement.offsetHeight;\n }\n\n let menuWidth = !collapsed ? (this.props.style?.width ? parseInt(this.props.style?.width) - 18 : 182) : 0;\n\n if (layoutPosition === \"right\" && collapsed) {\n menuWidth += 16;\n }\n\n const iconStyle: React.CSSProperties = {\n position: layoutPosition ? \"absolute\" : \"unset\",\n top: `0px`,\n [layoutPosition]: `${menuWidth}px`,\n cursor: \"pointer\",\n zIndex: 9999,\n transition: `${layoutPosition} 0.3s ease`,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"36px\",\n height: \"36px\"\n };\n\n return (\n
    this.handleCollapseChange(!collapsed)}>\n {collapsed ? (\n \n \n \n \n ) : layoutPosition === \"right\" ? (\n \n \n \n \n ) : (\n \n \n \n \n )}\n
    \n );\n };\n\n render(): ReactNode {\n const { hamburgerControl } = this.props;\n const { collapsed } = this.state;\n const isDesignTime = window.kuika?.isDesignTime;\n\n return (\n <>\n {hamburgerControl && !isDesignTime && this.renderHamburgerIcon()}\n {this.props.mode !== \"horizontal\" ? (\n this.handleCollapseChange(e)}\n trigger={null}\n width={this.props.style?.width ?? 200}\n style={{ display: hamburgerControl && collapsed ? \"none\" : \"block\" }}\n >\n {this.renderMenu()}\n {this.props.collapsible && (\n this.handleCollapseChange(!collapsed)}\n >\n {this.props.value?.collapsed || this.props.collapsed ? (\n \n \n \n ) : (\n \n \n \n )}\n \n )}\n \n ) : (\n this.renderMenu()\n )}\n \n );\n }\n}\n\nconst siderMenu = withCommonEvents(SiderMenu);\nexport { siderMenu as SiderMenu };\n","import { Menu } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\n\ninterface SubMenuProps {\n children?: ReactNode;\n}\n\ninterface SubMenuState {}\n\nclass SubMenu extends PureComponent {\n constructor(props: SubMenuProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.icon) {\n props.icon = {props.icon};\n }\n if (props.label) {\n props.title = props.label;\n }\n if (props.link) {\n props.children = (\n \n {props.label}\n \n );\n }\n props.key = props.key ?? props.id ?? Guid.create().toString();\n delete props.children;\n return props;\n };\n\n render(): ReactNode {\n return {this.props.children};\n }\n}\n\nconst subMenu = withCommonEvents(SubMenu);\nexport { subMenu as SubMenu };\n","import { Space } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport DynamicStyleComponent from \"../../dynamic-styled-component-wrapper\";\nimport { CommonProps } from \"../common-props\";\nimport \"./horizontal-stack.scss\";\n\ninterface HorizontalStackProps {\n children?: ReactNode;\n style: React.CSSProperties;\n size?: number;\n mode?: \"button-group\" | \"default\";\n align?: \"left\" | \"center\" | \"right\";\n}\n\ninterface HorizontalStackState {\n uniqueKey: Guid;\n}\n\ndeclare let window: any;\n\nclass HorizontalStack extends PureComponent {\n constructor(props: HorizontalStackProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n getProps = () => {\n const props: any = { ...this.props };\n if (props.children) {\n delete props.children;\n }\n if (props.style) {\n delete props.style;\n }\n if (props.size < 0) props.size = 0;\n return props;\n };\n\n getStyleProp = () => {\n let style: React.CSSProperties = {};\n\n if (this.props.style) {\n style = { ...this.props.style };\n }\n style.height = \"100%\";\n style.width = this.props.children ? \"max-content\" : \"100%\";\n\n if (!style.alignItems) {\n style.alignItems = \"unset\";\n }\n\n return style;\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n let result = \"\";\n\n const { size } = this.props;\n\n if (size && size < 0) {\n result += `.ant-space-item:not(:first-of-type) {\n margin-left: ${size}px !important;\n }`;\n }\n\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n\n if (this.props.className) {\n result = this.props.className;\n }\n\n if (!this.state.uniqueKey) {\n return result;\n }\n\n result = `${result} kspace_${this.state.uniqueKey.toString().substring(0, 8)}`;\n\n return result;\n };\n\n getJustifyContent = () => {\n if (this.props.align === \"left\") {\n return \"flex-start\";\n }\n\n if (this.props.align === \"center\") {\n return \"center\";\n }\n\n if (this.props.align === \"right\") {\n return \"flex-end\";\n }\n\n return \"flex-start\";\n };\n\n getContainerStyle = (): React.CSSProperties => {\n if (this.props.mode === \"button-group\") {\n return {\n overflowX: \"auto\",\n overflowY: \"hidden\",\n display: \"flex\",\n flexDirection: \"row\",\n justifyContent: this.getJustifyContent()\n };\n }\n\n return {\n overflowX: \"auto\",\n overflowY: \"hidden\"\n };\n };\n\n render(): ReactNode {\n const dynamicStyles = this.getDynamicCss();\n\n return (\n \n
    \n \n {React.Children.map(this.props.children, (child: any) => {\n if (child?.props?.visibility === \"hidden\" || child?.props?.children?.props?.visibility === \"hidden\") {\n return null;\n }\n return <>{child};\n })}\n \n
    \n
    \n );\n }\n}\n\nconst horizontalStack = withCommonEvents(HorizontalStack);\nexport { horizontalStack as HorizontalStack };\n","import { Space } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\n\ninterface VerticalStackProps {\n children?: ReactNode;\n style: any;\n size?: number | string;\n}\n\ninterface VerticalStackState {\n uniqueKey: Guid;\n}\n\ndeclare let window: Window & { kuika: any };\n\nclass VerticalStack extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: VerticalStackProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount() {\n this.setDynamicStyle();\n }\n\n componentDidUpdate() {\n this.setDynamicStyle();\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props.children) {\n delete props.children;\n }\n if (props.style) {\n delete props.style;\n }\n if (props.size < 0) props.size = 0;\n return props;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n style.height = \"auto\";\n style.width = \"100%\";\n return style;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { size } = this.props;\n\n if ((size && typeof size === \"number\" && size > 0) || (typeof size === \"string\" && parseInt(size) > 0)) {\n result += `.${className.trim()}>.ant-space-item:not(:first-of-type) {\n margin-top: ${size}px !important;\n }`;\n }\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kspace_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n render(): ReactNode {\n return (\n <>\n \n {React.Children.map(this.props.children, (child: any) => {\n if (child?.props?.visibility === \"hidden\" || child?.props?.children?.props?.visibility === \"hidden\") {\n return null;\n }\n return <>{child};\n })}\n \n \n );\n }\n}\n\nconst verticalStack = withCommonEvents(VerticalStack);\nexport { verticalStack as VerticalStack };\n","import { Elements, ElementsConsumer, PaymentElement } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js/pure\";\nimport { PureComponent } from \"react\";\nimport { IStripePayment } from \"../../../models/dto/stripe-payment\";\nimport { STRIPE_SETTINGS } from \"../../../shared/utilty/constants\";\nimport { CommonProps } from \"../common-props\";\nimport \"./styles.css\";\n\ndeclare let window: any;\n\ninterface StripeWrapperProps {\n stripeAction?: IStripePayment;\n onSuccess?: any;\n onError?: any;\n callback?: any;\n screen?: any;\n futureUse?: any;\n}\n\ninterface StripeWrapperState {\n stripePromise: any;\n isLoaded: any;\n isPaymentAcceptable: boolean;\n}\n\nexport class PaymentElementStripe extends PureComponent {\n constructor(props: StripeWrapperProps) {\n super(props);\n this.state = {\n stripePromise: undefined,\n isLoaded: false,\n isPaymentAcceptable: false\n };\n }\n\n componentDidMount() {\n let loadStripeKey = \"\";\n if (window.kuika?.dashboardState === 1) {\n // Designer\n loadStripeKey =\n \"pk_test_51KQQy1D08MhpLIYNiHJlPjfxplHwO9ytq2nQ3MEvcFjcuL1UTGYAtEDlaAAbwnf1bKxRK4tCiEU8vcVIhw96Z4ei00sq3gLJAv\";\n } else if (STRIPE_SETTINGS.publishKey) {\n loadStripeKey = STRIPE_SETTINGS.publishKey;\n }\n const stripePromise = loadStripe(loadStripeKey);\n this.setState({ stripePromise, isLoaded: true });\n }\n\n confirmPayment = async (\n event: any,\n ctx: any,\n onSuccess?: any,\n onError?: any,\n callback?: any,\n screen?: any,\n paymentIntent?: string\n ) => {\n event.preventDefault();\n const { stripe } = ctx;\n const { elements } = ctx;\n if (this.props.futureUse) {\n await stripe\n .confirmSetup({\n elements,\n redirect: \"if_required\"\n })\n .then((result) => {\n if (!result.error) {\n if (screen) {\n screen.setState(\n {\n SetupIntent: {\n isSuccess: true,\n errorMessage: \"\",\n paymentMethod: result.setupIntent.payment_method,\n seti: result.setupIntent.id\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n } else if (screen) {\n screen.setState(\n {\n SetupIntent: {\n isSuccess: false,\n errorMessage: result.error.message,\n paymentMethod: undefined,\n seti: undefined\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n });\n } else {\n await stripe\n .confirmPayment({\n elements,\n redirect: \"if_required\"\n })\n .then((result) => {\n if (!result.error) {\n if (screen) {\n if (screen) {\n screen.setState(\n {\n OpenStripePaymentDrawer: {\n isSuccess: true,\n errorMessage: \"\",\n paymentIntent: paymentIntent?.substring(0, paymentIntent.indexOf(\"_secret\"))\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n }\n } else if (screen) {\n screen.setState(\n {\n OpenStripePaymentDrawer: {\n isSuccess: false,\n errorMessage: result.error.message,\n paymentIntent: undefined\n }\n },\n () => {\n screen.props.hideStripeDrawer();\n if (callback) {\n callback();\n }\n }\n );\n }\n });\n }\n };\n\n getButtonLabel = () => {\n const language = localStorage.getItem(\"ml\");\n let retValue = \"\";\n\n switch (language) {\n case \"fr_FR\":\n retValue = this.props.futureUse ? \"Enregistrer\" : \"Payer\";\n break;\n\n case \"tr_TR\":\n retValue = this.props.futureUse ? \"Kaydet\" : \"Öde\";\n break;\n case \"en_US\":\n default:\n retValue = this.props.futureUse ? \"Save\" : \"Buy\";\n break;\n }\n return retValue;\n };\n\n renderCard = (ctx) => {\n return (\n <>\n {\n this.setState({ isPaymentAcceptable: e.complete });\n }}\n id=\"payment-element\"\n />\n \n this.confirmPayment(\n e,\n ctx,\n this.props.onSuccess,\n this.props.onError,\n this.props.callback,\n this.props.screen,\n this.props.stripeAction?.clientSecret\n )\n }\n >\n {this.getButtonLabel()}\n \n \n );\n };\n\n render() {\n let clientSecret = this.props.stripeAction?.clientSecret;\n if (window.kuika?.dashboardState === 1) {\n // Designer\n clientSecret = \"pi_3KYAHvD08MhpLIYN0nFFlYYq_secret_pOIjXrIhtqj6REVsgRPvzwHnS\";\n }\n if (this.state.stripePromise && clientSecret && clientSecret !== \"\") {\n const { stripePromise } = this.state;\n return (\n \n {(ctx: any) => this.renderCard(ctx)}\n \n );\n }\n return <>;\n }\n}\n","import { TabsProps as AntdTabsProps } from \"antd/es\";\nimport { Guid } from \"guid-typescript\";\nimport _, { isEmpty } from \"lodash\";\nimport \"rc-tabs/assets/index.css\";\nimport ScrollableInkTabBar from \"rc-tabs/es/ScrollableInkTabBar\";\nimport TabContent from \"rc-tabs/es/TabContent\";\nimport Tabs from \"rc-tabs/es/Tabs\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { DashboardState } from \"../kuika-cl-model-runtimes\";\n\ndeclare let window: any;\ninterface TabProps extends AntdTabsProps {\n activeKey: string;\n defaultActiveKey: string;\n onChange?: (activeKey: string) => any;\n value?: string | number;\n selectedTabColor?: string;\n className?: string;\n children?: any;\n kuikaid?: string;\n}\n\ninterface TabState {\n uniqueKey: Guid;\n designTimeValue: string;\n}\n\nclass Tab extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n shouldPreventOnChangeFunction: boolean = false;\n\n constructor(props: TabProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create(),\n designTimeValue: \"\"\n };\n }\n\n componentDidMount() {\n this.setDynamicStyle();\n\n const children = this.getChildren();\n if (children.length) {\n let activeIndex = 0;\n\n if (window.kuika?.dashboardState === DashboardState.design) {\n const lastActiveTab = window.kuika[`${this.props.kuikaid}_lastActiveTab`];\n if (lastActiveTab) {\n activeIndex = children.findIndex(\n (tabItem) => tabItem.key === lastActiveTab || tabItem.props?.kuikaid === lastActiveTab\n );\n if (activeIndex === -1) activeIndex = 0;\n this.setState({ designTimeValue: children[activeIndex].key });\n } else {\n activeIndex = children.findIndex(\n (tabItem) =>\n tabItem.key === this.state.designTimeValue || tabItem.props?.kuikaid === this.state.designTimeValue\n );\n if (activeIndex === -1) activeIndex = 0;\n this.setState({ designTimeValue: children[activeIndex].key });\n }\n } else if (this.props.value) {\n activeIndex = children.findIndex(\n (tabItem) => tabItem.key === this.props.value || tabItem.props?.kuikaid === this.props.value\n );\n if (activeIndex === -1) activeIndex = 0;\n }\n\n if (children[activeIndex].props?.onActive) {\n children[activeIndex].props.onActive();\n }\n }\n }\n\n componentDidUpdate(prevProps: Readonly, prevState: Readonly, snapshot?: any): void {\n if (window.kuika?.isDesignTime) return;\n\n if (this.props.value !== prevProps.value) {\n if (this.shouldPreventOnChangeFunction) {\n if (this.props.onChange) this.shouldPreventOnChangeFunction = false;\n } else {\n if (this.props.onChange) this.props.onChange(`${this.props.value}`);\n this.handleTabItemOnActive(this.props.value);\n }\n }\n }\n\n handleOnChangeTab = (activeTabKey: any, setState: boolean) => {\n if (window.kuika?.dashboardState === DashboardState.design) {\n this.setState({ designTimeValue: activeTabKey });\n window.kuika ??= {};\n window.kuika[`${this.props.kuikaid}_lastActiveTab`] = activeTabKey;\n return;\n }\n\n if (this.props.onChange) {\n this.shouldPreventOnChangeFunction = true;\n this.props.onChange(activeTabKey);\n }\n\n this.handleTabItemOnActive(activeTabKey);\n };\n\n handleTabItemOnActive = (activeTabKey) => {\n const activeChild = this.props.children?.find(\n (tabItem) => (tabItem.key === activeTabKey || tabItem.props?.kuikaid === activeTabKey) && tabItem.props?.onActive\n );\n if (!activeChild) return;\n\n activeChild.props.onActive();\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n\n const { selectedTabColor, tabPosition } = this.props;\n if (selectedTabColor) {\n result += `.${className.trim()} .rc-tabs-tab-active, .rc-tabs-tab-active:active, .rc-tabs-tab-active:hover, .rc-tabs-tab-active:focus, .rc-tabs-tab:hover, .rc-tabs-tab:focus, .rc-tabs-tab:active {\n color: ${this.props.selectedTabColor} !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab-disabled, .rc-tabs-tab-disabled:hover, .rc-tabs-tab-disabled:active, .rc-tabs-tab-disabled:focus {\n color: #ccc !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab {\n transition: none !important;\n }`;\n result += `.${className.trim()} .rc-tabs-ink-bar {\n background: ${this.props.selectedTabColor};\n }`;\n }\n result += `.${className.trim()} .rc-tabs-tabpane {\n padding: 0px !important;\n overflow: hidden !important;\n }`;\n result += `.${className.trim()} .rc-tabs-tab {\n padding-left: 0 !important;\n padding-right: 0 !important;\n }`;\n\n result += `.${className.trim()} {\n display: block !important;\n align-items: unset !important;\n }`;\n\n result += `.${className.trim()} .rc-tabs-bar {\n margin: 0 0 16px !important;\n border-color: transparent !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left .rc-tabs-tab {\n padding-right: 8px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-tab {\n padding-left: 8px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left .rc-tabs-bar {\n margin-right: 16px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-bar {\n margin-left: 16px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-bottom .rc-tabs-bar {\n margin-top: 16px !important;\n }`;\n\n result += `.${className.trim()} .rc-tabs-tabpane-active {\n padding: 0px !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right .rc-tabs-nav-scroll,\n .${className.trim()}.rc-tabs-left .rc-tabs-nav-scroll {\n height: auto;\n }`;\n\n result += `.${className.trim()}.rc-tabs-left,\n .${className.trim()}.rc-tabs-right {\n display: flex !important;\n }`;\n\n result += `.${className.trim()}.rc-tabs-right {\n flex-direction: row-reverse;\n }`;\n\n result += `.${className.trim()} .rc-tabs-content.rc-tabs-content-animated {\n flex: 1;\n }`;\n\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} ktab_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n let props = {} as any;\n props = _.clone(this.props);\n if (props.activeKey) {\n delete props.activeKey;\n }\n if (props.defaultActiveKey) {\n delete props.defaultActiveKey;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props.children) {\n delete props.children;\n }\n if (props.selectedTabColor) {\n delete props.selectedTabColor;\n }\n\n props.tabBarPosition = props.tabPosition || \"top\";\n delete props.tabPosition;\n\n return props;\n };\n\n getChildren() {\n if (!this.props.children.length) {\n if (this.props.children.props.visibility !== \"hidden\") {\n return [this.props.children];\n }\n return [];\n }\n\n return this.props.children\n .filter((child) => child.props.visibility !== \"hidden\")\n .map((child) => {\n return React.cloneElement(child, { disabled: child.props.editability === \"disabled\" });\n });\n }\n\n getActiveKey = () => {\n if (window.kuika?.dashboardState === DashboardState.design) {\n return this.state.designTimeValue;\n }\n\n let activeKey = this.props.value;\n let keyProp = \"id\";\n if (window.kuika?.dashboardState === 1) {\n activeKey = this.props.activeKey;\n keyProp = \"kuikaid\";\n }\n\n if (\n isEmpty(activeKey) &&\n this.props.children &&\n this.props.children[0] &&\n this.props.children[0].props &&\n this.props.children[0].props[keyProp]\n ) {\n activeKey = this.props.children[0].props[keyProp];\n } else if (isEmpty(activeKey) && this.props.children) {\n activeKey = this.props.children.props[keyProp];\n }\n\n return activeKey;\n };\n\n render(): ReactNode {\n let activeKey = this.getActiveKey();\n return (\n }\n renderTabContent={() => }\n >\n {this.getChildren()}\n \n );\n }\n}\n\nconst tab = withCommonEvents(Tab);\nexport { tab as Tab };\n","import Tabs from \"rc-tabs\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KMainFunctions } from \"../../../shared/utilty/main-functions\";\nimport { CommonProps } from \"../common/common-props\";\n\ndeclare let window: any;\ninterface TabItemProps {\n children?: ReactNode;\n style?: any;\n onActive?: () => void;\n forceRender?: boolean;\n}\n\ninterface TabItemState {}\n\nclass TabItem extends PureComponent {\n constructor(props: TabItemProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n this.setAlignments();\n }\n\n componentDidUpdate(\n prevProps: Readonly,\n prevState: Readonly,\n snapshot?: any\n ): void {\n this.setAlignments();\n }\n\n setAlignments = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n let element = node;\n KMainFunctions.handleAlignments(element, this.props.style);\n };\n\n getProps = () => {\n if (!window.kuika.isDesignTime) {\n return { ...this.props, forceRender: true };\n }\n return this.props;\n };\n\n render(): ReactNode {\n return {this.props.children} ;\n }\n}\n\nconst tabItem = withCommonEvents(TabItem);\nexport { tabItem as TabItem };\n","import { ColumnType } from \"antd/es/table\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport withCommonEvents from \"../../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../../common/common-props\";\n\nexport interface TableDataProps extends ColumnType {\n rowData?: any;\n children?: React.ReactNode;\n isEditableColumn?: boolean;\n isEditMode?: boolean;\n visibilityCondition?: (rowData: object) => boolean;\n editabilityCondition?: (rowData: object) => boolean;\n}\n\ndeclare let window: any;\ninterface KTableDataState {}\n\nclass TableData extends PureComponent {\n constructor(props: TableDataProps & P & CommonProps) {\n super(props);\n }\n\n static dataFieldKey: RegExp = /\\[datafield:((?:(?!\\[datafield:).)*)\\]/;\n\n static oldValue: RegExp = /\\[datafield:((?:(?!\\[datafield:).)*)\\]/g;\n\n static toCamelCase = (str: string): string => {\n return str.replace(/^([A-Z])|[\\s-](\\w)/g, (match, p1, p2) => {\n if (p2) {\n return p2.toUpperCase();\n }\n\n return p1.toLowerCase();\n });\n };\n\n static getValueFromPath = (data: object, path: string, index: number) => {\n // Example path: \"Users[first].Name\n const fields: string[] = path\n .split(\".\")\n .filter((field: string, index: number, array: string[]) => {\n const theFieldIndexContaingSelected = array.findIndex((x) => x.includes(\"[selected]\"));\n\n if (theFieldIndexContaingSelected > -1) {\n return index > theFieldIndexContaingSelected;\n }\n\n return true;\n })\n .map((x) => TableData.toCamelCase(x));\n\n const value = fields.reduce((prev: any, curr: string) => {\n if (!prev) return \"\";\n let result = null;\n\n if (curr.endsWith(\"[first]\")) {\n const field: string = curr.replace(\"[first]\", \"\");\n result = prev?.[field]?.at?.(0);\n } else if (curr.endsWith(\"[last]\")) {\n const field: string = curr.replace(\"[last]\", \"\");\n result = prev?.[field]?.at?.(-1);\n } else if (curr.endsWith(\"[selected]\")) {\n const field: string = curr.replace(\"[selected]\", \"\");\n result = prev?.[field]?.at?.(index);\n } else {\n const field: string = curr;\n result = prev?.[field];\n }\n\n return result;\n }, data);\n\n return value;\n };\n\n static getIsDataRepeater = (child: any): boolean => {\n if (!child) return false;\n\n if (child?.props?.dataSource && child.props.dataSource?.length > 0) {\n return true;\n }\n\n return false;\n };\n\n static setDataFieldValues = (\n children: any,\n rowData?: any,\n rowIndex?: number,\n _visibilityCondition?: (rowData: object) => boolean,\n _editabilityCondition?: (rowData: object) => boolean\n ): React.ReactNode[] => {\n if (!children) return [];\n\n return React.Children.map(children, (child, childIndex) => {\n const props: Record = {};\n let manipulatedChildren: React.ReactNode[] = [];\n\n if (child?.props) {\n const visibilityCondition = child.props?.visibilityCondition || _visibilityCondition;\n\n if (visibilityCondition) {\n if (child?.props?.visibilityByAuthorization === \"hidden\") {\n props.visibility = \"hidden\";\n } else {\n props.visibility = visibilityCondition(rowData) === true ? \"visible\" : \"hidden\";\n }\n }\n\n const editabilityCondition = child.props?.editabilityCondition || _editabilityCondition;\n\n if (editabilityCondition) {\n if (child?.props?.editabilityByAuthorization === \"disabled\") {\n props.editability = \"disabled\";\n } else {\n props.editability = editabilityCondition(rowData) === true ? \"enabled\" : \"disabled\";\n }\n }\n\n Object?.keys(child.props)?.forEach((key) => {\n if (typeof child.props[key] === \"string\") {\n if (child.props[key]?.toString().indexOf(\"datafield:\") > -1) {\n const matchResult = child.props[key]?.toString().match(TableData.dataFieldKey);\n\n if (rowData && matchResult && matchResult?.length > 0) {\n props[`${key}Original`] = child.props[key];\n\n const dataField = matchResult[1];\n let newValue = this.getValueFromPath(rowData, dataField, rowIndex) ?? \"\";\n\n if (Array.isArray(newValue) || _.isObject(newValue)) {\n props[key] = newValue;\n } else {\n props[key] = child.props[key]?.toString().replace(TableData.oldValue, newValue);\n }\n\n if (\n !window ||\n !window.kuika ||\n (window.kuika?.dashboardState !== 1 && window.kuika?.dashboardState !== 17)\n ) {\n if ((key === \"dataSource\" && props[key] == \"\") || props[key] == \"null\" || props[key] == \"undefined\") {\n props[key] = [];\n } else if (props[key] == \"\" || props[key] == \"null\" || props[key] == \"undefined\") {\n props[key] = \" \";\n }\n }\n }\n }\n\n if (key === \"children\") {\n manipulatedChildren.push(props.children);\n }\n } else if (key === \"children\") {\n if (TableData.getIsDataRepeater(child)) {\n return;\n }\n\n manipulatedChildren = TableData.setDataFieldValues(child.props.children, rowData, rowIndex);\n }\n\n if (!props[key]) {\n props[key] = child.props[key];\n }\n });\n }\n\n props.rowIndex = rowIndex;\n\n if (manipulatedChildren?.length > 0) {\n return React.cloneElement(child, props, manipulatedChildren);\n }\n\n return React.cloneElement(child, props, child.props.children);\n });\n };\n\n render = () => {\n if (this.props.visibility === \"hidden\") return <>;\n return TableData.setDataFieldValues(\n this.props.children,\n this.props.rowData,\n this.props.rowIndex,\n this.props.visibilityCondition,\n this.props.editabilityCondition\n );\n };\n}\n\nconst tableData = withCommonEvents(TableData);\nexport { tableData as TableData };\n","import { FooterOptions } from \"../../base-table\";\nimport { TableData, TableDataProps } from \"../../data/table-data\";\n\nexport interface TableColumnProps extends TableDataProps {\n style?: any;\n calculatedCellBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedCellFontColor?: (rowIndex?: number, rowData?: any) => string;\n onlyRowHoverVisible?: boolean;\n specialSortingFormat?: string;\n isEditableColumn?: boolean;\n isEditMode?: boolean;\n width?: number;\n hideFiltering?: boolean;\n hideSorting?: boolean;\n hideSearch?: boolean;\n defaultDataField?: string;\n footerOptions?: FooterOptions;\n footerFormatter?: string;\n}\n\ninterface TableColumnState {}\n\nexport class TableColumn extends TableData {\n constructor(props: TableColumnProps) {\n super(props);\n this.state = {};\n }\n}\n","import { CheckOutlined, CloseOutlined } from \"@ant-design/icons\";\nimport { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport \"./table.scss\";\n\ndeclare let window: any;\n\nexport interface TableRowProps {\n rowData?: any;\n rowIndex?: number;\n style?: any;\n hoverFontColor?: string;\n hoverBgColor?: string;\n tableClassName?: Guid;\n dynamicBackGroundColor?: string;\n calculatedRowBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedRowFontColor?: (rowIndex?: number, rowData?: any) => string;\n onClick?: (e: any, rowIndex: number, rowData: any) => void;\n rowComponent?: any;\n showCursorPointer?: boolean;\n editMode?: boolean;\n children?: any;\n showTableHeader?: boolean;\n transformedOnMobileResolution?: boolean;\n selectedBgColor?: string;\n isSelected?: boolean;\n isInsertRow?: boolean;\n handleAddRow?: () => void;\n handleCancelEditing?: () => void;\n}\n\nexport interface TableRowState {\n mouseOver: boolean;\n uniqueKey?: Guid;\n editModeEnabled?: boolean;\n expanded?: boolean;\n isMobileResolution?: boolean;\n}\n\nexport class TableRow extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: TableRowProps) {\n super(props as TableRowProps & P);\n this.state = {\n mouseOver: false,\n uniqueKey: Guid.create(),\n editModeEnabled: false,\n expanded: false,\n isMobileResolution: true\n } as TableRowState & S;\n\n this.handleResize = _.debounce(this.handleResize, 1000).bind(this);\n\n window.addEventListener(\"resize\", this.handleResize);\n }\n\n private memoizedScreenWidth = 0;\n\n componentDidMount() {\n this.handleResize();\n }\n\n componentWillUnmount() {\n window.removeEventListener(\"resize\", this.handleResize);\n }\n\n handleResize = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n // if (isDesignTime) return;\n const screenWidth = window.innerWidth;\n if (screenWidth === this.memoizedScreenWidth || !this.props.transformedOnMobileResolution) return;\n this.memoizedScreenWidth = screenWidth;\n const table = this.getParentTable();\n const isMobileResolution = screenWidth < 576;\n const childrenLength = React.Children.toArray(this.props.children)?.length;\n if (screenWidth < 576 && childrenLength > 3) {\n if (table && !table.classList.contains(\"kuika_table__wrapper__mobile\")) {\n table.classList.add(\"kuika_table__wrapper__mobile\");\n if (this.props.showTableHeader === false) {\n table.classList.add(\"kuika_table__wrapper__mobile--witout-header\");\n }\n }\n } else if (screenWidth >= 576) {\n if (table && table.classList.contains(\"kuika_table__wrapper__mobile\")) {\n table.classList.remove(\"kuika_table__wrapper__mobile\");\n table.classList.remove(\"kuika_table__wrapper__mobile--witout-header\");\n }\n }\n if (this.state.isMobileResolution === isMobileResolution) return;\n this.setState({ isMobileResolution });\n };\n\n getClassName = () => {\n let result = \"\";\n const isReportDesigner = window.kuika?.dashboardState === 17;\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `ktablerow_${this.state.uniqueKey.toString().substring(0, 8)}`;\n if (isReportDesigner) {\n result += \" kuika_report-table-row\";\n }\n return result;\n };\n\n getStyle = (): any => {\n const isReportDesigner = window.kuika?.dashboardState === 17;\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n\n if (this.props.dynamicBackGroundColor && window.kuika?.isDesignTime !== true) {\n const dataFieldKey = new RegExp(/\\[datafield:([a-zA-Z0-9-_]+)\\]/);\n const matchResult = this.props.dynamicBackGroundColor.match(dataFieldKey);\n if (matchResult) {\n const dataField = matchResult[1];\n const bgValue = this.props.rowData && this.props.rowData[dataField];\n if (bgValue) {\n result.backgroundColor = bgValue;\n }\n }\n }\n\n if (this.state.mouseOver === true && !isReportDesigner) {\n if (this.props.hoverFontColor) {\n result.color = this.props.hoverFontColor;\n }\n if (this.props.hoverBgColor) {\n result.backgroundColor = this.props.hoverBgColor;\n }\n if (this.props.selectedBgColor && this.props.isSelected) {\n result.backgroundColor = this.props.selectedBgColor;\n }\n if (this.props.showCursorPointer) {\n result.cursor = \"pointer\";\n }\n }\n\n if (result?.display) {\n delete result.display;\n }\n\n return result;\n };\n\n handleMouseOver = () => {\n const className = this.getClassName();\n const isReportDesigner = window.kuika?.dashboardState === 17;\n\n if (!className || isReportDesigner) {\n return;\n }\n const currentRow = document.querySelector(`.${className}`);\n const targets = currentRow?.querySelectorAll(`td`);\n\n targets.forEach((element) => {\n if (!element.hasAttribute(\"data-original-bg\")) {\n element.setAttribute(\"data-original-bg\", element.style.backgroundColor || \"\");\n }\n if (!element.hasAttribute(\"data-original-color\")) {\n element.setAttribute(\"data-original-color\", element.style.color || \"\");\n }\n\n element.style.backgroundColor = this.props.hoverBgColor || \"transparent\";\n element.style.color = this.props.hoverFontColor || \"\";\n element.style.cursor = this.props.showCursorPointer ? \"pointer\" : \"\";\n });\n\n this.setState({\n mouseOver: true\n });\n };\n\n handleMouseOut = () => {\n const className = this.getClassName();\n if (!className) {\n return;\n }\n const currentRow = document.querySelector(`.${className}`);\n const targets = currentRow?.querySelectorAll(`td`);\n\n targets.forEach((element) => {\n element.style.backgroundColor = element.getAttribute(\"data-original-bg\") || \"\";\n element.style.color = element.getAttribute(\"data-original-color\") || \"\";\n element.style.cursor = \"\";\n\n element.removeAttribute(\"data-original-bg\");\n element.removeAttribute(\"data-original-color\");\n });\n\n this.setState({\n mouseOver: false\n });\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n toggleExpand = () => {\n this.setState(\n (prevState: TableRowState & S) =>\n ({\n expanded: !prevState.expanded\n } as Pick)\n );\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n delete props.children;\n return props;\n };\n\n getParentTable = () => {\n const parentTable = document.querySelector(`.${this.props.tableClassName}`);\n return parentTable;\n };\n\n handleExpandButtonClick = () => {\n this.setState({ expanded: !this.state.expanded } as Pick);\n };\n\n renderExpandButton() {\n const { expanded } = this.state;\n return (\n
    \n {expanded ? (\n \n \n \n ) : (\n \n \n \n )}\n
    \n );\n }\n\n renderMobileRow() {\n const { expanded } = this.state;\n const { children } = this.props;\n const childrenArray = React.Children.toArray(children);\n\n const isAnyAlwaysVisibleColumn = childrenArray.some(\n (child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution === false\n );\n\n const isEveryColumnAlwaysVisible = childrenArray.every(\n (child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution === false\n );\n\n let filteredChildren: any = isAnyAlwaysVisibleColumn\n ? childrenArray.filter((child: any) => child?.props?.additionalProps?.alwaysVisibleOnMobileResolution !== false)\n : childrenArray;\n\n if (\n filteredChildren &&\n filteredChildren.length === 1 &&\n filteredChildren[0]?.props?.className === \"ant-table-selection-column\"\n ) {\n filteredChildren = children;\n }\n\n return (\n \n {expanded || isEveryColumnAlwaysVisible ? children : filteredChildren}\n {isAnyAlwaysVisibleColumn && !isEveryColumnAlwaysVisible && this.renderExpandButton()}\n {this.renderIcons()}\n \n );\n }\n\n renderIcons = () => {\n if (!this.props.isInsertRow) {\n return null;\n }\n\n return (\n \n this.props.handleAddRow()} style={{ color: \"green\", cursor: \"pointer\" }} />\n this.props.handleCancelEditing()} style={{ color: \"red\", cursor: \"pointer\" }} />\n \n );\n };\n\n renderDesktopRow() {\n return (\n \n {this.props.children}\n {this.renderIcons()}\n \n );\n }\n\n render() {\n const { isMobileResolution } = this.state;\n const isDesignTime = window.kuika?.isDesignTime;\n const childrenArray = React.Children.toArray(this.props.children);\n if (isMobileResolution && !isDesignTime && childrenArray?.length > 3) {\n return this.renderMobileRow();\n }\n return this.renderDesktopRow();\n }\n}\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\n\ninterface TableHeaderProps {\n style?: any;\n writingMode?: \"horizontal\" | \"vertical\";\n columnTitles?: string;\n id?: string;\n hideOnMobileResolution?: boolean;\n wrapperClassname?: string;\n transformedOnMobileResolution?: boolean;\n}\n\ninterface TableHeaderState {\n uniqueKey?: Guid;\n}\n\nexport class TableHeader extends PureComponent {\n constructor(props: TableHeaderProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n componentDidMount(): void {\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const table = tableHeader?.parentElement;\n if (table && this.props.hideOnMobileResolution === true) {\n table.classList.add(\"ktableheader_without-title\");\n }\n if (this.props.transformedOnMobileResolution === true) {\n this.setDynamicStyle();\n }\n }\n\n getDynamicCss = (): string => {\n const className: string = this.props.wrapperClassname;\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const {\n fontSize,\n fontWeight,\n lineHeight,\n color,\n backgroundColor,\n fontFamily,\n textDecoration,\n textTransform,\n fontStyle,\n letterSpacing\n } = this.props.style;\n\n if (\n fontSize ||\n fontWeight ||\n lineHeight ||\n color ||\n backgroundColor ||\n fontFamily ||\n textDecoration ||\n textTransform ||\n fontStyle ||\n letterSpacing\n ) {\n result += `${className} td::before {\n ${fontSize ? `font-size: ${fontSize};` : \"\"}\n ${fontWeight ? `font-weight: ${fontWeight};` : \"\"}\n ${lineHeight ? `line-height: ${lineHeight};` : \"\"}\n ${color ? `color: ${color};` : \"\"}\n ${backgroundColor ? `background-color: ${backgroundColor};` : \"\"}\n ${fontFamily ? `font-family: ${fontFamily};` : \"\"}\n ${textDecoration ? `text-decoration: ${textDecoration};` : \"\"}\n ${textTransform ? `text-transform: ${textTransform};` : \"\"}\n ${fontStyle ? `font-style: ${fontStyle};` : \"\"}\n ${letterSpacing ? `letter-spacing: ${letterSpacing};` : \"\"}\n }`;\n }\n\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return ;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface CarouselBodyCellProps {}\n\ninterface CarouselBodyCellState {}\n\nexport class CarouselBodyCell extends PureComponent {\n constructor(props: CarouselBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { Guid } from \"guid-typescript\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport Slider, { Settings } from \"react-slick\";\nimport \"./carousel.scss\";\n\nexport interface CarouselBodyWrapperProps extends Settings {\n children?: ReactNode;\n style?: any;\n setCurrentSlideNumber?: (val: number) => void;\n onChange?: () => void;\n startingIndex?: number;\n hoverBgColor?: string;\n hoverFontColor?: string;\n}\n\ninterface CarouselBodyWrapperState {\n uniqueKey: Guid;\n mouseOver: boolean;\n}\n\ndeclare let window: Window & { kuika: any };\n\nexport class CarouselBodyWrapper extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n private sliderRef;\n\n constructor(props: CarouselBodyWrapperProps) {\n super(props);\n this.sliderRef = React.createRef();\n this.state = {\n uniqueKey: Guid.create(),\n mouseOver: false\n };\n }\n\n componentDidUpdate(prevState: any) {\n if (prevState.mouseOver !== this.state.mouseOver) this.setDynamicStyle();\n }\n\n componentDidMount = () => {\n if (this.props.startingIndex && this.props.startingIndex > 0) {\n this.sliderRef.current.slickGoTo(this.props.startingIndex, true);\n }\n const carousel: HTMLCollectionOf = document?.getElementsByClassName(\"kuika-carousel__vertical\");\n const parent = carousel[0]?.parentElement;\n if (parent && parent.style) {\n parent.style.paddingBottom = \"0px\";\n parent.style.paddingRight = \"25px\";\n }\n this.setDynamicStyle();\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n let result = \"\";\n const { hoverBgColor, hoverFontColor } = this.props;\n if (this.state.mouseOver === true) {\n if (hoverBgColor) {\n result += `.${className.trim()}:hover {\n background-color: ${hoverBgColor} !important;\n transition: background-color 0.5s ease;\n }`;\n }\n if (hoverFontColor) {\n result += `.${className.trim()}:hover label, .${className.trim()}:hover span {\n color: ${hoverFontColor} !important;\n }`;\n }\n }\n return result;\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getClassName = () => {\n let result = \"\";\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `kcarousel_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n\n if (props.slidesToShow && props.slidesToShow > 0) {\n if (props.children && props.children[1] && props.children[1].length >= 0) {\n if (props.children[1].length < props.slidesToShow) {\n props.slidesToShow = props.children[1].length;\n }\n }\n }\n if (!this.props.children || this.props.children[1].length === undefined) props.slidesToShow = 1;\n\n if (props.vertical) {\n props.className += \" kuika-carousel__vertical\";\n } else {\n props.className += \" kuika-carousel__horizontal\";\n }\n return props;\n };\n\n handleMouseOver = () => {\n this.setState({\n mouseOver: true\n });\n };\n\n handleMouseOut = () => {\n this.setState({\n mouseOver: false\n });\n };\n\n getPaddingBottom = () => {\n if (this.props.style && this.props.style?.paddingBottom) {\n return 25 + Number.parseInt(this.props.style?.paddingBottom.toString());\n }\n return 25;\n };\n\n handleAfterChange = (nextSlide: number) => {\n if (this.props.setCurrentSlideNumber) {\n this.props.setCurrentSlideNumber(nextSlide);\n }\n if (this.props.onChange) {\n this.props.onChange();\n }\n };\n\n render(): ReactNode {\n return (\n <>\n \n \n
    \n \n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport type CarouselItemProps = TableRowProps;\n\ntype CarouselItemState = TableRowState;\n\nexport class CarouselItem extends TableRow {\n constructor(props: CarouselItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n \n \n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface FlexGridBodyCellProps {}\n\ninterface FlexGridBodyCellState {}\n\nexport class FlexGridBodyCell extends PureComponent {\n constructor(props: FlexGridBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { Space } from \"antd/es\";\nimport { SpaceProps } from \"antd/es/space\";\nimport { PureComponent, ReactNode } from \"react\";\n\nexport interface FlexGridBodyWrapperProps extends SpaceProps {\n style?: any;\n}\n\ninterface FlexGridBodyWrapperState {}\n\nexport class FlexGridBodyWrapper extends PureComponent {\n constructor(props: FlexGridBodyWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return (\n <>\n \n \n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport type FlexGridItemProps = TableRowProps;\n\ntype FlexGridItemState = TableRowState;\n\nexport class FlexGridItem extends TableRow {\n constructor(props: FlexGridItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n \n \n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GalleryBodyCellProps {}\n\ninterface GalleryBodyCellState {}\n\nexport class GalleryBodyCell extends PureComponent {\n constructor(props: GalleryBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { CommonProps } from \"../../../common/common-props\";\nimport { Row } from \"../../../responsive/row\";\n\nexport interface GalleryBodyWrapperProps {\n style?: any;\n horizontalGutter?: number;\n verticalGutter?: number;\n}\n\ninterface GalleryBodyWrapperState {}\n\ndeclare let window: any;\n\nexport class GalleryBodyWrapper extends PureComponent {\n constructor(props: GalleryBodyWrapperProps & CommonProps) {\n super(props);\n this.state = {};\n }\n\n componentDidMount(): void {\n const node = ReactDOM.findDOMNode(this);\n const parentElement = node?.parentElement;\n if (parentElement && this.props?.horizontalGutter) {\n parentElement.style.overflow = \"auto\";\n }\n }\n\n getProps = () => {\n let props: any = {};\n if (this.props) {\n props = _.clone(this.props);\n }\n if (!props.style) props.style = {};\n\n if (props.horizontalGutter || props.verticalGutter) {\n props.style.gap = `${props.verticalGutter || 0}px ${props.horizontalGutter || 0}px`;\n delete props.horizontalGutter;\n delete props.verticalGutter;\n }\n\n return props;\n };\n\n render(): ReactNode {\n return (\n <>\n \n \n );\n }\n}\n","import _ from \"lodash\";\nimport { KComponentFunctions } from \"../../../../../shared/utilty/component-functions\";\nimport { Col } from \"../../../responsive/col\";\nimport { TableRow, TableRowProps, TableRowState } from \"../table/table-row\";\n\nexport interface GalleryItemProps extends TableRowProps {\n desktopColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n tabletColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n phoneColumnsCount?: 1 | 2 | 3 | 4 | 6 | 8 | 12 | 24;\n}\n\ntype GalleryItemState = TableRowState;\n\nexport class GalleryItem extends TableRow {\n constructor(props: GalleryItemProps) {\n super(props);\n this.state = { mouseOver: false };\n }\n\n calcSpan = () => {\n const result: any = {};\n if (this.props.desktopColumnsCount) {\n result.xl = 24 / this.props.desktopColumnsCount;\n result.lg = 24 / this.props.desktopColumnsCount;\n }\n if (this.props.tabletColumnsCount) {\n result.lg = 24 / this.props.tabletColumnsCount;\n result.md = 24 / this.props.tabletColumnsCount;\n }\n if (this.props.phoneColumnsCount) {\n result.xs = 24 / this.props.phoneColumnsCount;\n }\n return result;\n };\n\n handleRowClick = (e: any) => {\n if (\n this.props.rowComponent &&\n this.props.rowComponent.props.onClick &&\n this.props.rowIndex !== undefined &&\n this.props.rowData\n ) {\n if (KComponentFunctions.isButtonElement(e.target) === true) {\n return;\n }\n if (KComponentFunctions.isImgElement(e.target) === true) {\n return;\n }\n this.props.rowComponent.props.onClick(e, this.props.rowIndex, this.props.rowData);\n }\n };\n\n getStyleMapping = () => {\n const _parentStyleObject = _.clone(this.getStyle());\n const forbiddenStyleKeyList = [\"border\", \"background\", \"height\", \"width\", \"boxShadow\"];\n for (const type in _parentStyleObject) {\n forbiddenStyleKeyList.forEach((styleKey) => {\n if (type.includes(styleKey)) {\n delete _parentStyleObject[type];\n }\n });\n }\n return _parentStyleObject;\n };\n\n render() {\n return (\n <>\n \n \n );\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GoogleMapsBodyCellProps {}\n\ninterface GoogleMapsBodyCellState {}\n\nexport class GoogleMapsBodyCell extends PureComponent {\n constructor(props: GoogleMapsBodyCellProps) {\n super(props);\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { Component } from \"react\";\n\nclass AutoComplete extends Component {\n autoComplete: any;\n\n searchInput: any;\n\n constructor(props) {\n super(props);\n this.clearSearchBox = this.clearSearchBox.bind(this);\n }\n\n componentDidMount() {\n const { map } = this.props;\n const { maps } = this.props;\n const options = {\n types: [\"address\"]\n };\n this.autoComplete = new maps.places.Autocomplete(this.searchInput, options);\n this.autoComplete.addListener(\"place_changed\", this.onPlaceChanged);\n this.autoComplete.bindTo(\"bounds\", map);\n }\n\n componentWillUnmount() {\n const { maps } = this.props;\n maps.event.clearInstanceListeners(this.searchInput);\n }\n\n onPlaceChanged = ({ map, addplace } = this.props) => {\n const place = this.autoComplete.getPlace();\n if (!place.geometry) return;\n if (place.geometry.viewport) {\n map.fitBounds(place.geometry.viewport);\n } else {\n map.setCenter(place.geometry.location);\n // map.setZoom(17);\n if (this.props.onChangeLocation) {\n this.props.onChangeLocation(place.geometry.location);\n }\n }\n addplace(place);\n if (this.searchInput) {\n this.searchInput.blur();\n }\n };\n\n clearSearchBox() {\n if (this.searchInput) {\n this.searchInput.value = \"\";\n }\n }\n\n getDisplay = () => {\n if (this.props.map !== undefined && this.props.maps !== undefined && this.props.hasSearchBox === true) {\n return {};\n }\n return { display: \"none\" };\n };\n\n render() {\n return (\n <>\n {\n this.searchInput = ref;\n }}\n required\n name=\"propertyGPS\"\n type=\"text\"\n onFocus={this.clearSearchBox}\n />\n \n );\n }\n}\n\nexport default AutoComplete;\n","import { Drawer, Layout } from \"antd/es\";\nimport GoogleMapReact from \"google-map-react\";\nimport _ from \"lodash\";\nimport supercluster from \"points-cluster\";\nimport React, { CSSProperties, DetailedReactHTMLElement, PureComponent, ReactNode } from \"react\";\nimport { Icon } from \"../../../icon/icon\";\nimport { toCamelCase } from \"../../../kuika-cl-model-runtimes\";\nimport AutoComplete from \"./google-map-search\";\nimport { ICoords, MarkerDetailPosition, MarkerDetailView } from \"./google-maps-item\";\n\ndeclare let google: any;\ndeclare let window: any;\ninterface IMarker {\n label?: string;\n img?: string;\n icon?: string;\n lat: number;\n lng: number;\n}\n\nexport interface GoogleMapsBodyWrapperProps {\n children?: ReactNode;\n value?: ICoords;\n style?: any;\n latitude?: string;\n longitude?: string;\n zoom?: number;\n isPicker?: boolean;\n disableDoubleClickZoom?: boolean;\n fullscreenControl?: boolean;\n streetViewControl?: boolean;\n scaleControl?: boolean;\n zoomControl?: boolean;\n panControl?: boolean;\n rotateControl?: boolean;\n mapTypeControl?: boolean;\n isMarkerPicker?: boolean;\n hasSearchBox?: boolean;\n autoCenter?: boolean;\n onChange?: (isDataMarkerSelected: boolean, value?: ICoords) => void;\n onGoogleApiLoaded?: (map: any, maps: any) => void;\n maps?: any;\n map?: any;\n circleRadius?: number;\n isDataMarkerSelected: boolean;\n dataLatField: string;\n dataLngField: string;\n activeContent?: any;\n clearActiveContent?: () => void;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n designClicked?: boolean;\n groupPickerIcon?: string;\n groupPickerColor?: string;\n currentLocationIcon?: string;\n currentLocationColor?: string;\n}\n\ninterface GoogleMapsBodyWrapperState {\n draggable: boolean;\n latitude?: number;\n longitude?: number;\n radius?: any;\n zoom?: number;\n bounds?: any;\n isGroupPickerDetailsOpen: boolean;\n groupPickerDetails: DetailedReactHTMLElement[];\n userCoords?: ICoords;\n}\n\nexport class GoogleMapsBodyWrapper extends PureComponent {\n mapsLayout = React.createRef();\n\n constructor(props: GoogleMapsBodyWrapperProps) {\n super(props);\n this.state = {\n draggable: true,\n isGroupPickerDetailsOpen: false,\n groupPickerDetails: []\n };\n\n this.setUserCoords();\n }\n\n public static defaultProps = {\n isDataMarkerSelected: false,\n hasSearchBox: true,\n isPicker: true,\n disableDoubleClickZoom: false,\n fullscreenControl: true,\n streetViewControl: true,\n scaleControl: true,\n zoomControl: true,\n panControl: true,\n rotateControl: true,\n mapTypeControl: true,\n autoCenter: false,\n dataLatField: \"lat\",\n dataLngField: \"lng\"\n };\n\n static getDerivedStateFromProps(nextProps: GoogleMapsBodyWrapperProps, prevState: GoogleMapsBodyWrapperState) {\n if (nextProps.autoCenter !== true) {\n return {\n latitude: undefined,\n longitude: undefined\n };\n }\n }\n\n convertToCoordsFieldsFromLatField = (record: any): number | undefined => {\n if (this.props.dataLatField === undefined) return undefined;\n if (this.props.dataLatField !== undefined && record[toCamelCase(this.props.dataLatField)] !== undefined) {\n const latitude = parseFloat(record[toCamelCase(this.props.dataLatField)]);\n return latitude;\n }\n };\n\n convertToCoordsFieldsFromLngField = (record: any): number | undefined => {\n if (this.props.dataLngField === undefined) return undefined;\n if (this.props.dataLngField !== undefined && record[toCamelCase(this.props.dataLngField)] !== undefined) {\n const longitude = parseFloat(record[toCamelCase(this.props.dataLngField)]);\n return longitude;\n }\n };\n\n componentDidMount() {\n if (this.props.latitude !== undefined && this.props.longitude !== undefined) {\n return;\n }\n this.setCenter();\n }\n\n setCenter = () => {\n const formattedValue: ICoords | undefined = this.props.value;\n if (\n formattedValue === undefined ||\n formattedValue.latitude === undefined ||\n formattedValue.longitude === undefined ||\n formattedValue.latitude <= 0 ||\n formattedValue.longitude <= 0\n ) {\n if (navigator && navigator.geolocation) {\n navigator.geolocation.getCurrentPosition((pos) => {\n const { coords } = pos;\n if (coords.latitude && coords.longitude) {\n this.setState({ latitude: coords.latitude, longitude: coords.longitude }, () => {\n if (this.props.onChange) {\n let { value } = this.props;\n if (value === undefined) {\n value = { latitude: coords.latitude, longitude: coords.longitude };\n this.props.onChange(this.props.isDataMarkerSelected, value);\n }\n }\n });\n }\n });\n }\n } else if (this.props.value) {\n this.setState({ latitude: formattedValue.latitude, longitude: formattedValue.longitude });\n }\n };\n\n getCenter = (): IMarker => {\n return { lat: this.getLatitude(), lng: this.getLongitude() } as IMarker;\n };\n\n getLatitude = () => {\n if (this.state.latitude !== undefined) {\n return this.state.latitude;\n }\n if (this.props.latitude !== undefined) {\n // @ts-ignore\n if (!isNaN(this.props.latitude)) return parseFloat(this.props.latitude);\n }\n return 41.0049823;\n };\n\n getLongitude = () => {\n if (this.state.longitude !== undefined) {\n return this.state.longitude;\n }\n if (this.props.longitude !== undefined) {\n // @ts-ignore\n if (!isNaN(this.props.latitude)) return parseFloat(this.props.longitude);\n }\n return 28.7320004;\n };\n\n getZoom = () => {\n if (this.state.zoom !== undefined) {\n return this.state.zoom;\n }\n if (this.props.zoom !== undefined) {\n return this.props.zoom;\n }\n return 11;\n };\n\n /**\n * Calculates distance between 2 coordinates by using **Haversine Formula**\n * @param crd1 First coordinate\n * @param crd2 Second coordinate\n */\n calculateDistance(crd1: IMarker, crd2: IMarker) {\n const EARTH_RADIUS = 6371;\n const dLat = this.deg2Rad(crd1.lat - crd2.lat);\n const dLng = this.deg2Rad(crd1.lng - crd2.lng);\n\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(this.deg2Rad(crd1.lat)) * Math.cos(this.deg2Rad(crd2.lat)) * Math.sin(dLng / 2) * Math.sin(dLng / 2);\n\n var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n\n return EARTH_RADIUS * c;\n }\n\n deg2Rad(dif: number) {\n return dif * (Math.PI / 180);\n }\n\n calculateGroupPickerDrawerWidth() {\n let drawerWidth = 378;\n const { markerDetailWidth } = this.props;\n\n if (markerDetailWidth) {\n drawerWidth = markerDetailWidth > drawerWidth ? markerDetailWidth : drawerWidth;\n if (this.mapsLayout.current) {\n const halfWidthOfMap = this.mapsLayout.current.offsetWidth / 2;\n if (halfWidthOfMap < drawerWidth) {\n drawerWidth = halfWidthOfMap;\n }\n }\n }\n\n return drawerWidth + 32;\n }\n\n handleClickDataMarker = (marker: IMarker) => {\n if (marker && marker.lat && marker.lng) {\n const value = { latitude: marker.lat, longitude: marker.lng } as ICoords;\n this.generateAddress(marker.lat, marker.lng);\n if (this.props.onChange) {\n this.props.onChange(true, value);\n // this.props.onChange(true, value); //Seçili olan item haritada ortalansın.\n }\n }\n };\n\n handleMarkerPickerclick = (marker: IMarker) => {\n if (this.isMarkerMouseOver === false && marker && marker.lat && marker.lng && this.props.isPicker === true) {\n const value = { latitude: marker.lat, longitude: marker.lng } as ICoords;\n this.generateAddress(marker.lat, marker.lng);\n if (this.props.onChange) {\n this.props.onChange(false, value);\n // this.props.onChange(false, value); //Seçili olan yer haritada ortalansın.\n }\n }\n };\n\n handleDrawRadius(gMaps?) {\n const map = gMaps?.map || this.props.map;\n const maps = gMaps?.maps || this.props.maps;\n const circleRadius = this.props.circleRadius;\n\n if (!map || !maps || !circleRadius) return;\n\n if (this.state.radius) this.state.radius.setMap(null);\n\n const radius = new maps.Circle({\n strokeColor: \"rgba(3, 88, 255, 100)\",\n strokeOpacity: 0.8,\n strokeWeight: 2,\n fillColor: \"rgba(3, 88, 255, 100)\",\n fillOpacity: 0.3,\n map,\n center: this.getCenter(),\n radius: circleRadius * 1000\n });\n\n this.setState({ radius });\n }\n\n handleGoogleApiLoaded = (map, maps) => {\n if (this.props.onGoogleApiLoaded) {\n this.props.onGoogleApiLoaded(map, maps);\n this.handleDrawRadius({ map, maps });\n }\n };\n\n handleChangeStatus = ({ center, zoom, bounds }) => {\n center.lat = Number(center.lat.toFixed(6));\n center.lng = Number(center.lng.toFixed(6));\n // if (Number(this.getLatitude().toFixed(6)) === center.lat || Number(this.getLongitude().toFixed(6)) === center.lng) {\n // return;\n // }\n this.setState({ latitude: center.lat, longitude: center.lng, zoom, bounds });\n this.handleDrawRadius();\n };\n\n getStyleProp = () => {\n let style: any = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (!style.height) {\n style.height = \"400px\";\n }\n if (!style.width) {\n style.width = \"100%\";\n }\n if ((style.display = \"inline\")) {\n style.display = \"inline-flex\";\n }\n return style;\n };\n\n handleMarkerInteraction = () => {\n this.setState({\n draggable: false\n });\n };\n\n isMarkerMouseOver: boolean = false;\n\n handleMarkerInteractionMouseOver = () => {\n this.isMarkerMouseOver = true;\n };\n\n handleMarkerInteractionMouseOut = () => {\n this.isMarkerMouseOver = false;\n };\n\n selectPlace = (place) => {\n this.handleMarkerPickerclick({\n lat: place.geometry.location.lat(),\n lng: place.geometry.location.lng(),\n formattedAddress: place.formatted_address,\n label: place.name\n } as IMarker);\n };\n\n pickerRender = (value?: ICoords) => {\n if (value !== undefined && value.latitude !== undefined && value.longitude !== undefined) {\n return (\n
    \n );\n }\n return <>;\n };\n\n getCircleCenterRadius() {\n const { isMarkerPicker, circleRadius } = this.props;\n if (!isMarkerPicker || !circleRadius) return <>;\n\n const { lat, lng } = this.getCenter();\n return (\n \n \n
    \n );\n }\n\n setUserCoords() {\n if (window.kuika?.isDesignTime || !(\"geolocation\" in navigator)) return;\n const that = this;\n navigator.geolocation.getCurrentPosition(\n function ({ coords: { latitude, longitude, accuracy } }) {\n // const userCoords = that.state.userCoords;\n\n // Prevent updating if distance between previous location and new location is less than 1 meter\n // if (userCoords) {\n // if (\n // that.calculateDistance(\n // { lat: latitude, lng: longitude },\n // { lat: userCoords.latitude, lng: userCoords.longitude }\n // ) < 0.001 ||\n // userCoords.accuracy < accuracy\n // )\n // return;\n // }\n\n that.setState({ userCoords: { latitude, longitude, accuracy } });\n },\n () => {},\n { enableHighAccuracy: true, timeout: 5000, maximumAge: 10000 }\n );\n }\n\n getCurrentLocation() {\n const { currentLocationIcon, currentLocationColor } = this.props;\n\n if (window.kuika?.isDesignTime || !currentLocationColor || !this.state.userCoords) return <>;\n\n const iconStyles: React.CSSProperties = {\n color: currentLocationColor,\n transform: \"translate(-50%, -50%)\"\n };\n let iconElement: JSX.Element;\n\n if (!currentLocationIcon) {\n iconStyles.width = 20;\n iconStyles.height = 20;\n iconStyles.background = currentLocationColor;\n iconStyles.borderRadius = \"100%\";\n\n iconElement =
    ;\n } else {\n iconElement = ;\n }\n\n return (\n \n {iconElement}\n
    \n );\n }\n\n generateAddress(lat, lng) {\n if (!this.props.map || !this.props.maps) {\n return;\n }\n const { maps } = this.props;\n const geocoder = new maps.Geocoder();\n geocoder.geocode({ location: { lat, lng } }, (results, status) => {\n // if (status === \"OK\") {\n // if (results[0]) {\n // // if (this.state.formatted_address !== results[0].formatted_address) {\n // // // this.setState({\n // // // // formatted_address: results[0].formatted_address\n // // // });\n // // }\n // }\n // }\n });\n }\n\n handleCloseGroupPickerDetails() {\n this.setState({ isGroupPickerDetailsOpen: false, groupPickerDetails: [] });\n }\n\n handleOpenGoupPickerDetails(details: DetailedReactHTMLElement[]) {\n this.setState({ isGroupPickerDetailsOpen: true, groupPickerDetails: details });\n }\n\n handleRenderGroupPickerDetails() {\n if (this.state.groupPickerDetails.length === 0) return undefined;\n\n const firstMarker = React.cloneElement(\n this.state.groupPickerDetails[0],\n this.state.groupPickerDetails[0].props,\n this.state.groupPickerDetails[0].props?.children\n );\n const firstMarkerPopupContent = firstMarker.props\n .rowComponent(firstMarker.props)\n .props.rowPopoverRenderer(undefined, firstMarker.props.record, firstMarker.props.index);\n\n if (!firstMarkerPopupContent?.props?.children?.props?.children) return undefined;\n\n return this.state.groupPickerDetails.map((child: DetailedReactHTMLElement, i) => {\n const element = React.cloneElement(child, child.props, child.props?.children);\n return (\n \n {element.props\n .rowComponent(element.props)\n .props.rowPopoverRenderer(undefined, element.props.record, element.props.index)}\n \n );\n });\n }\n\n getClusters(markerElements: any[]) {\n const markersData = [];\n for (let i = 0; i < markerElements.length; i++) {\n const markerElement = markerElements[i];\n if (!markerElement.props && markerElement.props?.record) continue;\n\n const lat = this.convertToCoordsFieldsFromLatField(markerElement?.props?.record);\n const lng = this.convertToCoordsFieldsFromLngField(markerElement?.props?.record);\n\n if (!Number.isNaN(lat) && !Number.isNaN(lng) && lat !== null && lng !== null)\n markersData.push({ lat, lng, markerElement });\n }\n\n return supercluster(markersData, { radius: 60 });\n }\n\n getMaps = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n return (\n <>\n {\n ev.preventDefault();\n }}\n style={this.getStyleProp()}\n >\n {this.props.map !== undefined && this.props.maps !== undefined && (\n
    \n
    \n {\n this.setState({ latitude: location.latitude, longitude: location.longitude, zoom: 17 });\n }}\n />\n
    \n
    \n )}\n {isDesignTime === true ? <>{this.getMapForDesignTime()} : <>{this.getMapForRunTime()}}\n \n \n );\n };\n\n getMapForDesignTime = () => {\n return
    {this.getMapsContent()}
    ;\n };\n\n getMapForRunTime = () => {\n const drawerWidth = this.calculateGroupPickerDrawerWidth();\n const groupPickerDetails = this.handleRenderGroupPickerDetails();\n\n return (\n \n this.handleGoogleApiLoaded(map, maps)}\n center={this.getCenter()}\n zoom={this.getZoom()}\n bootstrapURLKeys={{\n key: \"AIzaSyCNHrogcR_C-7UqEASxR0-NGsNIrh6z7lE\",\n libraries: [\"places\", \"geometry\"]\n }}\n options={{\n draggableCursor: this.props.isPicker === true ? \"crosshair\" : \"grab\",\n disableDoubleClickZoom: this.props.disableDoubleClickZoom,\n fullscreenControl: this.props.fullscreenControl,\n streetViewControl: this.props.streetViewControl,\n scaleControl: this.props.scaleControl,\n zoomControl: this.props.zoomControl,\n panControl: this.props.panControl,\n rotateControl: this.props.rotateControl,\n mapTypeControl: this.props.mapTypeControl,\n mapTypeControlOptions: {\n // 6 is LEFT_BOTTOM position. In case of undefined, default value is used.\n position: google?.maps?.ControlPosition?.LEFT_BOTTOM ?? 6,\n mapTypeIds: [\"roadmap\", \"satellite\"]\n }\n }}\n draggable={this.state.draggable}\n onChange={this.handleChangeStatus}\n onClick={this.handleMarkerPickerclick}\n >\n {this.getCurrentLocation()}\n {this.getCircleCenterRadius()}\n {this.getMapsContent()}\n \n {groupPickerDetails && (\n this.handleCloseGroupPickerDetails()}\n >\n
    {groupPickerDetails}
    \n \n )}\n
    \n );\n };\n\n getMapsContent = () => {\n const markerElements = this.props.children[1];\n\n if (!markerElements.filter) return <>;\n\n const centerCoords = this.getCenter();\n const radius = this.props.circleRadius;\n\n const { zoom, latitude, longitude, bounds } = this.state;\n const center = { lat: latitude, lng: longitude };\n\n if (bounds) {\n const clusters = this.getClusters(markerElements);\n\n return clusters({ zoom, bounds, center }).map((item) => {\n if (radius && this.calculateDistance(centerCoords, { lat: item.wy, lng: item.wx }) > radius) return <>;\n\n if (item.numPoints === 1) {\n return this.renderMapsMarkerChild(item.points[0].markerElement);\n }\n return this.renderGroupPickerChild(item);\n });\n }\n\n return React.Children.map(this.props.children, (child: any, i) => {\n if (child?.props && child?.props?.record) {\n return this.renderMapsMarkerChild(child);\n }\n return <>;\n });\n };\n\n renderMapsMarkerChild(child) {\n let props = _.clone(child.props);\n props.value = this.props.value;\n let isSelectedMarker: boolean = false;\n let record = child?.props?.record;\n let c: ICoords | undefined = this.props.value;\n\n const lat = this.convertToCoordsFieldsFromLatField(record);\n const lng = this.convertToCoordsFieldsFromLngField(record);\n\n if (record != undefined && c !== undefined && this.props.value && c.latitude === lat && c.longitude === lng) {\n isSelectedMarker = true;\n }\n\n if (!Number.isNaN(lat) && !Number.isNaN(lng) && lat !== null && lng !== null) {\n return (\n this.handleClickDataMarker({ lat, lng })}\n onClickCapture={() => this.handleClickDataMarker({ lat, lng })}\n // @ts-ignore\n alt={child.props?.record?.label}\n marker={{ lat, lng }}\n lat={lat}\n lng={lng}\n >\n {React.cloneElement(child, props, child.props.children)}\n \n );\n }\n }\n\n getGroupPickerElement = (cluster, groupPickerIcon, groupPickerColor) => {\n if (groupPickerIcon) {\n return (\n \n \n {cluster.numPoints}\n \n );\n }\n\n const defaultGroupMarkerSVG = (\n \n \n \n \n \n \n {cluster.numPoints}\n \n \n );\n\n return defaultGroupMarkerSVG;\n };\n\n renderGroupPickerChild(cluster) {\n const { groupPickerColor, groupPickerIcon } = this.props;\n\n return (\n this.handleOpenGoupPickerDetails(cluster.points.map((point) => point.markerElement))}\n style={{\n cursor: \"pointer\"\n }}\n // @ts-ignore\n lat={cluster.wy}\n lng={cluster.wx}\n >\n {this.getGroupPickerElement(cluster, groupPickerIcon, groupPickerColor)}\n \n );\n }\n\n render(): ReactNode {\n const isDesignTime = window.kuika?.isDesignTime;\n return isDesignTime !== true &&\n (this.props.markerDetailView === MarkerDetailView.SidePanel ||\n this.props.markerDetailView === MarkerDetailView.Drawer) ? (\n <>\n {\n if (this.props.clearActiveContent) {\n this.props.clearActiveContent();\n }\n }}\n >\n {this.getMaps()}\n \n \n ) : (\n this.getMaps()\n );\n }\n\n getMapsItemStyle = (isSelectedMarker: boolean) => {\n const result: any = {};\n result.cursor = \"pointer\";\n result.borderWidth = 0;\n // result.borderStyle = \"solid\";\n // result.borderColor = \"#55931c\";\n result.cursor = \"pointer\";\n result.position = \"absolute\";\n result.zIndex = 99;\n result.boxShadow = isSelectedMarker\n ? \"-1px 3px 8px 5px rgb(255 255 255 / 41%), 2px 5px 16px 0px rgb(125 157 111 / 21%), 2px 1px 30px 11px rgb(255 255 255 / 42%)\"\n : \"\";\n result.borderRadius = \"15px\";\n result.borderStyle = \"solid\";\n if (!window.kuika?.isDesignTime) {\n result.transform = \"translate(-50%, -50%)\";\n }\n // result.backgroundColor = \"white\";\n return result;\n };\n}\n\ninterface SidePanelProps {\n content: any;\n children: any;\n onClose?: () => void;\n markerDetailView?: MarkerDetailView;\n markerDetailPosition?: MarkerDetailPosition;\n markerDetailHeight?: number;\n markerDetailWidth?: number;\n designClicked?: boolean;\n}\n\nclass SidePanel extends PureComponent {\n constructor(props: SidePanelProps) {\n super(props);\n }\n\n public static defaultProps = {\n position: MarkerDetailPosition.Bottom\n };\n\n getstyle = (): CSSProperties => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (isDesignTime !== true && this.props.markerDetailView === MarkerDetailView.SidePanel) {\n return { position: \"absolute\" };\n }\n return {};\n };\n\n getPlacement = () => {\n if (this.props.markerDetailPosition === MarkerDetailPosition.Bottom) {\n return \"bottom\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Top) {\n return \"top\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Left) {\n return \"left\";\n }\n if (this.props.markerDetailPosition === MarkerDetailPosition.Right) {\n return \"right\";\n }\n\n return \"bottom\";\n };\n\n render = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n return (\n \n
    {this.props.children}
    \n {\n if (this.props.onClose) {\n this.props.onClose();\n }\n }}\n height={this.props.markerDetailHeight}\n width={this.props.markerDetailWidth}\n open={\n (this.props.content !== undefined && isDesignTime === false) ||\n (this.props.designClicked === true && isDesignTime === true)\n }\n getContainer={false}\n rootStyle={this.getstyle()}\n mask={\n !(\n this.props.markerDetailView === MarkerDetailView.SidePanel ||\n (this.props.designClicked === true && isDesignTime === true)\n )\n }\n >\n {this.props.content}\n \n \n );\n };\n}\n","import _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport { ViewMode } from \"../../base-table\";\n\ninterface TableBodyCellProps {\n children?: ReactNode;\n calculatedCellBgColor?: (rowIndex?: number, rowData?: any) => string;\n calculatedCellFontColor?: (rowIndex?: number, rowData?: any) => string;\n style?: any;\n rowData?: any;\n rowIndex?: number;\n columnIndex: number;\n title: string;\n mode?: ViewMode;\n onCellClick: (e) => void;\n onCellBlur: (e) => void;\n isEditable?: boolean;\n isEditMode?: boolean;\n dataValue?: any;\n editableAlwaysActive?: boolean;\n setResizingColumnIndex?: (index: number) => void;\n resizeListener?: (e: MouseEvent) => void;\n index?: number;\n resizableColumns?: boolean;\n}\ninterface TableBodyCellState {}\n\ndeclare let window: any;\n\nexport class TableBodyCell extends PureComponent {\n constructor(props: TableBodyCellProps) {\n super(props);\n }\n\n getStyle = (): React.CSSProperties => {\n let style: React.CSSProperties = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (this.props.calculatedCellBgColor) {\n style.background = this.props.calculatedCellBgColor(this.props.rowIndex, this.props.rowData);\n }\n if (this.props.calculatedCellFontColor) {\n style.color = this.props.calculatedCellFontColor(this.props.rowIndex, this.props.rowData);\n }\n if (\n !style.border &&\n !style.borderColor &&\n !style.borderTop &&\n !style.borderBottom &&\n !style.borderRight &&\n !style.borderLeft &&\n !style.borderWidth\n ) {\n style.borderWidth = 0;\n }\n if (style?.display) {\n delete style.display;\n }\n if (!style?.padding) {\n style.padding = \"0px\";\n }\n if (style.padding && (style?.paddingLeft || style?.paddingRight || style?.paddingTop || style?.paddingBottom)) {\n delete style.padding;\n }\n return style;\n };\n\n handleCellClick = (e: any) => {\n if (this.props.onCellClick) {\n this.props.onCellClick(e);\n }\n };\n\n handleCellBlur = (e: any) => {\n if (this.props.onCellBlur) {\n this.props.onCellBlur(e);\n }\n };\n\n filterNodeByKuikaComponentName(node) {\n if (!node || !node.props) {\n return true;\n }\n const { props } = node;\n\n if (props && props.kuikacomponentname != \"Label\") {\n return node;\n }\n\n if (props && props.children) {\n const filteredChildren = React.Children.map(props.children, (child) =>\n this.filterNodeByKuikaComponentName(child)\n );\n\n const hasFilteredChildren = filteredChildren.some((child) => child !== null);\n if (hasFilteredChildren) {\n return {\n ...node,\n props: {\n ...props,\n children: filteredChildren\n }\n };\n }\n }\n\n return null;\n }\n\n componentDidMount(): void {\n if (\n this.props.editableAlwaysActive &&\n window?.editingColumnData &&\n window.editingColumnData.columnIndex !== undefined &&\n window.editingColumnData.columnIndex !== this.props.columnIndex &&\n window.editingColumnData.rowIndex?.toString() === this.props.rowIndex?.toString()\n // &&\n // window.editingColumnData.isKeyDownTriggered\n ) {\n const nextElement = this.getNextElement();\n if (nextElement) {\n let inputElement = nextElement.querySelector(\"input\");\n if (inputElement && document.activeElement !== inputElement) {\n inputElement.focus();\n setTimeout(() => {\n inputElement.focus();\n }, 0);\n }\n }\n }\n }\n\n getNextElement = () => {\n let activeElement = window.document.querySelector(\n `[columnindex=\"${window?.editingColumnData?.columnIndex}\"][rowindex=\"${window?.editingColumnData?.rowIndex}\"]`\n );\n return activeElement;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n props.tableTitle = this.props.title;\n props.dataValue = this.props.dataValue;\n props.title = \"\";\n const screenWidth = window.innerWidth;\n if (this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024) {\n delete props.children;\n }\n return props;\n };\n\n render(): ReactNode {\n const screenWidth = window.innerWidth;\n if (this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024) {\n return (\n \n {\n this.props.setResizingColumnIndex(this.props.index);\n window.addEventListener(\"mousemove\", this.props.resizeListener, { passive: true });\n }}\n />\n {this.props.children}\n \n );\n }\n return (\n \n );\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableBodyWrapperProps {\n style?: any;\n}\n\ninterface TableBodyWrapperState {}\n\nexport class TableBodyWrapper extends PureComponent {\n constructor(props: TableBodyWrapperProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return ;\n }\n}\n","import { Switch } from \"antd/es\";\nimport { useState } from \"react\";\n\nconst TriStateSwitch = ({ value, onChange, language, source }) => {\n const [currentValue, setCurrentValue] = useState(value);\n\n const toggleState = (e) => {\n if (e && e.stopPropagation) e.stopPropagation();\n const newValue = currentValue === null ? true : currentValue === true ? false : null;\n setCurrentValue(newValue);\n onChange(newValue);\n };\n\n const getLabel = () => {\n if (currentValue === null) return language === \"tr_TR\" ? \"İnaktif\" : \"Inactive\";\n return currentValue ? (language === \"tr_TR\" ? \"Evet\" : \"Yes\") : language === \"tr_TR\" ? \"Hayır\" : \"No\";\n };\n\n return (\n \n \n \n );\n};\n\nexport default TriStateSwitch;\n","import { Button, Input, InputNumber, Select } from \"antd/es\";\nimport { useEffect, useState } from \"react\";\nimport { BooleanFilterTypes, DateFilterTypes, NumberFilterTypes, StringFilterTypes, ValueType } from \"./base-table\";\nimport TriStateSwitch from \"./tri-state-switch\";\n\nconst { Option } = Select;\n\ndeclare let window: any;\n\nconst CustomFilterDropdown = ({\n selectedKeys,\n setSelectedKeys,\n confirm,\n clearFilters,\n dataType,\n visible,\n initialFilters,\n columnId\n}) => {\n const [searchType, setSearchType] = useState<\n StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes\n >(\n dataType === ValueType.String\n ? StringFilterTypes.Contains\n : ValueType.Number\n ? NumberFilterTypes.Equals\n : DateFilterTypes.Equals\n );\n const [searchValue, setSearchValue] = useState(selectedKeys?.value);\n const [searchValue2, setSearchValue2] = useState(selectedKeys?.value2);\n\n const language = localStorage.getItem(\"ml\");\n\n const isString = (value: StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === StringFilterTypes.Contains ||\n value === StringFilterTypes.DoesNotContain ||\n value === StringFilterTypes.Equals ||\n value === StringFilterTypes.DoesNotEqual ||\n value === StringFilterTypes.BeginsWith ||\n value === StringFilterTypes.EndsWith ||\n value === StringFilterTypes.Blank ||\n value === StringFilterTypes.NotBlank\n ) {\n return true;\n }\n return false;\n };\n\n const isNumber = (value: NumberFilterTypes | StringFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === NumberFilterTypes.Equals ||\n value === NumberFilterTypes.DoesNotEqual ||\n value === NumberFilterTypes.GreaterThan ||\n value === NumberFilterTypes.GreaterThanOrEqual ||\n value === NumberFilterTypes.LessThan ||\n value === NumberFilterTypes.LessThanOrEqual ||\n value === NumberFilterTypes.Blank ||\n value === NumberFilterTypes.NotBlank ||\n value === NumberFilterTypes.Between\n ) {\n return true;\n }\n return false;\n };\n\n const isDate = (value: DateFilterTypes | StringFilterTypes | NumberFilterTypes | BooleanFilterTypes) => {\n if (\n value === DateFilterTypes.After ||\n value === DateFilterTypes.Before ||\n value === DateFilterTypes.Between ||\n value === DateFilterTypes.Equals ||\n value === DateFilterTypes.DoesNotEqual ||\n value === DateFilterTypes.Blank ||\n value === DateFilterTypes.NotBlank\n ) {\n return true;\n }\n return false;\n };\n\n const isBoolean = (value: StringFilterTypes | NumberFilterTypes | DateFilterTypes | BooleanFilterTypes) => {\n if (\n value === BooleanFilterTypes.Equals ||\n value === BooleanFilterTypes.DoesNotEqual ||\n value === BooleanFilterTypes.Blank ||\n value === BooleanFilterTypes.NotBlank\n ) {\n return true;\n }\n if (dataType === ValueType.Boolean) {\n return true;\n }\n return false;\n };\n\n useEffect(() => {\n if (visible) {\n const searchType = findDataType(dataType);\n const currentType = selectedKeys?.type ?? searchType;\n setSearchType(currentType);\n setSelectedKeys({ ...selectedKeys, type: currentType, columnId });\n }\n }, [visible]);\n\n useEffect(() => {\n if (initialFilters && initialFilters.value && initialFilters.type && initialFilters.value !== searchValue) {\n const searchType = findDataType(dataType);\n setSearchType(searchType);\n setSelectedKeys({ ...selectedKeys, value: initialFilters.value, type: initialFilters.type, columnId });\n setSearchValue(initialFilters.value);\n confirm();\n }\n }, []);\n\n const findDataType = (value: string) => {\n if (value === ValueType.Boolean) {\n return BooleanFilterTypes.Equals;\n }\n if (value === ValueType.String) {\n return StringFilterTypes.Contains;\n }\n if (value === ValueType.Number) {\n return NumberFilterTypes.Equals;\n }\n if (value === ValueType.Date) {\n return DateFilterTypes.Equals;\n }\n return StringFilterTypes.Contains;\n };\n\n const handleSearch = () => {\n confirm();\n };\n\n const handleReset = () => {\n setSelectedKeys(\"\");\n const searchType = findDataType(dataType);\n setSearchType(searchType);\n setSearchValue(\"\");\n clearFilters();\n confirm();\n };\n\n const handleSearchValueChange = (e, secondValue?: boolean) => {\n if (secondValue) {\n setSearchValue2(e.target ? e.target.value : e);\n setSelectedKeys({\n value: searchValue,\n value2: e.target ? e.target.value : e,\n type: searchType,\n columnId\n });\n return;\n }\n setSearchValue(e.target ? e.target.value : e);\n setSelectedKeys({ value: e.target ? e.target.value : e, type: searchType, columnId });\n };\n\n const isBlank =\n searchType === StringFilterTypes.Blank ||\n searchType === NumberFilterTypes.Blank ||\n searchType === DateFilterTypes.Blank ||\n searchType === BooleanFilterTypes.Blank;\n const isNotBlank =\n searchType === StringFilterTypes.NotBlank ||\n searchType === NumberFilterTypes.NotBlank ||\n searchType === DateFilterTypes.NotBlank ||\n searchType === BooleanFilterTypes.NotBlank;\n const isStringDataType = dataType === ValueType.String || !dataType;\n const isDesignTime = window.kuika.isDesignTime;\n\n return (\n
    \n {\n setSearchType(value);\n setSelectedKeys({ value: searchValue, type: value, columnId });\n }}\n >\n {isStringDataType && (\n \n )}\n {isStringDataType && (\n \n )}\n {isStringDataType && (\n \n )}\n {isStringDataType && (\n \n )}\n {isStringDataType && (\n \n )}\n {isStringDataType && (\n \n )}\n {isStringDataType && }\n {isStringDataType && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Number && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Date && (\n \n )}\n {dataType === ValueType.Boolean && (\n \n )}\n {dataType === ValueType.Boolean && (\n \n )}\n {dataType === ValueType.Boolean && (\n \n )}\n {dataType === ValueType.Boolean && (\n \n )}\n {/* */}\n \n {isString(searchType) && !isBlank && !isNotBlank && (\n handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {isNumber(searchType) && !isBlank && !isNotBlank && (\n handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {isDate(searchType) && !isBlank && !isNotBlank && (\n handleSearchValueChange(e)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n readOnly={isDesignTime}\n />\n )}\n {searchType === DateFilterTypes.Between && (\n handleSearchValueChange(e, true)}\n style={{ width: \"100%\", marginBottom: 8, display: \"block\" }}\n autoFocus\n />\n )}\n {isBoolean(searchType) && !isBlank && !isNotBlank && (\n {\n setSearchValue(value);\n setSelectedKeys({ value, type: searchType, columnId });\n }}\n language={language}\n source={\"FilterDropdown\"}\n />\n )}\n\n \n \n
    \n );\n};\n\nexport default CustomFilterDropdown;\n","import { SearchOutlined } from \"@ant-design/icons\";\nimport { Input } from \"antd/es\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { ValueType } from \"../base-table\";\nimport TriStateSwitch from \"../tri-state-switch\";\n\ninterface TableHeaderCellProps {\n style?: any;\n columnStyle?: any;\n textDirection?: string;\n columnSearchText?: string;\n setColumnSearchText?: (key, value) => void;\n title?: string;\n children?: any;\n searchable?: boolean;\n type?: ValueType;\n dataValue?: string;\n resizeListener?: (e: MouseEvent) => void;\n setResizingColumnIndex?: (index: number) => void;\n resizableColumns?: boolean;\n isSearchHidden?: boolean;\n className?: string;\n isFilteringHidden?: boolean;\n isSortingHidden?: boolean;\n tableFiltering?: boolean;\n index?: number;\n onHeaderSearchBlur?: () => void;\n}\n\ninterface TableHeaderCellState {\n searchValue: string;\n}\n\ndeclare let window: any;\n\nexport class TableHeaderCell extends PureComponent {\n debouncedSetSearchText: (value: string) => void;\n\n constructor(props: TableHeaderCellProps) {\n super(props);\n this.state = {\n searchValue: \"\"\n };\n this.debouncedSetSearchText = _.debounce(this.setSearchText.bind(this), 200);\n }\n\n getStyle = (): any => {\n let style: any = {};\n if (this.props.style) {\n style = _.clone(this.props.style);\n }\n if (\n !style.border &&\n !style.borderColor &&\n !style.borderTop &&\n !style.borderBottom &&\n !style.borderRight &&\n !style.borderLeft &&\n !style.borderWidth\n ) {\n style.borderWidth = 0;\n }\n if (!style.backgroundColor && !style.background) {\n style.backgroundColor = \"transparent\";\n }\n if (this.props.columnStyle && this.props.columnStyle.textAlign) {\n style.textAlign = this.props.columnStyle.textAlign;\n }\n if (this.props.textDirection && this.props.textDirection !== \"Default\") {\n if (style.textAlign === \"-webkit-left\") {\n style.verticalAlign = this.props.textDirection === \"Rotate Up\" ? \"bottom\" : \"top\";\n } else if (style.textAlign === \"-webkit-right\") {\n style.verticalAlign = this.props.textDirection === \"Rotate Up\" ? \"top\" : \"bottom\";\n } else {\n style.verticalAlign = \"middle\";\n }\n style.textAlign = \"-webkit-center\";\n }\n if (this.props.columnStyle && this.props.columnStyle.padding) {\n style.paddingLeft = this.props.columnStyle.padding;\n style.paddingRight = this.props.columnStyle.padding;\n }\n if (this.props.columnStyle && this.props.columnStyle.paddingLeft) {\n style.paddingLeft = this.props.columnStyle.paddingLeft;\n }\n if (this.props.columnStyle && this.props.columnStyle.paddingRight) {\n style.paddingRight = this.props.columnStyle.paddingRight;\n }\n if (style?.display) {\n delete style.display;\n }\n return style;\n };\n\n componentDidMount(): void {\n const { columnSearchText, dataValue, type } = this.props;\n if (columnSearchText && columnSearchText[dataValue] && dataValue) {\n this.setState({ searchValue: columnSearchText[dataValue] });\n if (window.kuika.columnSearchChanged === dataValue) {\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const input: any = tableHeader.querySelector(\"input\");\n if (input) {\n setTimeout(() => {\n input.focus();\n window.kuika.columnSearchChanged = null;\n }, 0);\n }\n }\n } else if (\n dataValue &&\n columnSearchText &&\n type === ValueType.Boolean &&\n (columnSearchText[dataValue] === null ||\n columnSearchText[dataValue] === false ||\n columnSearchText[dataValue] === true ||\n columnSearchText[dataValue] === \"false\" ||\n columnSearchText[dataValue] === \"true\")\n ) {\n this.setState({ searchValue: columnSearchText[dataValue] });\n }\n\n const tableHeader = ReactDOM.findDOMNode(this) as Element;\n const { style } = this.props;\n if (!tableHeader) return;\n const antTableFilterTrigger = tableHeader.querySelector(\".ant-table-filter-trigger\");\n const antTableColumnSorter = tableHeader.querySelector(\".ant-table-column-sorter\");\n if (style.color) {\n if (antTableFilterTrigger) {\n antTableFilterTrigger.setAttribute(\"style\", `color: ${style.color}`);\n }\n if (antTableColumnSorter) {\n antTableColumnSorter.setAttribute(\"style\", `color: ${style.color}`);\n }\n }\n }\n\n setSearchText(value: string) {\n const { setColumnSearchText, dataValue } = this.props;\n if (setColumnSearchText && dataValue) {\n setColumnSearchText(dataValue, value);\n }\n window.kuika.columnSearchChanged = dataValue;\n }\n\n handleSearchChange = (e: React.ChangeEvent) => {\n const value = e.target.value;\n this.setState({ searchValue: value }, () => {\n if (value?.length > 2 || value === \"\" || value === null || value === undefined) {\n this.debouncedSetSearchText(value);\n }\n });\n };\n\n handleSearchBlur = () => {\n const { setColumnSearchText, dataValue } = this.props;\n if (setColumnSearchText && dataValue) {\n setColumnSearchText(dataValue, this.state.searchValue);\n }\n if (this.props.onHeaderSearchBlur) this.props.onHeaderSearchBlur();\n };\n\n renderInput = () => {\n const { type, columnSearchText, dataValue } = this.props;\n const language = localStorage.getItem(\"ml\");\n const { searchValue } = this.state;\n\n const isDesignTime = window.kuika.isDesignTime;\n\n const inputType = type === ValueType.Number ? \"number\" : type === ValueType.Date ? \"date\" : \"text\";\n if (type === ValueType.Boolean) {\n return (\n {\n this.setState({ searchValue: value }, () => {\n this.handleSearchBlur();\n if (this.props.onHeaderSearchBlur) this.props.onHeaderSearchBlur();\n });\n }}\n language={language}\n source={\"TableHeaderCell\"}\n />\n );\n }\n return (\n e.stopPropagation()}\n onChange={this.handleSearchChange}\n onBlur={this.handleSearchBlur}\n onPressEnter={(e) => {\n e.stopPropagation();\n this.handleSearchBlur();\n }}\n suffix={\n {\n e.stopPropagation();\n this.handleSearchBlur();\n }}\n />\n }\n readOnly={isDesignTime}\n />\n );\n };\n\n getProps = (): any => {\n const props = _.clone(this.props);\n let className = props.className;\n if (props.isSearchHidden) {\n className = `${className} hidden-search`;\n }\n if (props.isSortingHidden && !props.isFilteringHidden && !props.isSearchHidden) {\n className = `${className} hidden-sorting`;\n }\n if (props.isFilteringHidden && !props.isSortingHidden && !props.isSearchHidden && props.tableFiltering) {\n className = `${className} hidden-filtering`;\n }\n if (props.isSortingHidden && props.isSearchHidden && !props.isFilteringHidden) {\n className = `${className} hidden-filtering`;\n }\n return {\n ...props,\n className\n };\n };\n\n render(): ReactNode {\n const hasSearchable = this.props.dataValue || typeof this.props.children[1] === \"object\";\n const screenWidth = window.innerWidth;\n return (\n \n {this.props.resizableColumns && !window.kuika.isDesignTime && screenWidth > 1024 && (\n {\n this.props.setResizingColumnIndex(this.props.index);\n window.addEventListener(\"mousemove\", this.props.resizeListener, { passive: true });\n }}\n />\n )}\n {...this.props.children}\n {this.props.title &&\n this.props.title !== \"\" &&\n this.props.searchable &&\n hasSearchable &&\n !this.props.isSearchHidden &&\n this.renderInput()}\n \n );\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableHeaderRowProps {\n style?: any;\n}\n\ninterface TableHeaderRowState {}\n\nexport class TableHeaderRow extends PureComponent {\n constructor(props: TableHeaderRowProps) {\n super(props);\n }\n\n getProps = () => {\n const props: any = _.clone(this.props);\n if (props?.style?.display) {\n delete props.style.display;\n }\n return props;\n };\n\n render(): ReactNode {\n return ;\n }\n}\n","import _ from \"lodash\";\nimport React, { PureComponent } from \"react\";\n\ninterface RefreshDelegateProps {\n Component: React.ElementType;\n setRefreshDelegate: (refreshMethod: (nextProps?: any, callBack?: any) => void) => void;\n}\n\nexport class RefreshDelegate extends PureComponent {\n constructor(props: any) {\n super(props);\n }\n\n refresh = (nextProps?: any, callBack?: any) => {\n this.setState(nextProps, () => {\n if (callBack) callBack();\n });\n };\n\n componentDidMount = () => {\n if (this.props.setRefreshDelegate) {\n this.props.setRefreshDelegate(this.refresh);\n }\n };\n\n getProps = () => {\n let props: any = {};\n if (this.props) {\n props = _.clone(this.props);\n }\n if (props.Component) {\n delete props.Component;\n }\n return props;\n };\n\n render = () => {\n const { Component } = this.props;\n return ;\n };\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface CarouselViewWrapperProps {\n style?: any;\n}\n\ninterface CarouselViewWrapperState {}\n\nexport class CarouselViewWrapper extends PureComponent {\n constructor(props: CarouselViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface FlexGridViewWrapperProps {\n style?: any;\n}\n\ninterface FlexGridViewWrapperState {}\n\nexport class FlexGridViewWrapper extends PureComponent {\n constructor(props: FlexGridViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GalleryViewWrapperProps {\n style?: any;\n}\n\ninterface GalleryViewWrapperState {}\n\nexport class GalleryViewWrapper extends PureComponent {\n constructor(props: GalleryViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import { PureComponent, ReactNode } from \"react\";\n\ninterface GoogleMapsViewWrapperProps {\n style?: any;\n}\n\ninterface GoogleMapsViewWrapperState {}\n\nexport class GoogleMapsViewWrapper extends PureComponent {\n constructor(props: GoogleMapsViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n render(): ReactNode {\n return
    ;\n }\n}\n","import _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\n\ninterface TableViewWrapperProps {\n style?: any;\n scrollable?: boolean;\n}\n\ninterface TableViewWrapperState {}\n\nexport class TableViewWrapper extends PureComponent {\n constructor(props: TableViewWrapperProps) {\n super(props);\n this.state = {};\n }\n\n getStyle = (): any => {\n let result: any = {};\n if (this.props.style) {\n result = _.clone(this.props.style);\n }\n result.borderCollapse = \"collapse\";\n if (result?.display) {\n delete result.display;\n }\n if (this.props.scrollable) {\n result.minWidth = \"max-content\";\n }\n result.height = \"100%\";\n return result;\n };\n\n render(): ReactNode {\n return ;\n }\n}\n","import withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common/common-props\";\nimport { BaseTable, ITableProps as TableProps, ITableState as TableState } from \"./base-table\";\n\nclass Table extends BaseTable {\n constructor(props: TableProps & CommonProps) {\n super(props);\n }\n\n public static defaultProps = {\n mode: \"table\",\n showHeader: true,\n designClicked: false\n };\n}\n\nconst table = withCommonEvents(Table);\nexport { table as Table };\n","import { Input } from \"antd/es\";\nimport { InputProps } from \"antd/es/input\";\nimport _ from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport InputMask from \"react-input-mask\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { CommonProps } from \"../common-props\";\nimport { Icon } from \"../icon/icon\";\n\ndeclare let window: any;\nconst defaultAllowedKeys = [\"Backspace\", \"ArrowLeft\", \"ArrowRight\", \"ArrowUp\", \"ArrowDown\", \"Enter\", \"Delete\"];\n\nexport interface TextboxProps extends Omit {\n prefix?: string;\n suffix?: string;\n iconColor?: string;\n mask?: string;\n formatter: \"None\" | \"Lowercase\" | \"Uppercase\";\n isCharOnly?: boolean;\n allowedChars?: string;\n maxLength?: number;\n autoComplete?: boolean;\n isNumberOnly?: boolean;\n inputMode?: any | \"char\" | \"all\" | \"number\";\n}\n\ninterface TextboxState {}\n\nclass TextInput extends PureComponent {\n constructor(props: TextboxProps) {\n super(props);\n this.state = {};\n }\n\n handleAffixStyling = () => {\n const node = ReactDOM.findDOMNode(this) as Element;\n const input = node.getElementsByTagName(\"input\")[0];\n if (!input) {\n return;\n }\n if (this.props.style?.backgroundColor) {\n input.style.backgroundColor = this.props.style?.backgroundColor as any;\n }\n if (this.props.style?.color) {\n input.style.color = this.props.style?.color as any;\n }\n };\n\n getPrefixSuffixStyles = (): React.CSSProperties => {\n const { style, iconColor } = this.props;\n\n const result: React.CSSProperties = {\n color: iconColor\n };\n\n if (style.fontSize) {\n result.fontSize = `calc(${style.fontSize} * 1.5714285714285714)`;\n }\n\n return result;\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n const style: any = _.clone(this.props.style);\n const prefixSuffixStyles = this.getPrefixSuffixStyles();\n const isDesignTime = window?.kuika?.isDesignTime === true;\n\n if (style.display === \"block\") {\n style.display = \"flex\";\n } else if (style.display === \"inline\") {\n style.display = \"inline-flex\";\n }\n if (props.prefix && props.prefix.length > 0) {\n props.prefix = ;\n } else if (props.prefix) {\n delete props.prefix;\n }\n\n if (props.suffix && props.suffix.length > 0) {\n props.suffix = ;\n } else if (props.suffix) {\n delete props.suffix;\n }\n if (props.iconColor) {\n delete props.iconColor;\n }\n if (props.onChange) {\n delete props.onChange;\n }\n if (props?.value?.toString) {\n if (this.props.formatter === \"Uppercase\") {\n props.value = props.value.toString().toLocaleUpperCase(\"TR\");\n } else if (this.props.formatter === \"Lowercase\") {\n props.value = props.value.toString().toLocaleLowerCase(\"TR\");\n } else {\n props.value = props.value.toString();\n }\n if (this.props.isCharOnly || this.props?.inputMode === \"char\") {\n props.value = props.value.toString().replace(/[^a-zA-ZğüşöçİĞÜŞÖÇ\\s]/gi, \"\");\n } else if (this.props?.inputMode === \"number\") {\n props.value = props.value.toString().replace(/[^0-9]/g, \"\");\n } else {\n props.value = props.value.toString();\n }\n if (props.maxLength && !isDesignTime && !props.mask) {\n props.value = props.value.toString().substring(0, props.maxLength);\n }\n if (props.mask) {\n delete props.maxLength;\n }\n }\n\n if (props?.autoComplete === false) {\n props.autoComplete = \"off\";\n }\n\n if (!props?.formatCharacters) {\n props.formatCharacters = {\n \"0\": {\n validate() {\n return \"0\";\n }\n },\n \"2\": {\n validate() {\n return \"2\";\n }\n },\n \"3\": {\n validate() {\n return \"3\";\n }\n },\n \"4\": {\n validate() {\n return \"4\";\n }\n },\n \"5\": {\n validate() {\n return \"5\";\n }\n },\n \"6\": {\n validate() {\n return \"6\";\n }\n },\n \"7\": {\n validate() {\n return \"7\";\n }\n },\n \"8\": {\n validate() {\n return \"8\";\n }\n },\n \"9\": {\n validate() {\n return \"9\";\n }\n }\n };\n }\n\n props.style = style;\n\n return props;\n };\n\n componentDidMount() {\n if (\n this.props.style &&\n (this.props.style?.backgroundColor || this.props.style?.color) &&\n (this.props.prefix || this.props.suffix || this.props.allowClear)\n ) {\n this.handleAffixStyling();\n }\n }\n\n handleOnChange = (e: any) => {\n if (e.type === \"click\") {\n e.target.value = \"\";\n this.props.onPressEnter?.(e);\n }\n\n if (this.props?.isCharOnly === true || this.props?.inputMode === \"char\") {\n e.target.value.replace(/[^a-zA-ZığüşöçİĞÜŞÖÇ\\s]/gi, \"\");\n }\n\n if (this.props?.inputMode === \"number\") {\n e.target.value = e.target.value.replace(/[^0-9]/g, \"\");\n }\n\n if (this.props.allowedChars && this.props.allowedChars.length > 0) {\n const charArr = this.props.allowedChars.split(\"\");\n e.target.value = e.target.value\n ?.split(\"\")\n ?.filter((char) => charArr.includes(char))\n ?.join(\"\");\n }\n\n if (this.props.onChange) {\n if (this.props.formatter === \"Uppercase\") {\n e.target.value = (e.target.value as string).toLocaleUpperCase(\"TR\");\n } else if (this.props.formatter === \"Lowercase\") {\n e.target.value = (e.target.value as string).toLocaleLowerCase(\"TR\");\n }\n this.props.onChange(e);\n }\n };\n\n render(): ReactNode {\n if (this.props.mask && window?.kuika?.isDesignTime !== true) {\n return (\n \n {(inputProps) => }\n \n );\n }\n return (\n <>\n \n \n );\n }\n}\n\nconst textInput = withCommonEvents(TextInput);\nexport { textInput as TextInput };\n","export enum DashboardState {\n design = 1,\n locked = 5,\n readOnly = 6,\n dataDiagramScheme = 9,\n workFlow = 11,\n configManager = 12,\n notificationTemplate = 13,\n scheduledJobs = 14,\n apiManagement = 15,\n zendesk = 16,\n reportDesigner = 17,\n runSettings = 18\n}\n\nexport const toCamelCase = (str: string): string => {\n if (!str) return \"\";\n return str.charAt(0).toLowerCase() + str.substr(1);\n};\n\nexport interface IGoogleMapsValue {\n latitude: number;\n longitude: number;\n}\n\ninterface IPropertyChangedMessage {\n propertyName: string;\n value: any;\n kuikaId: string;\n shouldClosePropertyExpand?: boolean;\n}\n\nenum FrameMessageType {\n selectItemMessage = 4,\n cloneItemMessage = 6,\n dragDropByCreateItemMessage = 7,\n dragDropByMoveItemMessage = 8,\n addChildItemMessage = 9,\n exceptionHandlingMessage = 12,\n removeItemMessage = 14,\n changeDashboardStateMessage = 20,\n genereatePNGToDownloadResultMessage = 23,\n updateGeneratedCodesToDownloadMessage = 24,\n changePositionMessage = 27,\n propertyChangedMessage = 28,\n copyItemMessage = 29,\n pasteItemMessage = 30,\n pasteItemStyleMessage = 31,\n getClipboardValue = 32,\n undoMessage = 33,\n redoMessage = 34,\n saveScreenMessage = 35,\n setNewScreenModalVisibilityMessage = 36,\n setActiveLeftPanelByClickMessage = 37,\n setActiveRightPanelByClickMessage = 38,\n showActionPopup = 39,\n injectDisplayItemToTargetDisplayItemMessage = 40,\n showWorkflowBusinessObjectPopup = 41\n}\n\ndeclare let window: any;\nexport class FrameMessageSender {\n send = (messageType: FrameMessageType, message?: IPropertyChangedMessage) => {\n const messageId: string = (Math.floor(Math.random() * 10000) + 1).toString();\n // console.log(\">>>>>> Sent Message From Frame To Designer (\" + FrameMessageType[messageType].toString()+\", Message ID:\" + messageId + \", \" + new Date().getSeconds() + \"-\" + new Date().getMilliseconds() + \" )\");\n // console.log(message);\n // console.log(\">>>>>>\");\n if (!message || !messageType) {\n return;\n }\n const event = {\n iframeMessage: { messageType, message, messageId }\n };\n window.parent.window.postMessage(event, \"*\");\n };\n\n propertyChangedMessage = (message: IPropertyChangedMessage) => {\n this.send(FrameMessageType.propertyChangedMessage, message);\n };\n}\n","import { Select, Spin } from \"antd/es\";\nimport { SelectProps } from \"antd/es/select\";\nimport _, { debounce } from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\ninterface IKSelectBoxProps extends SelectProps {\n datatextfield?: string;\n datavaluefield?: any;\n widthType?: \"fill\" | \"content\";\n onSearchValueChange: (searchValue: string) => void;\n getTextFromValue: (value: any) => void;\n}\n\ninterface IKSelectBoxState {\n fetching: boolean;\n}\n\nclass DebounceSelect extends PureComponent {\n constructor(props: IKSelectBoxProps) {\n super(props);\n this.state = {\n fetching: false\n };\n }\n\n waitAndSearch = debounce((value) => this.handleSearch(value), 800);\n\n handleSearch = (value) => {\n if (this.props.onSearchValueChange) {\n this.props.onSearchValueChange(value);\n }\n };\n\n handleChange = (value) => {\n this.setState({\n fetching: false\n });\n\n if (this.props.onChange) {\n this.props.onChange(value, []);\n }\n };\n\n getProps = () => {\n const props: any = _.clone(this.props);\n return props;\n };\n\n render(): ReactNode {\n const { fetching } = this.state;\n return (\n : null}\n filterOption={false}\n onSearch={this.waitAndSearch}\n onChange={this.handleChange}\n showSearch\n loading={fetching}\n >\n );\n }\n}\n\nconst kSelectBox = withCommonEvents(DebounceSelect);\nexport { kSelectBox as KDebounceSelect };\n","import { Select } from \"antd/es\";\nimport { SelectProps } from \"antd/es/select\";\nimport { Guid } from \"guid-typescript\";\nimport _, { debounce } from \"lodash\";\nimport React, { PureComponent, ReactNode } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\nimport { KDebounceSelect } from \"./k-debounceSelect\";\nimport \"./selectbox.scss\";\n\ndeclare let window: any;\n\nexport interface IKSelectBoxProps extends SelectProps {\n datatextfield?: string;\n datavaluefield?: any;\n widthType?: \"fill\" | \"content\";\n searchable?: boolean;\n getTextFromValue?: (value: any) => void;\n onChange: (value: any) => void;\n defaultText: string;\n sortBy?: string;\n containsNullItem?: boolean;\n autoRefresh?: boolean;\n}\n\ninterface IKSelectBoxState {\n uniqueKey: Guid;\n}\n\nclass KSelectBox extends PureComponent {\n private memoizedDynamicCssResult = \"\";\n\n constructor(props: IKSelectBoxProps) {\n super(props);\n this.state = {\n uniqueKey: Guid.create()\n };\n }\n\n public getAllData = () => {\n return this.props.options;\n };\n\n componentDidMount = () => {\n this.setDynamicStyle();\n this.handleComponentStyling();\n if (\n this.props.autoRefresh &&\n this.props.value === undefined &&\n this.props.onChange &&\n this.props.mode === \"multiple\" &&\n typeof this.props.onChange === \"function\"\n ) {\n this.props.onChange([]);\n }\n };\n\n componentDidUpdate = () => {\n this.handleComponentStyling();\n };\n\n setDynamicStyle = () => {\n const uniquekey = this.state.uniqueKey?.toString();\n if (!uniquekey) {\n return;\n }\n const isDesignTime = window.kuika?.isDesignTime;\n if (this.memoizedDynamicCssResult !== \"\" && !isDesignTime) {\n return this.memoizedDynamicCssResult;\n }\n const dynamic_style = document.getElementById(\"dynamic_style\");\n if (dynamic_style && dynamic_style.innerHTML?.indexOf(uniquekey) === -1) {\n const generatedCss = this.getDynamicCss();\n dynamic_style.innerHTML = `${dynamic_style.innerHTML}\n ${generatedCss}`;\n this.memoizedDynamicCssResult = generatedCss;\n }\n };\n\n getBgColor = (): string | undefined => {\n if (this.props.style?.backgroundColor) {\n return `background-color: ${this.props.style?.backgroundColor} !important;`;\n }\n };\n\n getFontSize = (): string | undefined => {\n if (this.props.style?.fontSize) {\n return `font-size: ${this.props.style?.fontSize.toString()} !important;`;\n }\n };\n\n getFontWeight = (): string | undefined => {\n if (this.props.style?.fontWeight) {\n return `font-weight: ${this.props.style?.fontWeight} !important;`;\n }\n };\n\n getColor = (): string | undefined => {\n if (this.props.style?.color) {\n return `color: ${this.props.style?.color};`;\n }\n };\n\n getDynamicCss = (): string => {\n const className: string = this.getClassName();\n if (!className || className.length === 0) {\n return \"\";\n }\n\n const bgColor = this.getBgColor();\n const color = this.getColor();\n const fontSize = this.getFontSize();\n const fontWeight = this.getFontWeight();\n let result = \"\";\n\n if (this.props.style?.color) {\n if (this.props.style?.color.substring(0, 4) === \"rgba\") {\n const match = /rgba?\\((\\d+)\\s*,\\s*(\\d+)\\s*,\\s*(\\d+)\\s*(,\\s*\\d+[\\.\\d+]*)*\\)/g.exec(this.props.style?.color);\n if (match) {\n const newColor = `rgba(${[match[1], match[2], match[3], 0.15].join(\",\")})`;\n result += `\n .kdropdown-${className.trim()} .ant-select-item-option:hover,\n .kdropdown-${className.trim()} .ant-select-item-option-active {\n background-color: ${newColor} !important;\n }`;\n }\n }\n }\n\n if (bgColor || color || fontSize || fontWeight) {\n result += `.${className.trim()} > .ant-select-selector {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result += `.${className.trim()} > .ant-select-arrow {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} {\n ${bgColor !== undefined ? `${bgColor}` : ``}${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option {\n ${color !== undefined ? color : ``}\n }`;\n\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option-content {\n ${fontSize !== undefined ? fontSize : ``}\n ${color !== undefined ? color : ``}\n }`;\n result +=\n `\n .` +\n `kdropdown-${className.trim()} .ant-select-item-option-content {\n ${fontWeight !== undefined ? fontWeight : ``}\n }`;\n }\n\n if (this.props.style?.color || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-select-selection-search-input, .ant-select-selection-item {\n `;\n if (this.props.style?.color) result += `color: ${this.props.style?.color} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n if (this.props.style?.fontSize || this.props.style?.fontFamily || this.props.style?.fontWeight) {\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n `;\n if (this.props.style?.fontSize) result += `font-size: ${this.props.style?.fontSize} !important;`;\n if (this.props.style?.fontFamily) result += `font-family: ${this.props.style?.fontFamily} !important;`;\n if (this.props.style?.fontWeight) result += `font-weight: ${this.props.style?.fontWeight} !important;`;\n result += `;\n }`;\n }\n\n const paddingBottom: any = this.props.style?.paddingBottom;\n const paddingLeft: any = this.props.style?.paddingLeft;\n const paddingRight: any = this.props.style?.paddingRight;\n const paddingTop: any = this.props.style?.paddingTop;\n\n result += `.${className.trim()} .ant-select-selector {\n `;\n if (paddingBottom) result += `padding-bottom: ${paddingBottom}px !important;`;\n if (paddingLeft) result += `padding-left: ${paddingLeft}px !important;`;\n if (paddingRight) result += `padding-right: ${paddingRight}px !important;`;\n if (paddingTop) result += `padding-top: ${paddingTop}px !important;`;\n\n result += `;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n `;\n result += `color: #bfbfbf !important;`;\n result += `;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-search-input {\n height: 100% !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-search {\n margin-left: 0 !important;\n inset-inline-start: unset !important;\n inset-inline-end: unset !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-placeholder {\n inset-inline-start: unset;\n inset-inline-end: unset;\n line-height: inherit !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selector:after {\n line-height: inherit !important;\n margin: 0 !important;\n }`;\n\n result += `\n .${className.trim()} .ant-select-selection-item {\n line-height: inherit !important;\n margin: 0 !important;\n }`;\n return result;\n };\n\n getClassName = () => {\n let result = \"\";\n if (this.props.className) {\n result = this.props.className;\n }\n if (!this.state.uniqueKey) {\n return result;\n }\n result = `${result} kselectbox_${this.state.uniqueKey.toString().substring(0, 8)}`;\n return result;\n };\n\n getWidth() {\n if (this.props.widthType && this.props.widthType == \"content\") {\n return \"max-content\";\n }\n return \"100%\";\n }\n\n handleComponentStyling = () => {\n if (!this.props.style) return;\n const { style } = this.props;\n const node = ReactDOM.findDOMNode(this) as Element;\n const item = node.querySelector(\".ant-select-selector\") as HTMLElement;\n const input = node.querySelector(\".ant-select-selection-search-input\") as HTMLElement;\n const isMultiple = node?.classList?.contains(\"ant-select-multiple\");\n if (input) {\n input.setAttribute(\"focusid\", this.props.id);\n }\n if (!isMultiple) {\n if (this.props.style?.height) {\n this.handleHeight(item);\n } else {\n item.style.height = \"40px\";\n }\n\n if (this.props.style?.minHeight) {\n this.handleMinHeight(item);\n } else if (this.props.style?.height) {\n item.style.minHeight = this.props.style?.height as string;\n } else {\n item.style.minHeight = \"40px\";\n }\n\n if (this.props.style?.maxHeight) {\n this.handleMaxHeight(item);\n }\n }\n if (this.props.style?.color) {\n this.handleColor(node, style);\n }\n if (this.props.style?.fontSize) {\n this.handleFontSize(node);\n }\n if (this.props.style?.fontWeight) {\n this.handleFontWeight(item, style);\n }\n\n this.handleBorderRadius(item, style);\n this.handleBorder(item, style);\n };\n\n handleHeight = (item: HTMLElement) => {\n item.style.height = this.props.style!.height as any;\n item.style.alignItems = \"center\";\n };\n\n handleMinHeight = (item: HTMLElement) => {\n item.style.minHeight = this.props.style!.minHeight as any;\n };\n\n handleMaxHeight = (item: HTMLElement) => {\n item.style.maxHeight = this.props.style!.maxHeight as any;\n };\n\n handleFontWeight = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.fontWeight && item && item.style) {\n item.style.fontWeight = this.props.style!.fontWeight.toString();\n }\n };\n\n handleBorderRadius = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.borderRadius !== undefined) {\n item.style.borderRadius = `${style.borderRadius.toString()}px` as any;\n }\n if (style?.borderTopLeftRadius !== undefined) {\n item.style.borderTopLeftRadius = `${style.borderTopLeftRadius.toString()}px` as any;\n }\n if (style?.borderTopRightRadius !== undefined) {\n item.style.borderTopRightRadius = `${style.borderTopRightRadius.toString()}px` as any;\n }\n if (style?.borderBottomLeftRadius !== undefined) {\n item.style.borderBottomLeftRadius = `${style.borderBottomLeftRadius.toString()}px` as any;\n }\n if (style?.borderBottomRightRadius !== undefined) {\n item.style.borderBottomRightRadius = `${style.borderBottomRightRadius.toString()}px` as any;\n }\n };\n\n handleBorder = (item: HTMLElement, style: React.CSSProperties) => {\n if (style?.border) {\n item.style.border = style.border as any;\n }\n if (style?.borderRadius) {\n item.style.borderRadius = style.borderRadius as any;\n }\n if (style?.borderWidth) {\n item.style.borderWidth = style.borderWidth as any;\n }\n if (style?.borderColor) {\n item.style.borderColor = style.borderColor as any;\n }\n if (style?.borderStyle) {\n item.style.borderStyle = style.borderStyle as any;\n }\n if (style?.borderTopWidth != undefined) {\n item.style.borderTopWidth = `${style.borderTopWidth.toString()}px` as any;\n }\n if (style?.borderRightWidth != undefined) {\n item.style.borderRightWidth = `${style.borderRightWidth.toString()}px` as any;\n }\n if (style?.borderBottomWidth != undefined) {\n item.style.borderBottomWidth = `${style.borderBottomWidth.toString()}px` as any;\n }\n if (style?.borderLeftWidth != undefined) {\n item.style.borderLeftWidth = `${style.borderLeftWidth.toString()}px` as any;\n }\n };\n\n handleColor = (node: Element, style: React.CSSProperties) => {\n const selectionItem: HTMLElement = node.getElementsByClassName(\"ant-select-selection-item\")[0] as HTMLElement;\n if (selectionItem) {\n selectionItem.style.color = style?.color as any;\n }\n };\n\n handleFontSize = (node: Element) => {\n const item = node.firstChild as HTMLElement;\n item.style.fontSize = this.props.style!.fontSize as any;\n item.style.alignItems = \"center\";\n };\n\n getProps = () => {\n const isDesignTime = window.kuika?.isDesignTime;\n const props: any = {};\n props.datatextfield = this.props.datatextfield;\n props.datavaluefield = this.props.datavaluefield;\n props.widthType = this.props.widthType;\n props.searchable = this.props.searchable;\n props.options = this.props.options;\n props.onChange = this.props.onChange ?? _.noop;\n props.placeholder = this.props.placeholder;\n props.onBlur = isDesignTime ? () => {} : this.props.onBlur ?? _.noop;\n props.className = this.props.className;\n props.allowClear = this.props.allowClear;\n props.showSearch = this.props.showSearch;\n props.mode = this.props.mode;\n if (typeof this.props.maxTagCount == \"number\" && this.props.maxTagCount >= 0) {\n props.maxTagCount = this.props.maxTagCount;\n }\n\n let style: any | undefined = _.clone(this.props.style);\n if (props.options) {\n delete props.options;\n }\n if (!style) {\n style = {\n width: this.getWidth()\n };\n } else if (!style.width) {\n style.width = this.getWidth();\n }\n if (style) {\n style.border = \"none\";\n delete style.padding;\n delete style.paddingTop;\n delete style.paddingRight;\n delete style.paddingBottom;\n delete style.paddingLeft;\n delete style.borderLeftWidth;\n delete style.borderBottomWidth;\n delete style.borderRightWidth;\n delete style.borderTopWidth;\n delete style.borderTopLeftRadius;\n delete style.borderTopRightRadius;\n delete style.borderBottomLeftRadius;\n delete style.borderBottomRightRadius;\n delete style.backgroundColor;\n\n if (style.display == \"block\") {\n style.display = \"flex\";\n } else if (style.display == \"inline\") {\n style.display = \"inline-flex\";\n }\n }\n props.style = style;\n if (props.value == \"\") {\n delete props.value;\n }\n if (props.value) {\n delete props.value;\n }\n if (isDesignTime) {\n props.getPopupContainer = (triggerNode) => triggerNode.parentNode;\n }\n return props;\n };\n\n getOptions = (): object[] | undefined => {\n const isDesignTime = window.kuika?.isDesignTime;\n const dataTextField = this.props.datatextfield;\n const dataValueField = this.props.datavaluefield;\n if (dataTextField && dataValueField && dataTextField.length > 1 && dataValueField.length > 1) {\n let options: any[] = [];\n if (this.props.options && this.props.options.length && this.props.options.length > 0) {\n this.props.options.forEach((row) => {\n if (\n !_.isUndefined(row) &&\n !_.isUndefined(row[dataTextField!]) &&\n row[dataValueField] !== null &&\n row[dataValueField] !== undefined\n ) {\n options.push({\n label: row[dataTextField!],\n value: row[dataValueField],\n key: row[dataValueField]\n });\n }\n });\n }\n\n if (this.props.sortBy) {\n if (this.props.sortBy == \"A-Z\") {\n options = options.sort((a, b) => a?.label?.localeCompare(b.label));\n } else if (this.props.sortBy == \"Z-A\") {\n options = options.sort((a, b) => b?.label?.localeCompare(a.label));\n }\n }\n\n if (this.props.containsNullItem) {\n options.unshift({\n label: this.props.placeholder ?? \"\",\n value: null,\n key: \"null\"\n });\n }\n\n return options;\n }\n if (isDesignTime) {\n let options: any[] = [];\n if (this.props.options && this.props.options.length) {\n this.props.options.forEach((element) => {\n options.push({\n label: element.text ?? element.value,\n value: element.text ?? element.value,\n key: element.key ?? element.value\n });\n });\n }\n return options;\n }\n\n return this.props.options;\n };\n\n getFormValue = () => {\n return this.props.value;\n };\n\n getValue = () => {\n if (this.props.mode == \"multiple\") {\n if (this.props.value === \"\") {\n return [];\n }\n if (typeof this.props.value === \"string\") {\n return this.props.value.split(\",\");\n }\n return this.props.value;\n }\n if (this.props.searchable !== true) {\n let value;\n const options = this.getOptions() as any;\n if (options && options.length) {\n options.forEach((element) => {\n if (element.value == this.props.value || element.value == this.props.defaultValue) {\n // 2 eşittir olacak\n value = element.value;\n }\n });\n }\n return value;\n }\n\n if (window.kuika?.dashboardState === 1 && (this.props.value === \"\" || this.props.value === undefined)) {\n // Designer\n return undefined;\n }\n\n let { defaultText } = this.props;\n if (this.pressedClear === true) {\n defaultText = \"\";\n }\n let value;\n let text: undefined | string;\n const options = this.getOptions() as any;\n if (options && options.length) {\n options.forEach((element) => {\n if (element && element.value && element.value == this.props.value) {\n // 2 eşittir olacak\n value = element;\n text = element.label;\n }\n });\n }\n if (text !== undefined && this.props.value && this.refreshCounter === 2) {\n this.refreshCounter = 1;\n this.searchValue = \"\";\n this.handleChange({ key: this.props.value, label: text, value: this.props.value });\n }\n if (value === undefined && this.props.searchable === true) {\n if (\n this.props.value != undefined &&\n this.props.value.toString().length > 0 &&\n this.props.getTextFromValue &&\n (this.props.defaultText === undefined || this.props.defaultText === \"\") &&\n this.refreshCounter === 0\n ) {\n this.refreshCounter++;\n this.props.getTextFromValue(this.props.value);\n }\n }\n if (text === undefined || text === \"\") {\n if (\n defaultText &&\n defaultText.length > 0 &&\n this.refreshCounter === 1 &&\n (this.searchValue === undefined || this.searchValue === \"\")\n ) {\n this.refreshCounter++;\n this.waitAndSearch(defaultText);\n }\n text = defaultText;\n }\n if (this.props.value == undefined && text == undefined) {\n return undefined;\n }\n return { key: this.props.value, label: text, value: this.props.value };\n };\n\n refreshCounter: number = 0;\n\n searchValue = \"\";\n\n pressedClear: boolean = false;\n\n getSearchValue = () => {\n return this.searchValue;\n };\n\n waitAndSearch = debounce((value) => this.handleSearch(value), 50);\n\n handleSearch = (value) => {\n this.pressedClear = false;\n this.searchValue = value;\n if (this.props.onSearch) {\n this.props.onSearch(value);\n }\n };\n\n handleGetTextFromValue = (value: any) => {\n if (this.props.getTextFromValue) {\n this.props.getTextFromValue(value);\n }\n };\n\n handleChange = (value: any) => {\n const isDesignTime = window.kuika?.isDesignTime;\n if (value === undefined) {\n this.searchValue = \"\";\n this.pressedClear = true;\n if (this.props.onChange) {\n this.props.onChange(undefined);\n }\n }\n if (this.props.mode == \"multiple\") {\n if (isDesignTime) return;\n this.props.onChange(value);\n } else if (value !== undefined && value.key && this.props.onChange) {\n this.props.onChange(value.key);\n } else if (value !== undefined && this.props?.onChange) {\n if (isDesignTime) return;\n this.props.onChange(value);\n }\n };\n\n render(): ReactNode {\n return (\n <>\n {this.props.searchable === true ? (\n \n ) : (\n {\n // @ts-ignore\n return option?.label?.toLowerCase()?.indexOf(input?.toLowerCase()) >= 0;\n }}\n showSearch={this.props.showSearch}\n value={this.getValue()}\n {...this.getProps()}\n options={this.getOptions() as any}\n className={`k-selectbox-component${this.getClassName()}`}\n popupClassName={`kdropdown-${this.getClassName().trim()}`}\n onChange={this.handleChange}\n >\n )}\n \n );\n }\n}\n\nconst kSelectBox = withCommonEvents(KSelectBox);\nexport { kSelectBox as KSelectBox };\n","import { Tooltip } from \"antd/es\";\nimport _ from \"lodash\";\nimport { PureComponent, ReactNode } from \"react\";\nimport { CommonProps } from \"../../../components/web-components/common/common-props\";\nimport withCommonEvents from \"../../../shared/hoc/with-common-events\";\n\ninterface IKIconProps {\n iconName: string;\n style: any;\n hoverText?: string;\n rounded?: boolean;\n}\n\ninterface IKIconState {}\n\nclass KIcon extends PureComponent {\n constructor(props: IKIconProps) {\n super(props);\n this.state = {};\n }\n\n getProps = () => {\n let result: any = {};\n if (this.props && this.props.style) {\n result = _.clone(this.props);\n if (result && result.style) {\n delete result.style;\n }\n }\n return result;\n };\n\n getStyleProp = () => {\n let style: any = {};\n\n if (this.props.style) {\n style = _.clone(this.props.style);\n if (this.props.style?.fontFamily) {\n delete style.fontFamily;\n }\n }\n if (this.props.showCursorPointer) {\n style.cursor = \"pointer\";\n }\n style.verticalAlign = \"middle\";\n return style;\n };\n\n render(): ReactNode {\n if (this.props.hoverText) {\n return (\n <>\n \n \n {this.props.iconName}\n \n \n \n );\n }\n if (this.props.rounded) {\n \n {this.props.iconName}\n ;\n }\n return (\n <>\n \n {this.props.iconName}\n \n \n );\n }\n}\n\nconst kIcon = withCommonEvents(KIcon);\nexport { kIcon as KIcon };\n"],"names":["MarkerDetailView","MarkerDetailPosition","StringFilterTypes","NumberFilterTypes","DateFilterTypes","BooleanFilterTypes","ValueType","Icon","PureComponent","props","result","_","style","window","DashboardState","Tooltip","icon","withCommonEvents","Button","undefined","alignItems","styles","leftIcon","rightIcon","AntdButton","Space","button","withDoubleClickEdit","BaseChart","React","Math","Date","ChartJS","registerables","ChartDataLabels","DoughnutLabel","prevProps","val","numb","key","red","green","blue","color","labels","displayLabels","tooltipFooterLabels","dataSets","fill","x","KMainFunctions","idx","tooltipTitleLabels","bgColor","data","targetData","className","height","maxHeight","minHeight","width","minWidth","maxWidth","display","isDesignTime","dynamic_style","document","generatedCss","value","formatter","Number","Intl","number2","isNaN","number5","kuikaCulture","localStorage","isLangTR","child","maxYValue","options","context","fields","field","index","Chart","baseChart","barChart","BarChart","lineChart","LineChart","KDatePicker","Guid","inputs","node","ReactDOM","calculatedDisplay","uniquekey","current","cur","disabledDays","day","moment","dateValue","displayText","e","charCode","format","firstLength","secondLength","isOpen","DatePicker","TimePicker","kDatePicker","Divider","isReportDesigner","borderColor","borderWidth","AntdDivider","kIframe","defaultAllowedKeys","Email","input","turkishChars","Input","email","Footer","footer","backendUrl","KuikaAppManager","Image","Map","findDOMNode","parseInt","currentValue","DEFAULT_IMAGE","url","URL","guidValue","HTMLImageElement","currentErrorCountOfThisUrl","imageToFallback","placeholderGuid","ControlledZoom","shouldZoom","image","Label","isInline","defaultText","VMasker","arg1","date","ex","containerStyles","labelStyles","marginTop","marginRight","marginLeft","marginBottom","paddingTop","paddingRight","paddingLeft","paddingBottom","textAlign","backgroundColor","borderTopWidth","borderRightWidth","borderBottomWidth","borderLeftWidth","borderTopLeftRadius","borderTopRightRadius","borderBottomRightRadius","borderBottomLeftRadius","borderStyle","cursor","restOfStyles","textTransformStyle","label","LayoutFooter","layoutFooter","LayoutHeader","layoutHeader","LayoutLeft","layoutLeft","ContentMenu","menuOpeningType","Array","menuItems","i","menu","Menu","Dropdown","contentMenu","ContentMenuItem","iconProp","contentMenuItem","ContentMenuPanel","contentMenuPanel","Drawer","AntDrawer","drawer","Modal","AntdModal","modal","NumberInput","tmp","values","formattedValue","floatValue","newValue","parseFloat","NumberFormat","numberInput","Pagination","pageSize","newPage","page","type","originalElement","pageBoxes","pageBox","paginationWrapper","totalText","pageSizeBox","paginationQuickJumperBox","selectedPageBox","pageBoxesItem","nextProps","total","title","language","retValue","mappedOptions","option","a","b","isFirstPageButtonVisible","isLastPageButtonVisible","AntdPagination","pagination","Panel","uniqueKey","css","bgImage","scrollBackColor","scrollRadius","scrollWidth","panel","Password","lineHeight","fontSize","fontWeight","letterSpacing","colorStyle","password","Col","AntdCol","col","Row","horizontalGutter","verticalGutter","AntdRow","row","MenuItem","menuItem","Sider","Layout","SiderMenu","JSON","parentNode","grandParentNode","triggerCollapsePanel","svg","storedLastVisitedMenuId","storedIsMenuCollapsed","handleResize","isMobileOrTablet","menuTitleColor","siders","sider","siderHeight","siderTrigger","s","inlineSubmenus","siderChildren","antMenu","antMenuItems","item","opacity","rgbaValues","rgbaColor","match","r","g","luminance","openKeys","collapsed","screenName","items","selectedScreen","paramValues","Object","params","URLSearchParams","selectedKey","screenNameMatches","paramsMatch","parentKey","obj","accumulator","itemMap","optionLowercase","itemArray","itemsToDelete","parentId","childId","childItem","sortChildren","parent","triggerStyles","hamburgerControl","layoutPosition","adjustLayout","element","headerElement","el","headerHeight","menuWidth","iconStyle","siderMenu","SubMenu","subMenu","HorizontalStack","size","dynamicStyles","DynamicStyleComponent","horizontalStack","VerticalStack","verticalStack","PaymentElementStripe","loadStripeKey","STRIPE_SETTINGS","stripePromise","loadStripe","event","ctx","onSuccess","onError","callback","screen","paymentIntent","stripe","elements","PaymentElement","clientSecret","Elements","ElementsConsumer","Tab","children","activeIndex","lastActiveTab","tabItem","prevState","snapshot","activeTabKey","setState","activeChild","selectedTabColor","tabPosition","activeKey","keyProp","isEmpty","Tabs","ScrollableInkTabBar","TabContent","tab","TabItem","TableData","str","p1","p2","path","array","theFieldIndexContaingSelected","prev","curr","rowData","rowIndex","_visibilityCondition","_editabilityCondition","childIndex","manipulatedChildren","visibilityCondition","editabilityCondition","matchResult","dataField","tableData","TableColumn","TableRow","screenWidth","table","isMobileResolution","childrenLength","dataFieldKey","RegExp","bgValue","currentRow","targets","KComponentFunctions","expanded","childrenArray","isAnyAlwaysVisibleColumn","isEveryColumnAlwaysVisible","filteredChildren","CheckOutlined","CloseOutlined","TableHeader","tableHeader","fontFamily","textDecoration","textTransform","fontStyle","CarouselBodyCell","CarouselBodyWrapper","carousel","hoverBgColor","hoverFontColor","nextSlide","Slider","CarouselItem","_parentStyleObject","forbiddenStyleKeyList","styleKey","FlexGridBodyCell","FlexGridBodyWrapper","FlexGridItem","GalleryBodyCell","GalleryBodyWrapper","parentElement","GalleryItem","GoogleMapsBodyCell","AutoComplete","Component","map","maps","addplace","place","ref","GoogleMapsItem","markerElement","lat","lng","selectedLocationColor","selectedLocationIcon","toogle","content","Popover","GoogleMapsBodyWrapper","record","toCamelCase","navigator","pos","coords","crd1","crd2","dLat","dLng","EARTH_RADIUS","dif","drawerWidth","markerDetailWidth","halfWidthOfMap","marker","gMaps","circleRadius","radius","center","zoom","bounds","isMarkerPicker","that","latitude","longitude","accuracy","iconElement","currentLocationIcon","currentLocationColor","iconStyles","geocoder","results","status","details","firstMarker","firstMarkerPopupContent","markerElements","markersData","supercluster","ev","location","groupPickerDetails","GoogleMapReact","google","centerCoords","clusters","isSelectedMarker","c","cluster","groupPickerIcon","groupPickerColor","point","SidePanel","TableBodyCell","nextElement","inputElement","setTimeout","TableBodyWrapper","onChange","source","setCurrentValue","useState","getLabel","Switch","Option","Select","selectedKeys","setSelectedKeys","confirm","clearFilters","dataType","visible","initialFilters","columnId","searchType","setSearchType","searchValue","setSearchValue","searchValue2","setSearchValue2","useEffect","findDataType","currentType","handleSearchValueChange","secondValue","isBlank","isNotBlank","isStringDataType","isString","isNumber","InputNumber","isDate","isBoolean","TriStateSwitch","TableHeaderCell","columnSearchText","dataValue","antTableFilterTrigger","antTableColumnSorter","setColumnSearchText","inputType","SearchOutlined","hasSearchable","TableHeaderRow","RefreshDelegate","callBack","CarouselViewWrapper","FlexGridViewWrapper","GalleryViewWrapper","GoogleMapsViewWrapper","TableViewWrapper","isEventListenerAdded","BaseTable","isHeader","isRow","_props","orderId","Boolean","headerStyle","_nextProps","sorter","filtering","datasource","grandChild","grandChildIndex","columnProps","dataBindedChilds","processChildren","dataBindedChild","getDataTypeRecursively","filters","CustomFilterDropdown","text","recordValue","valueType","recordValueNumber","searchValueNumber","recordValueDate","searchValueDate","searchValueDate2","normalizedSearchValue","normalizedRecordValue","extractedKey","y","specialSortingFormats","specialSortingFormat","xDate","yDate","formats","isSort","_value","rowPopoverRenderer","tbody","tdList","td","boxShadow","padding","empty","columnStyles","columnIndex","selectedRowKeys","isEql","isEqual","formValues","rowValue","filteredList","cellfieldName","isCurrentInsertRow","refreshMethod","p","isDataMarkerSelected","wrapperProps","selectedIndexHiddenInput","parentTableDomEl","selectedIndex","rows","selectedIndexDom","selectedRow","HTMLInputElement","htmlElementNode","currentTableElement","nearestTableAncestor","tableWrapper","selectedRowDataHiddenInput","isPrevInsertRow","json","selectedValues","isBlur","oldValues","newValues","offset","idColumnKey","newVals","acc","isInsertRow","_e","_rowValue","_rowIndex","currentRowIndex","prevRowIndex","prevRowData","prevActiveElement","selectedColumnIndexHiddenInput","otherFields","isClick","isPrevRowInsert","currentColumnDataValue","currentColumnDataType","activeElement","dataSource","selectedColumnValue","currentColumnValue","formattedDate","childList","nextState","shallowequal","mockDataSource","newDataSource","totalSlides","searchText","columnSearchTexts","searchLowerCase","searchUpperCase","itemLowerCase","itemUpperCase","columnSearchTextLowerCase","columnSearchTextUpperCase","checkedValues","columns","newHiddenColumnList","allVisibleColumns","id","columnOrder","list","startIndex","endIndex","removed","newColumnWidth","column","columnWidth","newOrder","sorterOptions","filter","order","totals","footerOptions","footerFormatter","columnData","validData","minData","maxData","Table","footerOptionLabel","footerFontSize","footerFontColor","designTimeValue","file","xlsx","sheet","headerRow","cell","objectPath","blob","saveAs","error","console","defaultEmptyProps","defaultTemp","CarouselPlaceholder","HorizontalGridPlaceholder","FlexGridPlaceholder","noDataFoundMessageText","DownloadOutlined","DragDropContext","Droppable","provided","Draggable","MenuOutlined","Checkbox","hiddenColumnList","UnorderedListOutlined","Empty","EmptyDataSvg","clearTimeout","designClicked","selected","selectedRows","updatedRowKeys","updatedRowKeysString","changeRows","multiSelectScope","onSelectedValuesChange","updateState","keys","keysString","generateKeysString","allRowKeys","allRowKeysString","TextInput","iconColor","prefixSuffixStyles","charArr","char","InputMask","inputProps","textInput","FrameMessageSender","messageType","message","messageId","DebounceSelect","debounce","fetching","Spin","kSelectBox","KSelectBox","newColor","isMultiple","selectionItem","triggerNode","dataTextField","dataValueField","KDebounceSelect","KIcon"],"mappings":"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"}