@progress/kendo-react-grid 13.3.0-develop.9 → 13.4.0-develop.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/BasePDFExport.d.ts +31 -0
- package/Grid.d.ts +129 -0
- package/GridClientContextReader.d.ts +17 -0
- package/GridClientWrapper.d.ts +32 -0
- package/GridClientWrapper.js +1 -1
- package/GridClientWrapper.mjs +21 -25
- package/GridColumn.d.ts +51 -0
- package/GridComponent.d.ts +14 -0
- package/GridComponent.js +1 -1
- package/GridComponent.mjs +35 -35
- package/GridPdfExportButton.d.ts +18 -0
- package/GridSearchBox.d.ts +27 -0
- package/GridState.d.ts +30 -0
- package/GridToolbar.d.ts +48 -0
- package/ScrollMode.d.ts +8 -0
- package/StatusBar.d.ts +59 -0
- package/VirtualScroll.d.ts +45 -0
- package/cells/GridDetailHierarchyCell.d.ts +16 -0
- package/cells/GridFilterCell.d.ts +10 -0
- package/cells/GridFilterCell.mjs +4 -4
- package/cells/datacell/GridCell.d.ts +15 -0
- package/cells/datacell/GridCellServer.d.ts +15 -0
- package/cells/datacell/GridCellServerContainer.d.ts +11 -0
- package/cells/datacell/useCellClientTdProps.d.ts +69 -0
- package/cells/datacell/utils.d.ts +20 -0
- package/cells/detailcell/GridDetailCell.d.ts +23 -0
- package/cells/detailcell/GridDetailCellServer.d.ts +11 -0
- package/cells/detailcell/GridDetailCellServerContainer.d.ts +12 -0
- package/cells/detailcell/useDetailCellClientTdProps.d.ts +23 -0
- package/cells/detailcell/utils.d.ts +19 -0
- package/cells/editcell/GridEditCell.d.ts +15 -0
- package/cells/editcell/GridEditCellEditor.d.ts +11 -0
- package/cells/editcell/GridEditCellServer.d.ts +15 -0
- package/cells/editcell/GridEditCellServerContainer.d.ts +11 -0
- package/cells/editcell/useEditCellClientTdProps.d.ts +25 -0
- package/cells/editcell/utils.d.ts +19 -0
- package/cells/groupcell/GridGroupCell.d.ts +15 -0
- package/cells/groupcell/GridGroupCellServer.d.ts +15 -0
- package/cells/groupcell/GridGroupCellServerContainer.d.ts +12 -0
- package/cells/groupcell/GridGroupCellToggle.d.ts +13 -0
- package/cells/groupcell/useGroupCellClientTdProps.d.ts +41 -0
- package/cells/groupcell/utils.d.ts +22 -0
- package/cells/hierarchycell/GridHierarchyCell.d.ts +15 -0
- package/cells/hierarchycell/GridHierarchyCellServer.d.ts +15 -0
- package/cells/hierarchycell/GridHierarchyCellServerContainer.d.ts +11 -0
- package/cells/hierarchycell/GridHierarchyCellToggle.d.ts +13 -0
- package/cells/hierarchycell/GridHierarchyCellToggle.mjs +2 -2
- package/cells/hierarchycell/useHierarchyCellClientTdProps.d.ts +32 -0
- package/cells/hierarchycell/utils.d.ts +20 -0
- package/cells/hooks.d.ts +25 -0
- package/cells/rowreordercell/GridRowReorderCell.d.ts +15 -0
- package/cells/rowreordercell/GridRowReorderCellServer.d.ts +15 -0
- package/cells/rowreordercell/GridRowReorderCellServerContainer.d.ts +11 -0
- package/cells/rowreordercell/useRowReorderCellClientTdProps.d.ts +27 -0
- package/cells/rowreordercell/utils.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCell.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCellInput.d.ts +13 -0
- package/cells/selectioncell/GridSelectionCellServer.d.ts +15 -0
- package/cells/selectioncell/GridSelectionCellServerContainer.d.ts +11 -0
- package/cells/selectioncell/useSelectionCellClientTdProps.d.ts +25 -0
- package/cells/selectioncell/utils.d.ts +25 -0
- package/codemods/v11/cell-render.js +2 -9
- package/codemods/v11/column-cell.js +2 -9
- package/codemods/v11/column-filter-cell.js +2 -9
- package/codemods/v11/column-footer-cell.js +2 -9
- package/codemods/v11/column-header-cell.js +2 -9
- package/codemods/v11/detail-expand-state.js +2 -9
- package/codemods/v11/edit-state.js +2 -9
- package/codemods/v11/filter-cell-render.js +2 -9
- package/codemods/v11/group-expand-state.js +2 -9
- package/codemods/v11/header-cell-render.js +2 -9
- package/codemods/v11/index.js +0 -7
- package/codemods/v11/row-render.js +2 -9
- package/codemods/v11/selection-state.js +2 -9
- package/codemods/v11/utils.js +2 -9
- package/columnMenu/GridColumnMenuCheckboxFilter.d.ts +58 -0
- package/columnMenu/GridColumnMenuCheckboxFilter.js +1 -1
- package/columnMenu/GridColumnMenuCheckboxFilter.mjs +0 -1
- package/columnMenu/GridColumnMenuColumnsChooser.d.ts +30 -0
- package/columnMenu/GridColumnMenuColumnsList.d.ts +34 -0
- package/columnMenu/GridColumnMenuFilter.d.ts +101 -0
- package/columnMenu/GridColumnMenuFilterCell.d.ts +29 -0
- package/columnMenu/GridColumnMenuFilterUI.d.ts +13 -0
- package/columnMenu/GridColumnMenuGroup.d.ts +61 -0
- package/columnMenu/GridColumnMenuGroup.mjs +3 -3
- package/columnMenu/GridColumnMenuItem.d.ts +48 -0
- package/columnMenu/GridColumnMenuItemContent.d.ts +22 -0
- package/columnMenu/GridColumnMenuItemGroup.d.ts +18 -0
- package/columnMenu/GridColumnMenuSort.d.ts +67 -0
- package/columnMenu/GridColumnMenuWrapper.d.ts +33 -0
- package/columnMenu/GridColumnMenuWrapper.mjs +5 -5
- package/columnMenu/adaptiveContent/GridActionSheetFooter.d.ts +26 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.d.ts +27 -0
- package/columnMenu/adaptiveContent/GridAdaptiveCheckboxFilter.mjs +4 -4
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.d.ts +32 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnChooser.mjs +3 -3
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.d.ts +12 -0
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.js +1 -1
- package/columnMenu/adaptiveContent/GridAdaptiveColumnMenu.mjs +4 -4
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.d.ts +27 -0
- package/columnMenu/adaptiveContent/GridAdaptiveFilterMenu.mjs +8 -8
- package/columnMenu/adaptiveContext/GridColumnMenuAdaptiveContext.d.ts +23 -0
- package/components/GridContainerElementContainer.d.ts +12 -0
- package/components/GridDragClue.d.ts +12 -0
- package/components/GridDraggableRowsContainer.d.ts +20 -0
- package/components/GridDropClue.d.ts +12 -0
- package/components/GridEditDialog.d.ts +22 -0
- package/components/GridEditDialog.mjs +1 -1
- package/components/GridElementContainer.d.ts +14 -0
- package/components/GridLoader.d.ts +17 -0
- package/components/PagerContainer.d.ts +12 -0
- package/components/VirtualScrollHeightContainer.d.ts +12 -0
- package/components/colGroup/GridColGroup.d.ts +12 -0
- package/components/icons/reorder-row-svg.d.ts +12 -0
- package/components/noRecords/GridNoRecords.d.ts +31 -0
- package/components/noRecords/GridNoRecordsContainer.d.ts +15 -0
- package/components/noRecords/GridNoRecordsContainer.mjs +1 -1
- package/components/table/GridTable.d.ts +12 -0
- package/components/table/GridTableBody.d.ts +12 -0
- package/components/table/GridTableScrollable.d.ts +12 -0
- package/components/utils.d.ts +21 -0
- package/constants/index.d.ts +15 -0
- package/constants/index.mjs +2 -2
- package/contextMenu/GridContextMenu.d.ts +205 -0
- package/contextMenu/GridContextMenu.mjs +19 -19
- package/contextMenu/enums.d.ts +36 -0
- package/dist/cdn/js/kendo-react-grid.js +1 -1
- package/drag/ColumnDraggable.d.ts +26 -0
- package/drag/ColumnResize.d.ts +47 -0
- package/drag/CommonDragLogic.d.ts +50 -0
- package/drag/GroupingIndicator.d.ts +26 -0
- package/drag/GroupingIndicator.js +1 -1
- package/drag/GroupingIndicator.mjs +20 -20
- package/filterCommon.d.ts +86 -0
- package/footer/Footer.d.ts +38 -0
- package/footer/Footer.js +1 -1
- package/footer/Footer.mjs +9 -9
- package/footer/FooterCell.d.ts +19 -0
- package/footer/FooterRow.d.ts +23 -0
- package/footer/client/FooterCellContainer.d.ts +12 -0
- package/header/FilterRow.d.ts +35 -0
- package/header/GridHeaderCell.d.ts +48 -0
- package/header/GridHeaderSelectionCell.d.ts +13 -0
- package/header/GroupPanel.d.ts +23 -0
- package/header/GroupPanel.js +1 -1
- package/header/GroupPanel.mjs +11 -11
- package/header/Header.d.ts +44 -0
- package/header/Header.js +1 -1
- package/header/Header.mjs +1 -1
- package/header/HeaderRow.d.ts +45 -0
- package/header/client/GridFilterCellContainer.d.ts +12 -0
- package/header/client/GridFilterCellElementContainer.d.ts +12 -0
- package/header/client/GridHeaderCellContainer.d.ts +12 -0
- package/header/client/GridHeaderCellElementContainer.d.ts +12 -0
- package/header/client/GridHeaderRowContainer.d.ts +16 -0
- package/header/client/GridHeaderRowReorderCell.d.ts +12 -0
- package/header/client/HeaderCellResizer.d.ts +11 -0
- package/header/client/HeaderRowDraggable.d.ts +11 -0
- package/index.d.mts +84 -5356
- package/index.d.ts +84 -5356
- package/interfaces/ColumnType.d.ts +13 -0
- package/interfaces/CompositeHighlightDescriptor.d.ts +29 -0
- package/interfaces/GridAIAssistantCommand.d.ts +110 -0
- package/interfaces/GridAICommands.d.ts +60 -0
- package/interfaces/GridCellProps.d.ts +112 -0
- package/interfaces/GridCellRenderModel.d.ts +15 -0
- package/interfaces/GridCellsSettings.d.ts +366 -0
- package/interfaces/GridColSpanProps.d.ts +21 -0
- package/interfaces/GridColumnChildrenProps.d.ts +18 -0
- package/interfaces/GridColumnMenuBaseProps.d.ts +21 -0
- package/interfaces/GridColumnMenuColumnProps.d.ts +32 -0
- package/interfaces/GridColumnMenuColumnsChooserBaseProps.d.ts +22 -0
- package/interfaces/GridColumnMenuFilterBaseProps.d.ts +31 -0
- package/interfaces/GridColumnMenuFilterUIProps.d.ts +38 -0
- package/interfaces/GridColumnMenuGroupBaseProps.d.ts +26 -0
- package/interfaces/GridColumnMenuProps.d.ts +24 -0
- package/interfaces/GridColumnMenuSortBaseProps.d.ts +27 -0
- package/interfaces/GridColumnProps.d.ts +230 -0
- package/interfaces/GridColumnState.d.ts +52 -0
- package/interfaces/GridDataType.d.ts +12 -0
- package/interfaces/GridDetailExpandableSettings.d.ts +11 -0
- package/interfaces/GridDetailRowProps.d.ts +20 -0
- package/interfaces/GridEditDialogProps.d.ts +30 -0
- package/interfaces/GridEditableSettings.d.ts +16 -0
- package/interfaces/GridFilterCellProps.d.ts +67 -0
- package/interfaces/GridFilterOperator.d.ts +13 -0
- package/interfaces/GridFilterOperators.d.ts +56 -0
- package/interfaces/GridFooterCellProps.d.ts +29 -0
- package/interfaces/GridGroupExpandableSettings.d.ts +22 -0
- package/interfaces/GridGroupableSettings.d.ts +25 -0
- package/interfaces/GridHeaderCellProps.d.ts +23 -0
- package/interfaces/GridHighlightDescriptor.d.ts +16 -0
- package/interfaces/GridNoRecordsProps.d.ts +16 -0
- package/interfaces/GridProps.d.ts +1083 -0
- package/interfaces/GridReorderDropDir.d.ts +11 -0
- package/interfaces/GridRowProps.d.ts +75 -0
- package/interfaces/GridRowReorderSettings.d.ts +25 -0
- package/interfaces/GridRowSpannableSettings.d.ts +21 -0
- package/interfaces/GridRowType.d.ts +16 -0
- package/interfaces/GridRowsSettings.d.ts +57 -0
- package/interfaces/GridSelectableSettings.d.ts +25 -0
- package/interfaces/GridSortSettings.d.ts +26 -0
- package/interfaces/GridStackedLayoutSettings.d.ts +60 -0
- package/interfaces/GridToolbarProps.d.ts +17 -0
- package/interfaces/VirtualScrollInterface.d.ts +29 -0
- package/interfaces/events.d.ts +357 -0
- package/interfaces/index.d.ts +15 -0
- package/messages/index.d.ts +365 -0
- package/messages/messagesMap.d.ts +14 -0
- package/package-metadata.d.ts +12 -0
- package/package-metadata.js +1 -1
- package/package-metadata.mjs +10 -16
- package/package.json +17 -17
- package/paging/GridPagerSettings.d.ts +89 -0
- package/paging/Page.d.ts +20 -0
- package/rows/GridDetailRow.d.ts +41 -0
- package/rows/GridDetailRowRenderer.d.ts +48 -0
- package/rows/GridRow.d.ts +13 -0
- package/rows/GridRowRenderer.d.ts +47 -0
- package/sortCommon.d.ts +20 -0
- package/stacked/GridStackedCell.d.ts +67 -0
- package/stacked/GridStackedDetailToggle.d.ts +20 -0
- package/stacked/GridStackedDetailToggle.mjs +2 -2
- package/stacked/GridStackedRow.d.ts +214 -0
- package/stacked/StackedModeComponents.d.ts +45 -0
- package/stacked/StackedModeRow.d.ts +46 -0
- package/toolbar-tools/GridToolbarAIAssistant.d.ts +246 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.d.ts +89 -0
- package/toolbar-tools/GridToolbarCheckboxFilter.js +1 -1
- package/toolbar-tools/GridToolbarCheckboxFilter.mjs +0 -1
- package/toolbar-tools/GridToolbarColumnsChooser.d.ts +55 -0
- package/toolbar-tools/GridToolbarFilter.d.ts +72 -0
- package/toolbar-tools/GridToolbarFilter.mjs +5 -5
- package/toolbar-tools/GridToolbarGroup.d.ts +55 -0
- package/toolbar-tools/GridToolbarSeparator.d.ts +21 -0
- package/toolbar-tools/GridToolbarSort.d.ts +55 -0
- package/toolbar-tools/GridToolbarSpacer.d.ts +21 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.d.ts +35 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarCheckboxFilter.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.d.ts +33 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarColumnChooser.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.d.ts +34 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarFilter.mjs +3 -3
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarGroup.d.ts +26 -0
- package/toolbar-tools/adaptiveContent/GridAdaptiveToolbarSort.d.ts +27 -0
- package/toolbar-tools/adaptiveContext/GridToolbarAdaptiveContext.d.ts +23 -0
- package/toolbar-tools/ai-tool/GridAIPrompt.d.ts +160 -0
- package/utils/GridContext.d.ts +12 -0
- package/utils/_clientModule.d.ts +11 -0
- package/utils/_serverModule.d.ts +12 -0
- package/utils/handleAIResponse.d.ts +221 -0
- package/utils/index.d.ts +185 -0
- package/utils/index.js +1 -1
- package/utils/index.mjs +2 -2
- package/utils/premium.d.ts +31 -0
- package/utils/virtualColumns.d.ts +18 -0
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const t=require("./utils.js");function b(h,E){const e=E.jscodeshift,d=e(h.source),a=h.path.endsWith(".ts")||h.path.endsWith(".tsx");let c=!1;const u=new Set;d.find(e.Identifier).forEach(s=>{u.add(s.node.name)});const r=t.generateUniqueName("handleEditChange",u),p=t.findImportedName(e,d,"Grid","@progress/kendo-react-grid")||"Grid";return d.find(e.JSXElement,{openingElement:{name:{name:p}}}).forEach(s=>{const n=s.node.openingElement.attributes,m=n==null?void 0:n.find(i=>i.type==="JSXAttribute"&&i.name.name==="editField");if(!m)return;const l=m.value?e(m.value).toSource():"No value provided";t.removeAttribute(n,"editField"),c=!0,t.hasJSXAttribute(n,"editable")||t.addStateAttribute(e,n,"editable","true"),t.hasJSXAttribute(n,"dataItemKey")||t.addStateAttribute(e,n,"dataItemKey",'"insert dataItemKey here"');const{isClassComponent:g,isFunctionalComponent:C,parentNode:o}=t.findParentComponent(e,s);if(g){if(t.addStateDeclaration(e,o,"edit",e.objectExpression([])),t.hasJSXAttribute(n,"edit")||t.addStateAttribute(e,n,"edit","this.state.edit"),!t.hasJSXAttribute(n,"onItemChange")){t.addEventAttribute(e,n,"onItemChange","this.handleItemChange");const i=t.createClassMethod(e,"handleItemChange",[`event${a?": GridItemChangeEvent":""}`],[]);t.addMethodToComponent(e,o,i,!0)}if(!t.hasJSXAttribute(n,"onEditChange")){t.addEventAttribute(e,n,"onEditChange",`this.${r}`);const i=t.createClassMethod(e,r,[`event${a?": GridEditChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("edit"),e.memberExpression(e.identifier("event"),e.identifier("edit")))])]))]);t.addCommentToMethod(e,e(i),`Original editField value: ${l}`,"class"),t.addMethodToComponent(e,o,i,!0)}}else if(C){if(t.addUseStateDeclaration(e,o,"edit","setEdit",e.objectExpression([]),a,"EditDescriptor"),t.hasJSXAttribute(n,"edit")||t.addStateAttribute(e,n,"edit","edit"),!t.hasJSXAttribute(n,"onItemChange")){t.addEventAttribute(e,n,"onItemChange","handleItemChange");const i=t.createArrowFunction(e,"handleItemChange",[`(event${a?": GridItemChangeEvent":""})`],[]);t.addMethodToComponent(e,o,i,!1)}if(!t.hasJSXAttribute(n,"onEditChange")){t.addEventAttribute(e,n,"onEditChange",`${r}`);const i=t.createArrowFunction(e,`${r}`,[`(event${a?": GridEditChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setEdit"),[e.memberExpression(e.identifier("event"),e.identifier("edit"))]))]);t.addCommentToMethod(e,e(i),`Original editField value: ${l}`,"function"),t.addMethodToComponent(e,o,i,!1)}}}),c&&a&&(t.ensureImportExists(e,d,"GridItemChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,d,"GridEditChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,d,"EditDescriptor","@progress/kendo-react-data-tools")),d.toSource()}module.exports=b;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvZWRpdC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kUGFyZW50Q29tcG9uZW50LFxuICAgIGdlbmVyYXRlVW5pcXVlTmFtZSxcbiAgICBlbnN1cmVJbXBvcnRFeGlzdHMsXG4gICAgYWRkRXZlbnRBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVEZWNsYXJhdGlvbixcbiAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uLFxuICAgIGZpbmRJbXBvcnRlZE5hbWUsXG4gICAgY3JlYXRlQ2xhc3NNZXRob2QsXG4gICAgY3JlYXRlQXJyb3dGdW5jdGlvbixcbiAgICBoYXNKU1hBdHRyaWJ1dGUsXG4gICAgYWRkQ29tbWVudFRvTWV0aG9kXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnaGFuZGxlRWRpdENoYW5nZSc7XG4gICAgY29uc3QgdW5pcXVlTmFtZSA9IGdlbmVyYXRlVW5pcXVlTmFtZShiYXNlTmFtZSwgZXhpc3RpbmdOYW1lcyk7XG5cbiAgICAvLyBEeW5hbWljYWxseSByZXNvbHZlIHRoZSBpbXBvcnRlZCBuYW1lIGZvciBgR3JpZGBcbiAgICBjb25zdCBncmlkTmFtZSA9IGZpbmRJbXBvcnRlZE5hbWUoaiwgcm9vdCwgJ0dyaWQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKSB8fCAnR3JpZCc7XG5cbiAgICAvLyBGaW5kIGFsbCBKU1hFbGVtZW50cyB3aXRoIHRoZSBuYW1lIG9mIHRoZSByZXNvbHZlZCBgR3JpZGAgY29tcG9uZW50XG4gICAgY29uc3QgZ3JpZEVsZW1lbnRzID0gcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KTtcblxuICAgIGdyaWRFbGVtZW50cy5mb3JFYWNoKChncmlkUGF0aCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZ3JpZFBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBgZWRpdEZpZWxkYCBhdHRyaWJ1dGUgZXhpc3RzXG4gICAgICAgIGNvbnN0IGVkaXRGaWVsZEF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2VkaXRGaWVsZCdcbiAgICAgICAgKSBhcyBKU1hBdHRyaWJ1dGU7XG5cbiAgICAgICAgaWYgKCFlZGl0RmllbGRBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybjsgLy8gU2tpcCB0aGlzIEdyaWQgaWYgYGVkaXRGaWVsZGAgaXMgbm90IHByZXNlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvcHkgdGhlIHZhbHVlIG9mIGBlZGl0RmllbGRgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBlZGl0RmllbGRWYWx1ZSA9IGVkaXRGaWVsZEF0dHJpYnV0ZS52YWx1ZSA/IGooZWRpdEZpZWxkQXR0cmlidXRlLnZhbHVlKS50b1NvdXJjZSgpIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBlZGl0RmllbGRgIGF0dHJpYnV0ZVxuICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnZWRpdEZpZWxkJyk7XG4gICAgICAgIGFkZEltcG9ydHMgPSB0cnVlO1xuXG4gICAgICAgIC8vIEVuc3VyZSBgZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBwcmVzZW50IGFuZCBzZXQgdG8gdHJ1ZVxuICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnZWRpdGFibGUnKSkge1xuICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoaiwgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnZWRpdGFibGUnLCAndHJ1ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIGBkYXRhSXRlbUtleWAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RhdGFJdGVtS2V5JykpIHtcbiAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKFxuICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICdkYXRhSXRlbUtleScsXG4gICAgICAgICAgICAgICAgJ1wiaW5zZXJ0IGRhdGFJdGVtS2V5IGhlcmVcIidcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAgdG8gdGhlIGNsYXNzIGNvbXBvbmVudCdzIHN0YXRlXG4gICAgICAgICAgICBhZGRTdGF0ZURlY2xhcmF0aW9uKGosIHBhcmVudE5vZGUsICdlZGl0Jywgai5vYmplY3RFeHByZXNzaW9uKFtdKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAsIGBvbkl0ZW1DaGFuZ2VgLCBhbmQgYG9uRWRpdENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2VkaXQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2VkaXQnLCAndGhpcy5zdGF0ZS5lZGl0Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdvbkl0ZW1DaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkl0ZW1DaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICAndGhpcy5oYW5kbGVJdGVtQ2hhbmdlJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kID0gY3JlYXRlQ2xhc3NNZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgICdoYW5kbGVJdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgW2BldmVudCR7aXNUeXBlU2NyaXB0ID8gJzogR3JpZEl0ZW1DaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW10gLy8gRW1wdHkgYmxvY2sgZm9yIG5vd1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uRWRpdENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRWRpdENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUVkaXRDaGFuZ2VNZXRob2QgPSBjcmVhdGVDbGFzc01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgdW5pcXVlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgW2BldmVudCR7aXNUeXBlU2NyaXB0ID8gJzogR3JpZEVkaXRDaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5tZW1iZXJFeHByZXNzaW9uKGoudGhpc0V4cHJlc3Npb24oKSwgai5pZGVudGlmaWVyKCdzZXRTdGF0ZScpKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5wcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5pZGVudGlmaWVyKCdlZGl0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdlZGl0JykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBlZGl0RmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgbWV0aG9kXG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudFRvTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBqKGhhbmRsZUVkaXRDaGFuZ2VNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgZWRpdEZpZWxkIHZhbHVlOiAke2VkaXRGaWVsZFZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcydcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlRWRpdENoYW5nZU1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYGVkaXRgXG4gICAgICAgICAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uKFxuICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZSxcbiAgICAgICAgICAgICAgICAnZWRpdCcsXG4gICAgICAgICAgICAgICAgJ3NldEVkaXQnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdFZGl0RGVzY3JpcHRvcidcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAsIGBvbkl0ZW1DaGFuZ2VgLCBhbmQgYG9uRWRpdENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2VkaXQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2VkaXQnLCAnZWRpdCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25JdGVtQ2hhbmdlJykpIHtcbiAgICAgICAgICAgICAgICBhZGRFdmVudEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICAgICAnb25JdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2hhbmRsZUl0ZW1DaGFuZ2UnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUl0ZW1DaGFuZ2VGdW5jdGlvbiA9IGNyZWF0ZUFycm93RnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgICdoYW5kbGVJdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgW2AoZXZlbnQke2lzVHlwZVNjcmlwdCA/ICc6IEdyaWRJdGVtQ2hhbmdlRXZlbnQnIDogJyd9KWBdLFxuICAgICAgICAgICAgICAgICAgICBbXSAvLyBFbXB0eSBibG9jayBmb3Igbm93XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVJdGVtQ2hhbmdlRnVuY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uRWRpdENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRWRpdENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGAke3VuaXF1ZU5hbWV9YFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVFZGl0Q2hhbmdlRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRWRpdENoYW5nZUV2ZW50JyA6ICcnfSlgXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5pZGVudGlmaWVyKCdzZXRFZGl0JyksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdlZGl0JykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBlZGl0RmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBhZGRDb21tZW50VG9NZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGooaGFuZGxlRWRpdENoYW5nZUZ1bmN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgYE9yaWdpbmFsIGVkaXRGaWVsZCB2YWx1ZTogJHtlZGl0RmllbGRWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZUVkaXRDaGFuZ2VGdW5jdGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYWRkSW1wb3J0cyAmJiBpc1R5cGVTY3JpcHQpIHtcbiAgICAgICAgLy8gRW5zdXJlIFR5cGVTY3JpcHQgaW1wb3J0c1xuICAgICAgICBlbnN1cmVJbXBvcnRFeGlzdHMoaiwgcm9vdCwgJ0dyaWRJdGVtQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkRWRpdENoYW5nZUV2ZW50JywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnRWRpdERlc2NyaXB0b3InLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWRhdGEtdG9vbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbImVkaXRTdGF0ZSIsImZpbGVJbmZvIiwiYXBpIiwiaiIsInJvb3QiLCJpc1R5cGVTY3JpcHQiLCJhZGRJbXBvcnRzIiwiZXhpc3RpbmdOYW1lcyIsInBhdGgiLCJ1bmlxdWVOYW1lIiwiZ2VuZXJhdGVVbmlxdWVOYW1lIiwiZ3JpZE5hbWUiLCJmaW5kSW1wb3J0ZWROYW1lIiwiZ3JpZFBhdGgiLCJhdHRyaWJ1dGVzIiwiZWRpdEZpZWxkQXR0cmlidXRlIiwiYXR0ciIsImVkaXRGaWVsZFZhbHVlIiwicmVtb3ZlQXR0cmlidXRlIiwiaGFzSlNYQXR0cmlidXRlIiwiYWRkU3RhdGVBdHRyaWJ1dGUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJhZGRTdGF0ZURlY2xhcmF0aW9uIiwiYWRkRXZlbnRBdHRyaWJ1dGUiLCJoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImhhbmRsZUVkaXRDaGFuZ2VNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRVc2VTdGF0ZURlY2xhcmF0aW9uIiwiaGFuZGxlSXRlbUNoYW5nZUZ1bmN0aW9uIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiIsImhhbmRsZUVkaXRDaGFuZ2VGdW5jdGlvbiIsImVuc3VyZUltcG9ydEV4aXN0cyJdLCJtYXBwaW5ncyI6IjJDQWtCQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FDWCxNQUFBQyxNQUFvQixJQUMxQkgsRUFBSyxLQUFLRCxFQUFFLFVBQVUsRUFBRSxRQUFTSyxHQUFTLENBQ3hCRCxFQUFBLElBQUlDLEVBQUssS0FBSyxJQUFJLENBQUEsQ0FDbkMsRUFHSyxNQUFBQyxFQUFhQyxFQUFBQSxtQkFERixtQkFDK0JILENBQWEsRUFHdkRJLEVBQVdDLEVBQUFBLGlCQUFpQlQsRUFBR0MsRUFBTSxPQUFRLDRCQUE0QixHQUFLLE9BS3ZFLE9BRlFBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBUyxDQUFBLENBQUssQ0FBQSxFQUVoRixRQUFTRSxHQUFhLENBQ3pC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
|
|
1
|
+
"use strict";const t=require("./utils.js");function b(h,E){const e=E.jscodeshift,d=e(h.source),a=h.path.endsWith(".ts")||h.path.endsWith(".tsx");let u=!1;const c=new Set;d.find(e.Identifier).forEach(s=>{c.add(s.node.name)});const o=t.generateUniqueName("handleEditChange",c),p=t.findImportedName(e,d,"Grid","@progress/kendo-react-grid")||"Grid";return d.find(e.JSXElement,{openingElement:{name:{name:p}}}).forEach(s=>{const n=s.node.openingElement.attributes,m=n?.find(i=>i.type==="JSXAttribute"&&i.name.name==="editField");if(!m)return;const l=m.value?e(m.value).toSource():"No value provided";t.removeAttribute(n,"editField"),u=!0,t.hasJSXAttribute(n,"editable")||t.addStateAttribute(e,n,"editable","true"),t.hasJSXAttribute(n,"dataItemKey")||t.addStateAttribute(e,n,"dataItemKey",'"insert dataItemKey here"');const{isClassComponent:g,isFunctionalComponent:C,parentNode:r}=t.findParentComponent(e,s);if(g){if(t.addStateDeclaration(e,r,"edit",e.objectExpression([])),t.hasJSXAttribute(n,"edit")||t.addStateAttribute(e,n,"edit","this.state.edit"),!t.hasJSXAttribute(n,"onItemChange")){t.addEventAttribute(e,n,"onItemChange","this.handleItemChange");const i=t.createClassMethod(e,"handleItemChange",[`event${a?": GridItemChangeEvent":""}`],[]);t.addMethodToComponent(e,r,i,!0)}if(!t.hasJSXAttribute(n,"onEditChange")){t.addEventAttribute(e,n,"onEditChange",`this.${o}`);const i=t.createClassMethod(e,o,[`event${a?": GridEditChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("edit"),e.memberExpression(e.identifier("event"),e.identifier("edit")))])]))]);t.addCommentToMethod(e,e(i),`Original editField value: ${l}`,"class"),t.addMethodToComponent(e,r,i,!0)}}else if(C){if(t.addUseStateDeclaration(e,r,"edit","setEdit",e.objectExpression([]),a,"EditDescriptor"),t.hasJSXAttribute(n,"edit")||t.addStateAttribute(e,n,"edit","edit"),!t.hasJSXAttribute(n,"onItemChange")){t.addEventAttribute(e,n,"onItemChange","handleItemChange");const i=t.createArrowFunction(e,"handleItemChange",[`(event${a?": GridItemChangeEvent":""})`],[]);t.addMethodToComponent(e,r,i,!1)}if(!t.hasJSXAttribute(n,"onEditChange")){t.addEventAttribute(e,n,"onEditChange",`${o}`);const i=t.createArrowFunction(e,`${o}`,[`(event${a?": GridEditChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setEdit"),[e.memberExpression(e.identifier("event"),e.identifier("edit"))]))]);t.addCommentToMethod(e,e(i),`Original editField value: ${l}`,"function"),t.addMethodToComponent(e,r,i,!1)}}}),u&&a&&(t.ensureImportExists(e,d,"GridItemChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,d,"GridEditChangeEvent","@progress/kendo-react-grid"),t.ensureImportExists(e,d,"EditDescriptor","@progress/kendo-react-data-tools")),d.toSource()}module.exports=b;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1zdGF0ZS5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvZWRpdC1zdGF0ZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kUGFyZW50Q29tcG9uZW50LFxuICAgIGdlbmVyYXRlVW5pcXVlTmFtZSxcbiAgICBlbnN1cmVJbXBvcnRFeGlzdHMsXG4gICAgYWRkRXZlbnRBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVBdHRyaWJ1dGUsXG4gICAgYWRkU3RhdGVEZWNsYXJhdGlvbixcbiAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uLFxuICAgIGZpbmRJbXBvcnRlZE5hbWUsXG4gICAgY3JlYXRlQ2xhc3NNZXRob2QsXG4gICAgY3JlYXRlQXJyb3dGdW5jdGlvbixcbiAgICBoYXNKU1hBdHRyaWJ1dGUsXG4gICAgYWRkQ29tbWVudFRvTWV0aG9kXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnaGFuZGxlRWRpdENoYW5nZSc7XG4gICAgY29uc3QgdW5pcXVlTmFtZSA9IGdlbmVyYXRlVW5pcXVlTmFtZShiYXNlTmFtZSwgZXhpc3RpbmdOYW1lcyk7XG5cbiAgICAvLyBEeW5hbWljYWxseSByZXNvbHZlIHRoZSBpbXBvcnRlZCBuYW1lIGZvciBgR3JpZGBcbiAgICBjb25zdCBncmlkTmFtZSA9IGZpbmRJbXBvcnRlZE5hbWUoaiwgcm9vdCwgJ0dyaWQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKSB8fCAnR3JpZCc7XG5cbiAgICAvLyBGaW5kIGFsbCBKU1hFbGVtZW50cyB3aXRoIHRoZSBuYW1lIG9mIHRoZSByZXNvbHZlZCBgR3JpZGAgY29tcG9uZW50XG4gICAgY29uc3QgZ3JpZEVsZW1lbnRzID0gcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KTtcblxuICAgIGdyaWRFbGVtZW50cy5mb3JFYWNoKChncmlkUGF0aCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZ3JpZFBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBgZWRpdEZpZWxkYCBhdHRyaWJ1dGUgZXhpc3RzXG4gICAgICAgIGNvbnN0IGVkaXRGaWVsZEF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2VkaXRGaWVsZCdcbiAgICAgICAgKSBhcyBKU1hBdHRyaWJ1dGU7XG5cbiAgICAgICAgaWYgKCFlZGl0RmllbGRBdHRyaWJ1dGUpIHtcbiAgICAgICAgICAgIHJldHVybjsgLy8gU2tpcCB0aGlzIEdyaWQgaWYgYGVkaXRGaWVsZGAgaXMgbm90IHByZXNlbnRcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENvcHkgdGhlIHZhbHVlIG9mIGBlZGl0RmllbGRgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBlZGl0RmllbGRWYWx1ZSA9IGVkaXRGaWVsZEF0dHJpYnV0ZS52YWx1ZSA/IGooZWRpdEZpZWxkQXR0cmlidXRlLnZhbHVlKS50b1NvdXJjZSgpIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBlZGl0RmllbGRgIGF0dHJpYnV0ZVxuICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnZWRpdEZpZWxkJyk7XG4gICAgICAgIGFkZEltcG9ydHMgPSB0cnVlO1xuXG4gICAgICAgIC8vIEVuc3VyZSBgZWRpdGFibGVgIGF0dHJpYnV0ZSBpcyBwcmVzZW50IGFuZCBzZXQgdG8gdHJ1ZVxuICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnZWRpdGFibGUnKSkge1xuICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoaiwgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnZWRpdGFibGUnLCAndHJ1ZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIGBkYXRhSXRlbUtleWAgYXR0cmlidXRlIGlzIHByZXNlbnRcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2RhdGFJdGVtS2V5JykpIHtcbiAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKFxuICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICdkYXRhSXRlbUtleScsXG4gICAgICAgICAgICAgICAgJ1wiaW5zZXJ0IGRhdGFJdGVtS2V5IGhlcmVcIidcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAgdG8gdGhlIGNsYXNzIGNvbXBvbmVudCdzIHN0YXRlXG4gICAgICAgICAgICBhZGRTdGF0ZURlY2xhcmF0aW9uKGosIHBhcmVudE5vZGUsICdlZGl0Jywgai5vYmplY3RFeHByZXNzaW9uKFtdKSk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAsIGBvbkl0ZW1DaGFuZ2VgLCBhbmQgYG9uRWRpdENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2VkaXQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2VkaXQnLCAndGhpcy5zdGF0ZS5lZGl0Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdvbkl0ZW1DaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkl0ZW1DaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICAndGhpcy5oYW5kbGVJdGVtQ2hhbmdlJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kID0gY3JlYXRlQ2xhc3NNZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgICdoYW5kbGVJdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgW2BldmVudCR7aXNUeXBlU2NyaXB0ID8gJzogR3JpZEl0ZW1DaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW10gLy8gRW1wdHkgYmxvY2sgZm9yIG5vd1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kLCB0cnVlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uRWRpdENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRWRpdENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUVkaXRDaGFuZ2VNZXRob2QgPSBjcmVhdGVDbGFzc01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgdW5pcXVlTmFtZSxcbiAgICAgICAgICAgICAgICAgICAgW2BldmVudCR7aXNUeXBlU2NyaXB0ID8gJzogR3JpZEVkaXRDaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5tZW1iZXJFeHByZXNzaW9uKGoudGhpc0V4cHJlc3Npb24oKSwgai5pZGVudGlmaWVyKCdzZXRTdGF0ZScpKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5wcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5pZGVudGlmaWVyKCdlZGl0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdlZGl0JykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIF0pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBlZGl0RmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgbWV0aG9kXG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudFRvTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBqKGhhbmRsZUVkaXRDaGFuZ2VNZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgZWRpdEZpZWxkIHZhbHVlOiAke2VkaXRGaWVsZFZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcydcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlRWRpdENoYW5nZU1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYGVkaXRgXG4gICAgICAgICAgICBhZGRVc2VTdGF0ZURlY2xhcmF0aW9uKFxuICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgcGFyZW50Tm9kZSxcbiAgICAgICAgICAgICAgICAnZWRpdCcsXG4gICAgICAgICAgICAgICAgJ3NldEVkaXQnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdFZGl0RGVzY3JpcHRvcidcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZWRpdGAsIGBvbkl0ZW1DaGFuZ2VgLCBhbmQgYG9uRWRpdENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2VkaXQnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2VkaXQnLCAnZWRpdCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25JdGVtQ2hhbmdlJykpIHtcbiAgICAgICAgICAgICAgICBhZGRFdmVudEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICAgICAnb25JdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgJ2hhbmRsZUl0ZW1DaGFuZ2UnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUl0ZW1DaGFuZ2VGdW5jdGlvbiA9IGNyZWF0ZUFycm93RnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgICdoYW5kbGVJdGVtQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgW2AoZXZlbnQke2lzVHlwZVNjcmlwdCA/ICc6IEdyaWRJdGVtQ2hhbmdlRXZlbnQnIDogJyd9KWBdLFxuICAgICAgICAgICAgICAgICAgICBbXSAvLyBFbXB0eSBibG9jayBmb3Igbm93XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVJdGVtQ2hhbmdlRnVuY3Rpb24sIGZhbHNlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uRWRpdENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uRWRpdENoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGAke3VuaXF1ZU5hbWV9YFxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVFZGl0Q2hhbmdlRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkRWRpdENoYW5nZUV2ZW50JyA6ICcnfSlgXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5pZGVudGlmaWVyKCdzZXRFZGl0JyksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdlZGl0JykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBlZGl0RmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBhZGRDb21tZW50VG9NZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGooaGFuZGxlRWRpdENoYW5nZUZ1bmN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgYE9yaWdpbmFsIGVkaXRGaWVsZCB2YWx1ZTogJHtlZGl0RmllbGRWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZUVkaXRDaGFuZ2VGdW5jdGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYWRkSW1wb3J0cyAmJiBpc1R5cGVTY3JpcHQpIHtcbiAgICAgICAgLy8gRW5zdXJlIFR5cGVTY3JpcHQgaW1wb3J0c1xuICAgICAgICBlbnN1cmVJbXBvcnRFeGlzdHMoaiwgcm9vdCwgJ0dyaWRJdGVtQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkRWRpdENoYW5nZUV2ZW50JywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnRWRpdERlc2NyaXB0b3InLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWRhdGEtdG9vbHMnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbImVkaXRTdGF0ZSIsImZpbGVJbmZvIiwiYXBpIiwiaiIsInJvb3QiLCJpc1R5cGVTY3JpcHQiLCJhZGRJbXBvcnRzIiwiZXhpc3RpbmdOYW1lcyIsInBhdGgiLCJ1bmlxdWVOYW1lIiwiZ2VuZXJhdGVVbmlxdWVOYW1lIiwiZ3JpZE5hbWUiLCJmaW5kSW1wb3J0ZWROYW1lIiwiZ3JpZFBhdGgiLCJhdHRyaWJ1dGVzIiwiZWRpdEZpZWxkQXR0cmlidXRlIiwiYXR0ciIsImVkaXRGaWVsZFZhbHVlIiwicmVtb3ZlQXR0cmlidXRlIiwiaGFzSlNYQXR0cmlidXRlIiwiYWRkU3RhdGVBdHRyaWJ1dGUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJhZGRTdGF0ZURlY2xhcmF0aW9uIiwiYWRkRXZlbnRBdHRyaWJ1dGUiLCJoYW5kbGVJdGVtQ2hhbmdlTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImhhbmRsZUVkaXRDaGFuZ2VNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRVc2VTdGF0ZURlY2xhcmF0aW9uIiwiaGFuZGxlSXRlbUNoYW5nZUZ1bmN0aW9uIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiIsImhhbmRsZUVkaXRDaGFuZ2VGdW5jdGlvbiIsImVuc3VyZUltcG9ydEV4aXN0cyJdLCJtYXBwaW5ncyI6IjJDQWtCQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FDakIsTUFBTUMsTUFBb0IsSUFDMUJILEVBQUssS0FBS0QsRUFBRSxVQUFVLEVBQUUsUUFBU0ssR0FBUyxDQUN0Q0QsRUFBYyxJQUFJQyxFQUFLLEtBQUssSUFBSSxDQUNwQyxDQUFDLEVBR0QsTUFBTUMsRUFBYUMsRUFBQUEsbUJBREYsbUJBQytCSCxDQUFhLEVBR3ZESSxFQUFXQyxFQUFBQSxpQkFBaUJULEVBQUdDLEVBQU0sT0FBUSw0QkFBNEIsR0FBSyxPQUtwRixPQUZxQkEsRUFBSyxLQUFLRCxFQUFFLFdBQVksQ0FBRSxlQUFnQixDQUFFLEtBQU0sQ0FBRSxLQUFNUSxDQUFBLENBQVMsRUFBSyxFQUVoRixRQUFTRSxHQUFhLENBQy9CLE1B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
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const t=require("./utils.js");function F(m,C){const e=C.jscodeshift,o=e(m.source),c=m.path.endsWith(".ts")||m.path.endsWith(".tsx");let u=!1;const p=new Set;o.find(e.Identifier).forEach(s=>{p.add(s.node.name)});const i=t.generateUniqueName("CustomFilterCell",p),f=t.findImportedName(e,o,"Grid","@progress/kendo-react-grid")||"Grid";return o.find(e.JSXElement,{openingElement:{name:{name:f}}}).forEach(s=>{const n=s.node.openingElement.attributes,l=n==null?void 0:n.find(d=>d.type==="JSXAttribute"&&d.name.name==="filterCellRender");if(l&&l.type==="JSXAttribute"){const d=l.value?e(l.value).toSource():"No value provided",{isClassComponent:a,isFunctionalComponent:h,parentNode:g}=t.findParentComponent(e,s);n&&t.ensureAttributeExists(e,n,"cells","filterCell",a?`this.${i}`:i);let r;a?r=t.createMethodForClassComponent(e,i,c,"GridCustomFilterCellProps"):h&&(r=t.createArrowFunctionForFunctionalComponent(e,i,c,"GridCustomFilterCellProps")),t.addMethodToComponent(e,g,r,a),r&&t.addCommentToMethod(e,e(r),`Original filterCellRender value: ${d}`,a?"class":"function"),t.removeAttribute(n,"filterCellRender")&&(u=!0)}}),u&&c&&t.ensureImportExists(e,o,"GridCustomFilterCellProps","@progress/kendo-react-grid"),o.toSource()}module.exports=F;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNlbGwtcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9maWx0ZXItY2VsbC1yZW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRDb21tZW50VG9NZXRob2QsXG4gICAgZW5zdXJlQXR0cmlidXRlRXhpc3RzLFxuICAgIGZpbmRQYXJlbnRDb21wb25lbnQsXG4gICAgZ2VuZXJhdGVVbmlxdWVOYW1lLFxuICAgIGVuc3VyZUltcG9ydEV4aXN0cyxcbiAgICBjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCxcbiAgICBjcmVhdGVBcnJvd0Z1bmN0aW9uRm9yRnVuY3Rpb25hbENvbXBvbmVudCxcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZEltcG9ydGVkTmFtZVxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIC8vIENvbGxlY3QgYWxsIGV4aXN0aW5nIG1ldGhvZCBuYW1lc1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ0N1c3RvbUZpbHRlckNlbGwnO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBnZW5lcmF0ZVVuaXF1ZU5hbWUoYmFzZU5hbWUsIGV4aXN0aW5nTmFtZXMpO1xuXG4gICAgLy8gRW5zdXJlcyB3ZSBmaW5kIHRoZSBjb3JyZWN0IEdyaWQgaW1wb3J0XG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzIGltcG9ydGVkIGl0IHdpdGggYSBkaWZmZXJlbnQgbmFtZVxuICAgIC8vIGUuZy4gaW1wb3J0IHsgR3JpZCBhcyBLZW5kb0dyaWQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCc7XG4gICAgY29uc3QgZ3JpZE5hbWUgPSBmaW5kSW1wb3J0ZWROYW1lKGosIHJvb3QsICdHcmlkJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJykgfHwgJ0dyaWQnO1xuXG4gICAgLy8gRmluZCBhbGwgSlNYRWxlbWVudHMgd2l0aCB0aGUgbmFtZSAnR3JpZCdcbiAgICByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIEZpbmQgdGhlICdmaWx0ZXJDZWxsUmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2ZpbHRlckNlbGxSZW5kZXInXG4gICAgICAgICkgYXMgSlNYQXR0cmlidXRlO1xuXG4gICAgICAgIC8vIElmIHRoZSAnZmlsdGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChmaWx0ZXJDZWxsUmVuZGVyQXR0cmlidXRlICYmIGZpbHRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudHlwZSA9PT0gJ0pTWEF0dHJpYnV0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckNlbGxSZW5kZXJWYWx1ZSA9IGZpbHRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudmFsdWVcbiAgICAgICAgICAgICAgICA/IGooZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAgICAgLy8gRmluZCB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgeyBpc0NsYXNzQ29tcG9uZW50LCBpc0Z1bmN0aW9uYWxDb21wb25lbnQsIHBhcmVudE5vZGUgfSA9IGZpbmRQYXJlbnRDb21wb25lbnQoaiwgcGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSAnY2VsbHMnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdjZWxscycsXG4gICAgICAgICAgICAgICAgICAgICdmaWx0ZXJDZWxsJyxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/IGB0aGlzLiR7dW5pcXVlTmFtZX1gIDogdW5pcXVlTmFtZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tRmlsdGVyQ2VsbCBtZXRob2RcbiAgICAgICAgICAgIGxldCBjdXN0b21NZXRob2Q7XG4gICAgICAgICAgICBpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50KGosIHVuaXF1ZU5hbWUsIGlzVHlwZVNjcmlwdCwgJ0dyaWRDdXN0b21GaWx0ZXJDZWxsUHJvcHMnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIHVuaXF1ZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGlzVHlwZVNjcmlwdCxcbiAgICAgICAgICAgICAgICAgICAgJ0dyaWRDdXN0b21GaWx0ZXJDZWxsUHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21GaWx0ZXJDZWxsIG1ldGhvZCB0byB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBjdXN0b21NZXRob2QsIGlzQ2xhc3NDb21wb25lbnQpO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGZpbHRlckNlbGxSZW5kZXIgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBDdXN0b21GaWx0ZXJDZWxsIG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgZmlsdGVyQ2VsbFJlbmRlciB2YWx1ZTogJHtmaWx0ZXJDZWxsUmVuZGVyVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/ICdjbGFzcycgOiAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSAnZmlsdGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2ZpbHRlckNlbGxSZW5kZXInKTtcbiAgICAgICAgICAgIGlmICh3YXNSZW1vdmVkKSB7XG4gICAgICAgICAgICAgICAgYWRkSW1wb3J0cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGltcG9ydCBmb3IgR3JpZEN1c3RvbUZpbHRlckNlbGxQcm9wcyBleGlzdHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkQ3VzdG9tRmlsdGVyQ2VsbFByb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJmaWx0ZXJDZWxsUmVuZGVyIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJhdHRyaWJ1dGVzIiwiZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSIsImF0dHIiLCJmaWx0ZXJDZWxsUmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFWCxNQUFBQyxNQUFvQixJQUMxQkgsRUFBSyxLQUFLRCxFQUFFLFVBQVUsRUFBRSxRQUFTSyxHQUFTLENBQ3hCRCxFQUFBLElBQUlDLEVBQUssS0FBSyxJQUFJLENBQUEsQ0FDbkMsRUFHSyxNQUFBQyxFQUFhQyxFQUFBQSxtQkFERixtQkFDK0JILENBQWEsRUFLdkRJLEVBQVdDLEVBQUFBLGlCQUFpQlQsRUFBR0MsRUFBTSxPQUFRLDRCQUE0QixHQUFLLE9BR3BGLE9BQUFBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBQSxDQUFhLENBQUEsQ0FBQyxFQUFFLFFBQVNILEdBQVMsQ0FDbEYsTUFBQUssRUFBYUwsRUFBSyxLQUFLLGVBQWUsV0FHdENNLEVBQTRCRCxHQUFBLFlBQUFBLEVBQVksS0FDekNFLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLG9CQUk3RCxHQUFBRCxHQUE2QkEsRUFBMEIsT0FBUyxlQUFnQixDQUMxRSxNQUFBRSxFQUF3QkYsRUFBMEIsTUFDbERYLEVBQUVXLEVBQTBCLEtBQUssRUFBRSxTQUNuQyxFQUFBLG9CQUdBLENBQUUsaUJBQUFHLEVBQWtCLHNCQUFBQyxFQUF1QixXQUFBQyxDQUFlLEVBQUFDLHNCQUFvQmpCLEVBQUdLLENBQUksRUFFdkZLLEdBRUFRLEVBQUEsc0JBQ0lsQixFQUNBVSxFQUNBLFFBQ0EsYUFDQUksRUFBbUIsUUFBUVIsQ0FBVSxHQUFLQSxDQUFBLEVBSzlDLElBQUFhLEVBQ0FMLEVBQ0FLLEVBQWVDLEVBQThCLDhCQUFBcEIsRUFBR00sRUFBWUosRUFBYywyQkFBMkIsRUFDOUZhLElBQ1FJLEVBQUFFLEVBQUEsMENBQ1hyQixFQUNBTSxFQUNBSixFQUNBLDJCQUFBLEdBS2FvQixFQUFBQSxxQkFBQXRCLEVBQUdnQixFQUFZRyxFQUFjTCxDQUFnQixFQUc5REssR0FDQUksRUFBQSxtQkFDSXZCLEVBQ0FBLEVBQUVtQixDQUFZLEVBQ2Qsb0NBQW9DTixDQUFxQixHQUN6REMsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELGtCQUFrQixJQUV6RlAsRUFBQSxHQUVyQixDQUFBLENBQ0gsRUFFR0EsR0FBY0QsR0FFS3VCLEVBQUFBLG1CQUFBekIsRUFBR0MsRUFBTSw0QkFBNkIsNEJBQTRCLEVBR2xGQSxFQUFLLFVBQ2hCIn0=
|
|
1
|
+
"use strict";const t=require("./utils.js");function b(u,C){const e=C.jscodeshift,n=e(u.source),m=u.path.endsWith(".ts")||u.path.endsWith(".tsx");let c=!1;const p=new Set;n.find(e.Identifier).forEach(i=>{p.add(i.node.name)});const r=t.generateUniqueName("CustomFilterCell",p),f=t.findImportedName(e,n,"Grid","@progress/kendo-react-grid")||"Grid";return n.find(e.JSXElement,{openingElement:{name:{name:f}}}).forEach(i=>{const s=i.node.openingElement.attributes,l=s?.find(d=>d.type==="JSXAttribute"&&d.name.name==="filterCellRender");if(l&&l.type==="JSXAttribute"){const d=l.value?e(l.value).toSource():"No value provided",{isClassComponent:a,isFunctionalComponent:h,parentNode:g}=t.findParentComponent(e,i);s&&t.ensureAttributeExists(e,s,"cells","filterCell",a?`this.${r}`:r);let o;a?o=t.createMethodForClassComponent(e,r,m,"GridCustomFilterCellProps"):h&&(o=t.createArrowFunctionForFunctionalComponent(e,r,m,"GridCustomFilterCellProps")),t.addMethodToComponent(e,g,o,a),o&&t.addCommentToMethod(e,e(o),`Original filterCellRender value: ${d}`,a?"class":"function"),t.removeAttribute(s,"filterCellRender")&&(c=!0)}}),c&&m&&t.ensureImportExists(e,n,"GridCustomFilterCellProps","@progress/kendo-react-grid"),n.toSource()}module.exports=b;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWNlbGwtcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9maWx0ZXItY2VsbC1yZW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRDb21tZW50VG9NZXRob2QsXG4gICAgZW5zdXJlQXR0cmlidXRlRXhpc3RzLFxuICAgIGZpbmRQYXJlbnRDb21wb25lbnQsXG4gICAgZ2VuZXJhdGVVbmlxdWVOYW1lLFxuICAgIGVuc3VyZUltcG9ydEV4aXN0cyxcbiAgICBjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCxcbiAgICBjcmVhdGVBcnJvd0Z1bmN0aW9uRm9yRnVuY3Rpb25hbENvbXBvbmVudCxcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZEltcG9ydGVkTmFtZVxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIC8vIENvbGxlY3QgYWxsIGV4aXN0aW5nIG1ldGhvZCBuYW1lc1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ0N1c3RvbUZpbHRlckNlbGwnO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBnZW5lcmF0ZVVuaXF1ZU5hbWUoYmFzZU5hbWUsIGV4aXN0aW5nTmFtZXMpO1xuXG4gICAgLy8gRW5zdXJlcyB3ZSBmaW5kIHRoZSBjb3JyZWN0IEdyaWQgaW1wb3J0XG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzIGltcG9ydGVkIGl0IHdpdGggYSBkaWZmZXJlbnQgbmFtZVxuICAgIC8vIGUuZy4gaW1wb3J0IHsgR3JpZCBhcyBLZW5kb0dyaWQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCc7XG4gICAgY29uc3QgZ3JpZE5hbWUgPSBmaW5kSW1wb3J0ZWROYW1lKGosIHJvb3QsICdHcmlkJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJykgfHwgJ0dyaWQnO1xuXG4gICAgLy8gRmluZCBhbGwgSlNYRWxlbWVudHMgd2l0aCB0aGUgbmFtZSAnR3JpZCdcbiAgICByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIEZpbmQgdGhlICdmaWx0ZXJDZWxsUmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2ZpbHRlckNlbGxSZW5kZXInXG4gICAgICAgICkgYXMgSlNYQXR0cmlidXRlO1xuXG4gICAgICAgIC8vIElmIHRoZSAnZmlsdGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChmaWx0ZXJDZWxsUmVuZGVyQXR0cmlidXRlICYmIGZpbHRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudHlwZSA9PT0gJ0pTWEF0dHJpYnV0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGZpbHRlckNlbGxSZW5kZXJWYWx1ZSA9IGZpbHRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudmFsdWVcbiAgICAgICAgICAgICAgICA/IGooZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAgICAgLy8gRmluZCB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgeyBpc0NsYXNzQ29tcG9uZW50LCBpc0Z1bmN0aW9uYWxDb21wb25lbnQsIHBhcmVudE5vZGUgfSA9IGZpbmRQYXJlbnRDb21wb25lbnQoaiwgcGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSAnY2VsbHMnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdjZWxscycsXG4gICAgICAgICAgICAgICAgICAgICdmaWx0ZXJDZWxsJyxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/IGB0aGlzLiR7dW5pcXVlTmFtZX1gIDogdW5pcXVlTmFtZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tRmlsdGVyQ2VsbCBtZXRob2RcbiAgICAgICAgICAgIGxldCBjdXN0b21NZXRob2Q7XG4gICAgICAgICAgICBpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50KGosIHVuaXF1ZU5hbWUsIGlzVHlwZVNjcmlwdCwgJ0dyaWRDdXN0b21GaWx0ZXJDZWxsUHJvcHMnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIHVuaXF1ZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGlzVHlwZVNjcmlwdCxcbiAgICAgICAgICAgICAgICAgICAgJ0dyaWRDdXN0b21GaWx0ZXJDZWxsUHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21GaWx0ZXJDZWxsIG1ldGhvZCB0byB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBjdXN0b21NZXRob2QsIGlzQ2xhc3NDb21wb25lbnQpO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGZpbHRlckNlbGxSZW5kZXIgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBDdXN0b21GaWx0ZXJDZWxsIG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgZmlsdGVyQ2VsbFJlbmRlciB2YWx1ZTogJHtmaWx0ZXJDZWxsUmVuZGVyVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/ICdjbGFzcycgOiAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSAnZmlsdGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2ZpbHRlckNlbGxSZW5kZXInKTtcbiAgICAgICAgICAgIGlmICh3YXNSZW1vdmVkKSB7XG4gICAgICAgICAgICAgICAgYWRkSW1wb3J0cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGltcG9ydCBmb3IgR3JpZEN1c3RvbUZpbHRlckNlbGxQcm9wcyBleGlzdHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkQ3VzdG9tRmlsdGVyQ2VsbFByb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJmaWx0ZXJDZWxsUmVuZGVyIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJhdHRyaWJ1dGVzIiwiZmlsdGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSIsImF0dHIiLCJmaWx0ZXJDZWxsUmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFakIsTUFBTUMsTUFBb0IsSUFDMUJILEVBQUssS0FBS0QsRUFBRSxVQUFVLEVBQUUsUUFBU0ssR0FBUyxDQUN0Q0QsRUFBYyxJQUFJQyxFQUFLLEtBQUssSUFBSSxDQUNwQyxDQUFDLEVBR0QsTUFBTUMsRUFBYUMsRUFBQUEsbUJBREYsbUJBQytCSCxDQUFhLEVBS3ZESSxFQUFXQyxFQUFBQSxpQkFBaUJULEVBQUdDLEVBQU0sT0FBUSw0QkFBNEIsR0FBSyxPQUdwRixPQUFBQSxFQUFLLEtBQUtELEVBQUUsV0FBWSxDQUFFLGVBQWdCLENBQUUsS0FBTSxDQUFFLEtBQU1RLENBQUEsRUFBVyxDQUFHLEVBQUUsUUFBU0gsR0FBUyxDQUN4RixNQUFNSyxFQUFhTCxFQUFLLEtBQUssZUFBZSxXQUd0Q00sRUFBNEJELEdBQVksS0FDekNFLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLGtCQUFBLEVBSWpFLEdBQUlELEdBQTZCQSxFQUEwQixPQUFTLGVBQWdCLENBQ2hGLE1BQU1FLEVBQXdCRixFQUEwQixNQUNsRFgsRUFBRVcsRUFBMEIsS0FBSyxFQUFFLFdBQ25DLG9CQUdBLENBQUUsaUJBQUFHLEVBQWtCLHNCQUFBQyxFQUF1QixXQUFBQyxHQUFlQyxFQUFBQSxvQkFBb0JqQixFQUFHSyxDQUFJLEVBRXZGSyxHQUVBUSxFQUFBQSxzQkFDSWxCLEVBQ0FVLEVBQ0EsUUFDQSxhQUNBSSxFQUFtQixRQUFRUixDQUFVLEdBQUtBLENBQUEsRUFLbEQsSUFBSWEsRUFDQUwsRUFDQUssRUFBZUMsRUFBQUEsOEJBQThCcEIsRUFBR00sRUFBWUosRUFBYywyQkFBMkIsRUFDOUZhLElBQ1BJLEVBQWVFLEVBQUFBLDBDQUNYckIsRUFDQU0sRUFDQUosRUFDQSwyQkFBQSxHQUtSb0IsRUFBQUEscUJBQXFCdEIsRUFBR2dCLEVBQVlHLEVBQWNMLENBQWdCLEVBRzlESyxHQUNBSSxFQUFBQSxtQkFDSXZCLEVBQ0FBLEVBQUVtQixDQUFZLEVBQ2Qsb0NBQW9DTixDQUFxQixHQUN6REMsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELGtCQUFrQixJQUV0R1AsRUFBYSxHQUVyQixDQUNKLENBQUMsRUFFR0EsR0FBY0QsR0FFZHVCLEVBQUFBLG1CQUFtQnpCLEVBQUdDLEVBQU0sNEJBQTZCLDRCQUE0QixFQUdsRkEsRUFBSyxTQUFBLENBQ2hCIn0=
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const n=require("./utils.js");function f(u,m){const e=m.jscodeshift,r=e(u.source),a=u.path.endsWith(".ts")||u.path.endsWith(".tsx");let E=!1;const x=new Set;r.find(e.Identifier).forEach(d=>{x.add(d.node.name)});const i=n.generateUniqueName("handleGroupExpand",x),g=n.findImportedName(e,r,"Grid","@progress/kendo-react-grid")||"Grid";return r.find(e.JSXElement,{openingElement:{name:{name:g}}}).forEach(d=>{const t=d.node.openingElement.attributes;if(!n.hasJSXAttribute(t,"groupable"))return;const s=t==null?void 0:t.find(o=>o.type==="JSXAttribute"&&o.name.name==="onExpandChange"),c=s!=null&&s.value?e(s.value).toSource():"No value provided";n.removeAttribute(t,"onExpandChange"),E=!0;const{isClassComponent:h,isFunctionalComponent:l,parentNode:p}=n.findParentComponent(e,d);if(h){if(n.addStateDeclaration(e,p,"groupExpand",e.arrayExpression([])),n.hasJSXAttribute(t,"groupExpand")||n.addStateAttribute(e,t,"groupExpand","this.state.groupExpand"),!n.hasJSXAttribute(t,"onGroupExpandChange")){n.addEventAttribute(e,t,"onGroupExpandChange",`this.${i}`);const o=n.createClassMethod(e,i,[`event${a?": GridGroupExpandChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("groupExpand"),e.memberExpression(e.identifier("event"),e.identifier("groupExpand")))])]))]);n.addCommentToMethod(e,e(o),`Original onExpandChange value: ${c}`,"class"),n.addMethodToComponent(e,p,o,!0)}}else if(l&&(n.addUseStateDeclaration(e,p,"groupExpand","setGroupExpand",e.arrayExpression([]),a,"GroupExpandDescriptor[]"),n.hasJSXAttribute(t,"groupExpand")||n.addStateAttribute(e,t,"groupExpand","groupExpand"),!n.hasJSXAttribute(t,"onGroupExpandChange"))){n.addEventAttribute(e,t,"onGroupExpandChange",`${i}`);const o=n.createArrowFunction(e,`${i}`,[`(event${a?": GridGroupExpandChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setGroupExpand"),[e.memberExpression(e.identifier("event"),e.identifier("groupExpand"))]))]);n.addCommentToMethod(e,e(o),`Original onExpandChange value: ${c}`,"function"),n.addMethodToComponent(e,p,o,!1)}}),E&&a&&(n.ensureImportExists(e,r,"GroupExpandDescriptor","@progress/kendo-react-data-tools"),n.ensureImportExists(e,r,"GridGroupExpandChangeEvent","@progress/kendo-react-grid")),r.toSource()}module.exports=f;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZXhwYW5kLXN0YXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9ncm91cC1leHBhbmQtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGFkZEV2ZW50QXR0cmlidXRlLFxuICAgIGFkZFN0YXRlQXR0cmlidXRlLFxuICAgIGFkZFN0YXRlRGVjbGFyYXRpb24sXG4gICAgYWRkVXNlU3RhdGVEZWNsYXJhdGlvbixcbiAgICBmaW5kSW1wb3J0ZWROYW1lLFxuICAgIGNyZWF0ZUNsYXNzTWV0aG9kLFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb24sXG4gICAgaGFzSlNYQXR0cmlidXRlLFxuICAgIGFkZENvbW1lbnRUb01ldGhvZFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ2hhbmRsZUdyb3VwRXhwYW5kJztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIER5bmFtaWNhbGx5IHJlc29sdmUgdGhlIGltcG9ydGVkIG5hbWUgZm9yIGBHcmlkYFxuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgb2YgdGhlIHJlc29sdmVkIGBHcmlkYCBjb21wb25lbnRcbiAgICBjb25zdCBncmlkRWxlbWVudHMgPSByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pO1xuXG4gICAgZ3JpZEVsZW1lbnRzLmZvckVhY2goKGdyaWRQYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBncmlkUGF0aC5ub2RlLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXM7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGBncm91cGFibGVgIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2dyb3VwYWJsZScpKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBncm91cGFibGVgIGlzIG5vdCBwcmVzZW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBgb25FeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ29uRXhwYW5kQ2hhbmdlJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBDb3B5IHRoZSB2YWx1ZSBvZiBgb25FeHBhbmRDaGFuZ2VgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZVZhbHVlID0gb25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGU/LnZhbHVlXG4gICAgICAgICAgICA/IGoob25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBvbkV4cGFuZENoYW5nZWAgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdvbkV4cGFuZENoYW5nZScpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZ3JvdXBFeHBhbmRgIHRvIHRoZSBjbGFzcyBjb21wb25lbnQncyBzdGF0ZVxuICAgICAgICAgICAgYWRkU3RhdGVEZWNsYXJhdGlvbihqLCBwYXJlbnROb2RlLCAnZ3JvdXBFeHBhbmQnLCBqLmFycmF5RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYGdyb3VwRXhwYW5kYCBhbmQgYG9uR3JvdXBFeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdncm91cEV4cGFuZCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ2dyb3VwRXhwYW5kJyxcbiAgICAgICAgICAgICAgICAgICAgJ3RoaXMuc3RhdGUuZ3JvdXBFeHBhbmQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uR3JvdXBFeHBhbmRDaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkdyb3VwRXhwYW5kQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgYHRoaXMuJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZUdyb3VwRXhwYW5kYCBtZXRob2RcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVHcm91cEV4cGFuZE1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkR3JvdXBFeHBhbmRDaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5tZW1iZXJFeHByZXNzaW9uKGoudGhpc0V4cHJlc3Npb24oKSwgai5pZGVudGlmaWVyKCdzZXRTdGF0ZScpKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5wcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5pZGVudGlmaWVyKCdncm91cEV4cGFuZCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoubWVtYmVyRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ2V2ZW50JyksIGouaWRlbnRpZmllcignZ3JvdXBFeHBhbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYG9uRXhwYW5kQ2hhbmdlYCB2YWx1ZSBhcyBhIGNvbW1lbnQgaW4gdGhlIG1ldGhvZFxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVHcm91cEV4cGFuZE1ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBvbkV4cGFuZENoYW5nZSB2YWx1ZTogJHtvbkV4cGFuZENoYW5nZVZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcydcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlR3JvdXBFeHBhbmRNZXRob2QsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb25hbENvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gQWRkIGBSZWFjdC51c2VTdGF0ZWAgZm9yIGBncm91cEV4cGFuZGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdncm91cEV4cGFuZCcsXG4gICAgICAgICAgICAgICAgJ3NldEdyb3VwRXhwYW5kJyxcbiAgICAgICAgICAgICAgICBqLmFycmF5RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdHcm91cEV4cGFuZERlc2NyaXB0b3JbXSdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZ3JvdXBFeHBhbmRgIGFuZCBgb25Hcm91cEV4cGFuZENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2dyb3VwRXhwYW5kJykpIHtcbiAgICAgICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShqLCBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdncm91cEV4cGFuZCcsICdncm91cEV4cGFuZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25Hcm91cEV4cGFuZENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uR3JvdXBFeHBhbmRDaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZUdyb3VwRXhwYW5kYCBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUdyb3VwRXhwYW5kRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkR3JvdXBFeHBhbmRDaGFuZ2VFdmVudCcgOiAnJ30pYF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGouaWRlbnRpZmllcignc2V0R3JvdXBFeHBhbmQnKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm1lbWJlckV4cHJlc3Npb24oai5pZGVudGlmaWVyKCdldmVudCcpLCBqLmlkZW50aWZpZXIoJ2dyb3VwRXhwYW5kJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBvbkV4cGFuZENoYW5nZWAgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgYE9yaWdpbmFsIG9uRXhwYW5kQ2hhbmdlIHZhbHVlOiAke29uRXhwYW5kQ2hhbmdlVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgVHlwZVNjcmlwdCBpbXBvcnRzXG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JvdXBFeHBhbmREZXNjcmlwdG9yJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1kYXRhLXRvb2xzJyk7XG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JpZEdyb3VwRXhwYW5kQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbImdyb3VwRXhwYW5kU3RhdGUiLCJmaWxlSW5mbyIsImFwaSIsImoiLCJyb290IiwiaXNUeXBlU2NyaXB0IiwiYWRkSW1wb3J0cyIsImV4aXN0aW5nTmFtZXMiLCJwYXRoIiwidW5pcXVlTmFtZSIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImdyaWROYW1lIiwiZmluZEltcG9ydGVkTmFtZSIsImdyaWRQYXRoIiwiYXR0cmlidXRlcyIsImhhc0pTWEF0dHJpYnV0ZSIsIm9uRXhwYW5kQ2hhbmdlQXR0cmlidXRlIiwiYXR0ciIsIm9uRXhwYW5kQ2hhbmdlVmFsdWUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJhZGRTdGF0ZURlY2xhcmF0aW9uIiwiYWRkU3RhdGVBdHRyaWJ1dGUiLCJhZGRFdmVudEF0dHJpYnV0ZSIsImhhbmRsZUdyb3VwRXhwYW5kTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiIsImVuc3VyZUltcG9ydEV4aXN0cyJdLCJtYXBwaW5ncyI6IjJDQWtCQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FDWCxNQUFBQyxNQUFvQixJQUMxQkgsRUFBSyxLQUFLRCxFQUFFLFVBQVUsRUFBRSxRQUFTSyxHQUFTLENBQ3hCRCxFQUFBLElBQUlDLEVBQUssS0FBSyxJQUFJLENBQUEsQ0FDbkMsRUFHSyxNQUFBQyxFQUFhQyxFQUFBQSxtQkFERixvQkFDK0JILENBQWEsRUFHdkRJLEVBQVdDLEVBQUFBLGlCQUFpQlQsRUFBR0MsRUFBTSxPQUFRLDRCQUE0QixHQUFLLE9BS3ZFLE9BRlFBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBUyxDQUFBLENBQUssQ0FBQSxFQUVoRixRQUFTRSxHQUFhLENBQ3pCLE1BQUFDLEVBQWFELEVBQVMsS0FBSyxlQUFlLFdBR2hELEdBQUksQ0FBQ0UsRUFBQSxnQkFBZ0JELEVBQVksV0FBVyxFQUN4QyxPQUlKLE1BQU1FLEVBQTBCRixHQUFBLFlBQUFBLEVBQVksS0FDdkNHLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLGtCQUkzREMsRUFBc0JGLEdBQUEsTUFBQUEsRUFBeUIsTUFDL0NiLEVBQUVhLEVBQXdCLEtBQUssRUFBRSxTQUNqQyxFQUFBLG9CQUdORyxrQkFBZ0JMLEVBQXFELGdCQUFnQixFQUN4RVIsRUFBQSxHQUdiLEtBQU0sQ0FBRSxpQkFBQWMsRUFBa0Isc0JBQUFDLEVBQXVCLFdBQUFDLENBQWUsRUFBQUMsc0JBQW9CcEIsRUFBR1UsQ0FBUSxFQUUvRixHQUFJTyxHQWNBLEdBWkFJLEVBQUEsb0JBQW9CckIsRUFBR21CLEVBQVksY0FBZW5CLEVBQUUsZ0JBQWdCLENBQUUsQ0FBQSxDQUFDLEVBR2xFWSxFQUFBLGdCQUFnQkQsRUFBWSxhQUFhLEdBQzFDVyxFQUFBLGtCQUNJdEIsRUFDQVcsRUFDQSxjQUNBLHdCQUFBLEVBSUosQ0FBQ0MsRUFBQSxnQkFBZ0JELEVBQVkscUJBQXFCLEVBQUcsQ0FDckRZLEVBQUEsa0JBQ0l2QixFQUNBVyxFQUNBLHNCQUNBLFFBQVFMLENBQVUsRUFBQSxFQUl0QixNQUFNa0IsRUFBMEJDLEVBQUEsa0JBQzVCekIsRUFDQU0sRUFDQSxDQUFDLFFBQVFKLEVBQWUsK0JBQWlDLEVBQUUsRUFBRSxFQUM3RCxDQUNJRixFQUFFLG9CQUNFQSxFQUFFLGVBQWVBLEVBQUUsaUJBQWlCQSxFQUFFLGVBQWUsRUFBR0EsRUFBRSxXQUFXLFVBQVUsQ0FBQyxFQUFHLENBQy9FQSxFQUFFLGlCQUFpQixDQUNmQSxFQUFFLFNBQ0UsT0FDQUEsRUFBRSxXQUFXLGFBQWEsRUFDMUJBLEVBQUUsaUJBQWlCQSxFQUFFLFdBQVcsT0FBTyxFQUFHQSxFQUFFLFdBQVcsYUFBYSxDQUFDLENBQ3pFLENBQUEsQ0FDSCxDQUFBLENBQ0osQ0FDTCxDQUNKLENBQUEsRUFJSjBCLEVBQUEsbUJBQ0kxQixFQUNBQSxFQUFFd0IsQ0FBdUIsRUFDekIsa0NBQWtDVCxDQUFtQixHQUNyRCxPQUFBLEVBR2lCWSxFQUFBQSxxQkFBQTNCLEVBQUdtQixFQUFZSyxFQUF5QixFQUFJLENBQ3JFLFVBQ09OLElBRVBVLEVBQUEsdUJBQ0k1QixFQUNBbUIsRUFDQSxjQUNBLGlCQUNBbkIsRUFBRSxnQkFBZ0IsRUFBRSxFQUNwQkUsRUFDQSx5QkFBQSxFQUlDVSxFQUFBLGdCQUFnQkQsRUFBWSxhQUFhLEdBQ3hCVyxFQUFBQSxrQkFBQXRCLEVBQUdXLEVBQXFELGNBQWUsYUFBYSxFQUd0RyxDQUFDQyxFQUFBLGdCQUFnQkQsRUFBWSxxQkFBcUIsR0FBRyxDQUNyRFksRUFBQSxrQkFDSXZCLEVBQ0FXLEVBQ0Esc0JBQ0EsR0FBR0wsQ0FBVSxFQUFBLEVBSWpCLE1BQU11QixFQUE0QkMsRUFBQSxvQkFDOUI5QixFQUNBLEdBQUdNLENBQVUsR0FDYixDQUFDLFNBQVNKLEVBQWUsK0JBQWlDLEVBQUUsR0FBRyxFQUMvRCxDQUNJRixFQUFFLG9CQUNFQSxFQUFFLGVBQWVBLEVBQUUsV0FBVyxnQkFBZ0IsRUFBRyxDQUM3Q0EsRUFBRSxpQkFBaUJBLEVBQUUsV0FBVyxPQUFPLEVBQUdBLEVBQUUsV0FBVyxhQUFhLENBQUMsQ0FBQSxDQUN4RSxDQUNMLENBQ0osQ0FBQSxFQUlKMEIsRUFBQSxtQkFDSTFCLEVBQ0FBLEVBQUU2QixDQUF5QixFQUMzQixrQ0FBa0NkLENBQW1CLEdBQ3JELFVBQUEsRUFHaUJZLEVBQUFBLHFCQUFBM0IsRUFBR21CLEVBQVlVLEVBQTJCLEVBQUssQ0FDeEUsQ0FDSixDQUNILEVBRUcxQixHQUFjRCxJQUVLNkIsRUFBQUEsbUJBQUEvQixFQUFHQyxFQUFNLHdCQUF5QixrQ0FBa0MsRUFDcEU4QixFQUFBQSxtQkFBQS9CLEVBQUdDLEVBQU0sNkJBQThCLDRCQUE0QixHQUduRkEsRUFBSyxVQUNoQiJ9
|
|
1
|
+
"use strict";const t=require("./utils.js");function f(p,g){const e=g.jscodeshift,o=e(p.source),r=p.path.endsWith(".ts")||p.path.endsWith(".tsx");let u=!1;const E=new Set;o.find(e.Identifier).forEach(d=>{E.add(d.node.name)});const i=t.generateUniqueName("handleGroupExpand",E),m=t.findImportedName(e,o,"Grid","@progress/kendo-react-grid")||"Grid";return o.find(e.JSXElement,{openingElement:{name:{name:m}}}).forEach(d=>{const n=d.node.openingElement.attributes;if(!t.hasJSXAttribute(n,"groupable"))return;const x=n?.find(a=>a.type==="JSXAttribute"&&a.name.name==="onExpandChange"),c=x?.value?e(x.value).toSource():"No value provided";t.removeAttribute(n,"onExpandChange"),u=!0;const{isClassComponent:h,isFunctionalComponent:l,parentNode:s}=t.findParentComponent(e,d);if(h){if(t.addStateDeclaration(e,s,"groupExpand",e.arrayExpression([])),t.hasJSXAttribute(n,"groupExpand")||t.addStateAttribute(e,n,"groupExpand","this.state.groupExpand"),!t.hasJSXAttribute(n,"onGroupExpandChange")){t.addEventAttribute(e,n,"onGroupExpandChange",`this.${i}`);const a=t.createClassMethod(e,i,[`event${r?": GridGroupExpandChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("groupExpand"),e.memberExpression(e.identifier("event"),e.identifier("groupExpand")))])]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"class"),t.addMethodToComponent(e,s,a,!0)}}else if(l&&(t.addUseStateDeclaration(e,s,"groupExpand","setGroupExpand",e.arrayExpression([]),r,"GroupExpandDescriptor[]"),t.hasJSXAttribute(n,"groupExpand")||t.addStateAttribute(e,n,"groupExpand","groupExpand"),!t.hasJSXAttribute(n,"onGroupExpandChange"))){t.addEventAttribute(e,n,"onGroupExpandChange",`${i}`);const a=t.createArrowFunction(e,`${i}`,[`(event${r?": GridGroupExpandChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setGroupExpand"),[e.memberExpression(e.identifier("event"),e.identifier("groupExpand"))]))]);t.addCommentToMethod(e,e(a),`Original onExpandChange value: ${c}`,"function"),t.addMethodToComponent(e,s,a,!1)}}),u&&r&&(t.ensureImportExists(e,o,"GroupExpandDescriptor","@progress/kendo-react-data-tools"),t.ensureImportExists(e,o,"GridGroupExpandChangeEvent","@progress/kendo-react-grid")),o.toSource()}module.exports=f;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JvdXAtZXhwYW5kLXN0YXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9ncm91cC1leHBhbmQtc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGFkZEV2ZW50QXR0cmlidXRlLFxuICAgIGFkZFN0YXRlQXR0cmlidXRlLFxuICAgIGFkZFN0YXRlRGVjbGFyYXRpb24sXG4gICAgYWRkVXNlU3RhdGVEZWNsYXJhdGlvbixcbiAgICBmaW5kSW1wb3J0ZWROYW1lLFxuICAgIGNyZWF0ZUNsYXNzTWV0aG9kLFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb24sXG4gICAgaGFzSlNYQXR0cmlidXRlLFxuICAgIGFkZENvbW1lbnRUb01ldGhvZFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ2hhbmRsZUdyb3VwRXhwYW5kJztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIER5bmFtaWNhbGx5IHJlc29sdmUgdGhlIGltcG9ydGVkIG5hbWUgZm9yIGBHcmlkYFxuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgb2YgdGhlIHJlc29sdmVkIGBHcmlkYCBjb21wb25lbnRcbiAgICBjb25zdCBncmlkRWxlbWVudHMgPSByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pO1xuXG4gICAgZ3JpZEVsZW1lbnRzLmZvckVhY2goKGdyaWRQYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBncmlkUGF0aC5ub2RlLm9wZW5pbmdFbGVtZW50LmF0dHJpYnV0ZXM7XG5cbiAgICAgICAgLy8gQ2hlY2sgaWYgdGhlIGBncm91cGFibGVgIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2dyb3VwYWJsZScpKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBncm91cGFibGVgIGlzIG5vdCBwcmVzZW50XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGaW5kIHRoZSBgb25FeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZVxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZUF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ29uRXhwYW5kQ2hhbmdlJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBDb3B5IHRoZSB2YWx1ZSBvZiBgb25FeHBhbmRDaGFuZ2VgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBvbkV4cGFuZENoYW5nZVZhbHVlID0gb25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGU/LnZhbHVlXG4gICAgICAgICAgICA/IGoob25FeHBhbmRDaGFuZ2VBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAvLyBSZW1vdmUgdGhlIGBvbkV4cGFuZENoYW5nZWAgYXR0cmlidXRlXG4gICAgICAgIHJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdvbkV4cGFuZENoYW5nZScpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgZ3JvdXBFeHBhbmRgIHRvIHRoZSBjbGFzcyBjb21wb25lbnQncyBzdGF0ZVxuICAgICAgICAgICAgYWRkU3RhdGVEZWNsYXJhdGlvbihqLCBwYXJlbnROb2RlLCAnZ3JvdXBFeHBhbmQnLCBqLmFycmF5RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYGdyb3VwRXhwYW5kYCBhbmQgYG9uR3JvdXBFeHBhbmRDaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdncm91cEV4cGFuZCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ2dyb3VwRXhwYW5kJyxcbiAgICAgICAgICAgICAgICAgICAgJ3RoaXMuc3RhdGUuZ3JvdXBFeHBhbmQnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uR3JvdXBFeHBhbmRDaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvbkdyb3VwRXhwYW5kQ2hhbmdlJyxcbiAgICAgICAgICAgICAgICAgICAgYHRoaXMuJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZUdyb3VwRXhwYW5kYCBtZXRob2RcbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVHcm91cEV4cGFuZE1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkR3JvdXBFeHBhbmRDaGFuZ2VFdmVudCcgOiAnJ31gXSxcbiAgICAgICAgICAgICAgICAgICAgW1xuICAgICAgICAgICAgICAgICAgICAgICAgai5leHByZXNzaW9uU3RhdGVtZW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouY2FsbEV4cHJlc3Npb24oai5tZW1iZXJFeHByZXNzaW9uKGoudGhpc0V4cHJlc3Npb24oKSwgai5pZGVudGlmaWVyKCdzZXRTdGF0ZScpKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm9iamVjdEV4cHJlc3Npb24oW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5wcm9wZXJ0eShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnaW5pdCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5pZGVudGlmaWVyKCdncm91cEV4cGFuZCcpLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoubWVtYmVyRXhwcmVzc2lvbihqLmlkZW50aWZpZXIoJ2V2ZW50JyksIGouaWRlbnRpZmllcignZ3JvdXBFeHBhbmQnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYG9uRXhwYW5kQ2hhbmdlYCB2YWx1ZSBhcyBhIGNvbW1lbnQgaW4gdGhlIG1ldGhvZFxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVHcm91cEV4cGFuZE1ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBvbkV4cGFuZENoYW5nZSB2YWx1ZTogJHtvbkV4cGFuZENoYW5nZVZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgICdjbGFzcydcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgYWRkTWV0aG9kVG9Db21wb25lbnQoaiwgcGFyZW50Tm9kZSwgaGFuZGxlR3JvdXBFeHBhbmRNZXRob2QsIHRydWUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb25hbENvbXBvbmVudCkge1xuICAgICAgICAgICAgLy8gQWRkIGBSZWFjdC51c2VTdGF0ZWAgZm9yIGBncm91cEV4cGFuZGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdncm91cEV4cGFuZCcsXG4gICAgICAgICAgICAgICAgJ3NldEdyb3VwRXhwYW5kJyxcbiAgICAgICAgICAgICAgICBqLmFycmF5RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdHcm91cEV4cGFuZERlc2NyaXB0b3JbXSdcbiAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgIC8vIEFkZCBgZ3JvdXBFeHBhbmRgIGFuZCBgb25Hcm91cEV4cGFuZENoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ2dyb3VwRXhwYW5kJykpIHtcbiAgICAgICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShqLCBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdncm91cEV4cGFuZCcsICdncm91cEV4cGFuZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25Hcm91cEV4cGFuZENoYW5nZScpKSB7XG4gICAgICAgICAgICAgICAgYWRkRXZlbnRBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ29uR3JvdXBFeHBhbmRDaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZUdyb3VwRXhwYW5kYCBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZUdyb3VwRXhwYW5kRnVuY3Rpb24gPSBjcmVhdGVBcnJvd0Z1bmN0aW9uKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWAsXG4gICAgICAgICAgICAgICAgICAgIFtgKGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkR3JvdXBFeHBhbmRDaGFuZ2VFdmVudCcgOiAnJ30pYF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGouaWRlbnRpZmllcignc2V0R3JvdXBFeHBhbmQnKSwgW1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLm1lbWJlckV4cHJlc3Npb24oai5pZGVudGlmaWVyKCdldmVudCcpLCBqLmlkZW50aWZpZXIoJ2dyb3VwRXhwYW5kJykpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgXVxuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICAvLyBBZGQgdGhlIGBvbkV4cGFuZENoYW5nZWAgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBmdW5jdGlvblxuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uKSxcbiAgICAgICAgICAgICAgICAgICAgYE9yaWdpbmFsIG9uRXhwYW5kQ2hhbmdlIHZhbHVlOiAke29uRXhwYW5kQ2hhbmdlVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uLCBmYWxzZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgVHlwZVNjcmlwdCBpbXBvcnRzXG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JvdXBFeHBhbmREZXNjcmlwdG9yJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1kYXRhLXRvb2xzJyk7XG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JpZEdyb3VwRXhwYW5kQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbImdyb3VwRXhwYW5kU3RhdGUiLCJmaWxlSW5mbyIsImFwaSIsImoiLCJyb290IiwiaXNUeXBlU2NyaXB0IiwiYWRkSW1wb3J0cyIsImV4aXN0aW5nTmFtZXMiLCJwYXRoIiwidW5pcXVlTmFtZSIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImdyaWROYW1lIiwiZmluZEltcG9ydGVkTmFtZSIsImdyaWRQYXRoIiwiYXR0cmlidXRlcyIsImhhc0pTWEF0dHJpYnV0ZSIsIm9uRXhwYW5kQ2hhbmdlQXR0cmlidXRlIiwiYXR0ciIsIm9uRXhwYW5kQ2hhbmdlVmFsdWUiLCJyZW1vdmVBdHRyaWJ1dGUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJhZGRTdGF0ZURlY2xhcmF0aW9uIiwiYWRkU3RhdGVBdHRyaWJ1dGUiLCJhZGRFdmVudEF0dHJpYnV0ZSIsImhhbmRsZUdyb3VwRXhwYW5kTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVHcm91cEV4cGFuZEZ1bmN0aW9uIiwiY3JlYXRlQXJyb3dGdW5jdGlvbiIsImVuc3VyZUltcG9ydEV4aXN0cyJdLCJtYXBwaW5ncyI6IjJDQWtCQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FDakIsTUFB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
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const t=require("./utils.js");function N(m,C){const e=C.jscodeshift,o=e(m.source),c=m.path.endsWith(".ts")||m.path.endsWith(".tsx");let u=!1;const p=new Set;o.find(e.Identifier).forEach(d=>{p.add(d.node.name)});const s=t.generateUniqueName("CustomHeaderCell",p),h=t.findImportedName(e,o,"Grid","@progress/kendo-react-grid")||"Grid";return o.find(e.JSXElement,{openingElement:{name:{name:h}}}).forEach(d=>{const n=d.node.openingElement.attributes,a=n==null?void 0:n.find(i=>i.type==="JSXAttribute"&&i.name.name==="headerCellRender");if(a&&a.type==="JSXAttribute"){const i=a.value?e(a.value).toSource():"No value provided",{isClassComponent:l,isFunctionalComponent:f,parentNode:g}=t.findParentComponent(e,d);n&&t.ensureAttributeExists(e,n,"cells","headerCell",l?`this.${s}`:s);let r;l?r=t.createMethodForClassComponent(e,s,c,"GridCustomHeaderCellProps"):f&&(r=t.createArrowFunctionForFunctionalComponent(e,s,c,"GridCustomHeaderCellProps")),t.addMethodToComponent(e,g,r,l),r&&t.addCommentToMethod(e,e(r),`Original headerCellRender value: ${i}`,l?"class":"function"),t.removeAttribute(n,"headerCellRender")&&(u=!0)}}),u&&c&&t.ensureImportExists(e,o,"GridCustomHeaderCellProps","@progress/kendo-react-grid"),o.toSource()}module.exports=N;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNlbGwtcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9oZWFkZXItY2VsbC1yZW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRDb21tZW50VG9NZXRob2QsXG4gICAgZW5zdXJlQXR0cmlidXRlRXhpc3RzLFxuICAgIGZpbmRQYXJlbnRDb21wb25lbnQsXG4gICAgZ2VuZXJhdGVVbmlxdWVOYW1lLFxuICAgIGVuc3VyZUltcG9ydEV4aXN0cyxcbiAgICBjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCxcbiAgICBjcmVhdGVBcnJvd0Z1bmN0aW9uRm9yRnVuY3Rpb25hbENvbXBvbmVudCxcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZEltcG9ydGVkTmFtZVxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIC8vIENvbGxlY3QgYWxsIGV4aXN0aW5nIG1ldGhvZCBuYW1lc1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ0N1c3RvbUhlYWRlckNlbGwnO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBnZW5lcmF0ZVVuaXF1ZU5hbWUoYmFzZU5hbWUsIGV4aXN0aW5nTmFtZXMpO1xuXG4gICAgLy8gRW5zdXJlcyB3ZSBmaW5kIHRoZSBjb3JyZWN0IEdyaWQgaW1wb3J0XG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzIGltcG9ydGVkIGl0IHdpdGggYSBkaWZmZXJlbnQgbmFtZVxuICAgIC8vIGUuZy4gaW1wb3J0IHsgR3JpZCBhcyBLZW5kb0dyaWQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCc7XG4gICAgY29uc3QgZ3JpZE5hbWUgPSBmaW5kSW1wb3J0ZWROYW1lKGosIHJvb3QsICdHcmlkJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJykgfHwgJ0dyaWQnO1xuXG4gICAgLy8gRmluZCBhbGwgSlNYRWxlbWVudHMgd2l0aCB0aGUgbmFtZSAnR3JpZCdcbiAgICByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIEZpbmQgdGhlICdoZWFkZXJDZWxsUmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2hlYWRlckNlbGxSZW5kZXInXG4gICAgICAgICkgYXMgSlNYQXR0cmlidXRlO1xuXG4gICAgICAgIC8vIElmIHRoZSAnaGVhZGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChoZWFkZXJDZWxsUmVuZGVyQXR0cmlidXRlICYmIGhlYWRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudHlwZSA9PT0gJ0pTWEF0dHJpYnV0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlckNlbGxSZW5kZXJWYWx1ZSA9IGhlYWRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudmFsdWVcbiAgICAgICAgICAgICAgICA/IGooaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAgICAgLy8gRmluZCB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgeyBpc0NsYXNzQ29tcG9uZW50LCBpc0Z1bmN0aW9uYWxDb21wb25lbnQsIHBhcmVudE5vZGUgfSA9IGZpbmRQYXJlbnRDb21wb25lbnQoaiwgcGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSAnY2VsbHMnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdjZWxscycsXG4gICAgICAgICAgICAgICAgICAgICdoZWFkZXJDZWxsJyxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/IGB0aGlzLiR7dW5pcXVlTmFtZX1gIDogdW5pcXVlTmFtZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tSGVhZGVyQ2VsbCBtZXRob2RcbiAgICAgICAgICAgIGxldCBjdXN0b21NZXRob2Q7XG4gICAgICAgICAgICBpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50KGosIHVuaXF1ZU5hbWUsIGlzVHlwZVNjcmlwdCwgJ0dyaWRDdXN0b21IZWFkZXJDZWxsUHJvcHMnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIHVuaXF1ZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGlzVHlwZVNjcmlwdCxcbiAgICAgICAgICAgICAgICAgICAgJ0dyaWRDdXN0b21IZWFkZXJDZWxsUHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21IZWFkZXJDZWxsIG1ldGhvZCB0byB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBjdXN0b21NZXRob2QsIGlzQ2xhc3NDb21wb25lbnQpO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGhlYWRlckNlbGxSZW5kZXIgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBDdXN0b21IZWFkZXJDZWxsIG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgaGVhZGVyQ2VsbFJlbmRlciB2YWx1ZTogJHtoZWFkZXJDZWxsUmVuZGVyVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/ICdjbGFzcycgOiAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSAnaGVhZGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2hlYWRlckNlbGxSZW5kZXInKTtcbiAgICAgICAgICAgIGlmICh3YXNSZW1vdmVkKSB7XG4gICAgICAgICAgICAgICAgYWRkSW1wb3J0cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGltcG9ydCBmb3IgR3JpZEN1c3RvbUhlYWRlckNlbGxQcm9wcyBleGlzdHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkQ3VzdG9tSGVhZGVyQ2VsbFByb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJoZWFkZXJDZWxsUmVuZGVyIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJhdHRyaWJ1dGVzIiwiaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSIsImF0dHIiLCJoZWFkZXJDZWxsUmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFWCxNQUFBQyxNQUFvQixJQUMxQkgsRUFBSyxLQUFLRCxFQUFFLFVBQVUsRUFBRSxRQUFTSyxHQUFTLENBQ3hCRCxFQUFBLElBQUlDLEVBQUssS0FBSyxJQUFJLENBQUEsQ0FDbkMsRUFHSyxNQUFBQyxFQUFhQyxFQUFBQSxtQkFERixtQkFDK0JILENBQWEsRUFLdkRJLEVBQVdDLEVBQUFBLGlCQUFpQlQsRUFBR0MsRUFBTSxPQUFRLDRCQUE0QixHQUFLLE9BR3BGLE9BQUFBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBQSxDQUFhLENBQUEsQ0FBQyxFQUFFLFFBQVNILEdBQVMsQ0FDbEYsTUFBQUssRUFBYUwsRUFBSyxLQUFLLGVBQWUsV0FHdENNLEVBQTRCRCxHQUFBLFlBQUFBLEVBQVksS0FDekNFLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLG9CQUk3RCxHQUFBRCxHQUE2QkEsRUFBMEIsT0FBUyxlQUFnQixDQUMxRSxNQUFBRSxFQUF3QkYsRUFBMEIsTUFDbERYLEVBQUVXLEVBQTBCLEtBQUssRUFBRSxTQUNuQyxFQUFBLG9CQUdBLENBQUUsaUJBQUFHLEVBQWtCLHNCQUFBQyxFQUF1QixXQUFBQyxDQUFlLEVBQUFDLHNCQUFvQmpCLEVBQUdLLENBQUksRUFFdkZLLEdBRUFRLEVBQUEsc0JBQ0lsQixFQUNBVSxFQUNBLFFBQ0EsYUFDQUksRUFBbUIsUUFBUVIsQ0FBVSxHQUFLQSxDQUFBLEVBSzlDLElBQUFhLEVBQ0FMLEVBQ0FLLEVBQWVDLEVBQThCLDhCQUFBcEIsRUFBR00sRUFBWUosRUFBYywyQkFBMkIsRUFDOUZhLElBQ1FJLEVBQUFFLEVBQUEsMENBQ1hyQixFQUNBTSxFQUNBSixFQUNBLDJCQUFBLEdBS2FvQixFQUFBQSxxQkFBQXRCLEVBQUdnQixFQUFZRyxFQUFjTCxDQUFnQixFQUc5REssR0FDQUksRUFBQSxtQkFDSXZCLEVBQ0FBLEVBQUVtQixDQUFZLEVBQ2Qsb0NBQW9DTixDQUFxQixHQUN6REMsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELGtCQUFrQixJQUV6RlAsRUFBQSxHQUVyQixDQUFBLENBQ0gsRUFFR0EsR0FBY0QsR0FFS3VCLEVBQUFBLG1CQUFBekIsRUFBR0MsRUFBTSw0QkFBNkIsNEJBQTRCLEVBR2xGQSxFQUFLLFVBQ2hCIn0=
|
|
1
|
+
"use strict";const t=require("./utils.js");function b(u,C){const e=C.jscodeshift,n=e(u.source),m=u.path.endsWith(".ts")||u.path.endsWith(".tsx");let c=!1;const p=new Set;n.find(e.Identifier).forEach(s=>{p.add(s.node.name)});const r=t.generateUniqueName("CustomHeaderCell",p),h=t.findImportedName(e,n,"Grid","@progress/kendo-react-grid")||"Grid";return n.find(e.JSXElement,{openingElement:{name:{name:h}}}).forEach(s=>{const d=s.node.openingElement.attributes,a=d?.find(i=>i.type==="JSXAttribute"&&i.name.name==="headerCellRender");if(a&&a.type==="JSXAttribute"){const i=a.value?e(a.value).toSource():"No value provided",{isClassComponent:l,isFunctionalComponent:f,parentNode:g}=t.findParentComponent(e,s);d&&t.ensureAttributeExists(e,d,"cells","headerCell",l?`this.${r}`:r);let o;l?o=t.createMethodForClassComponent(e,r,m,"GridCustomHeaderCellProps"):f&&(o=t.createArrowFunctionForFunctionalComponent(e,r,m,"GridCustomHeaderCellProps")),t.addMethodToComponent(e,g,o,l),o&&t.addCommentToMethod(e,e(o),`Original headerCellRender value: ${i}`,l?"class":"function"),t.removeAttribute(d,"headerCellRender")&&(c=!0)}}),c&&m&&t.ensureImportExists(e,n,"GridCustomHeaderCellProps","@progress/kendo-react-grid"),n.toSource()}module.exports=b;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVhZGVyLWNlbGwtcmVuZGVyLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9oZWFkZXItY2VsbC1yZW5kZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRDb21tZW50VG9NZXRob2QsXG4gICAgZW5zdXJlQXR0cmlidXRlRXhpc3RzLFxuICAgIGZpbmRQYXJlbnRDb21wb25lbnQsXG4gICAgZ2VuZXJhdGVVbmlxdWVOYW1lLFxuICAgIGVuc3VyZUltcG9ydEV4aXN0cyxcbiAgICBjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCxcbiAgICBjcmVhdGVBcnJvd0Z1bmN0aW9uRm9yRnVuY3Rpb25hbENvbXBvbmVudCxcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZEltcG9ydGVkTmFtZVxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIC8vIENvbGxlY3QgYWxsIGV4aXN0aW5nIG1ldGhvZCBuYW1lc1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ0N1c3RvbUhlYWRlckNlbGwnO1xuICAgIGNvbnN0IHVuaXF1ZU5hbWUgPSBnZW5lcmF0ZVVuaXF1ZU5hbWUoYmFzZU5hbWUsIGV4aXN0aW5nTmFtZXMpO1xuXG4gICAgLy8gRW5zdXJlcyB3ZSBmaW5kIHRoZSBjb3JyZWN0IEdyaWQgaW1wb3J0XG4gICAgLy8gaWYgdGhlIHVzZXIgaGFzIGltcG9ydGVkIGl0IHdpdGggYSBkaWZmZXJlbnQgbmFtZVxuICAgIC8vIGUuZy4gaW1wb3J0IHsgR3JpZCBhcyBLZW5kb0dyaWQgfSBmcm9tICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCc7XG4gICAgY29uc3QgZ3JpZE5hbWUgPSBmaW5kSW1wb3J0ZWROYW1lKGosIHJvb3QsICdHcmlkJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJykgfHwgJ0dyaWQnO1xuXG4gICAgLy8gRmluZCBhbGwgSlNYRWxlbWVudHMgd2l0aCB0aGUgbmFtZSAnR3JpZCdcbiAgICByb290LmZpbmQoai5KU1hFbGVtZW50LCB7IG9wZW5pbmdFbGVtZW50OiB7IG5hbWU6IHsgbmFtZTogZ3JpZE5hbWUgfSB9IH0pLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgY29uc3QgYXR0cmlidXRlcyA9IHBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIEZpbmQgdGhlICdoZWFkZXJDZWxsUmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3QgaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXM/LmZpbmQoXG4gICAgICAgICAgICAoYXR0cikgPT4gYXR0ci50eXBlID09PSAnSlNYQXR0cmlidXRlJyAmJiBhdHRyLm5hbWUubmFtZSA9PT0gJ2hlYWRlckNlbGxSZW5kZXInXG4gICAgICAgICkgYXMgSlNYQXR0cmlidXRlO1xuXG4gICAgICAgIC8vIElmIHRoZSAnaGVhZGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChoZWFkZXJDZWxsUmVuZGVyQXR0cmlidXRlICYmIGhlYWRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudHlwZSA9PT0gJ0pTWEF0dHJpYnV0ZScpIHtcbiAgICAgICAgICAgIGNvbnN0IGhlYWRlckNlbGxSZW5kZXJWYWx1ZSA9IGhlYWRlckNlbGxSZW5kZXJBdHRyaWJ1dGUudmFsdWVcbiAgICAgICAgICAgICAgICA/IGooaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgICAgIDogJ05vIHZhbHVlIHByb3ZpZGVkJztcblxuICAgICAgICAgICAgLy8gRmluZCB0aGUgcGFyZW50IGNvbXBvbmVudFxuICAgICAgICAgICAgY29uc3QgeyBpc0NsYXNzQ29tcG9uZW50LCBpc0Z1bmN0aW9uYWxDb21wb25lbnQsIHBhcmVudE5vZGUgfSA9IGZpbmRQYXJlbnRDb21wb25lbnQoaiwgcGF0aCk7XG5cbiAgICAgICAgICAgIGlmIChhdHRyaWJ1dGVzKSB7XG4gICAgICAgICAgICAgICAgLy8gRW5zdXJlIHRoZSAnY2VsbHMnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdjZWxscycsXG4gICAgICAgICAgICAgICAgICAgICdoZWFkZXJDZWxsJyxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/IGB0aGlzLiR7dW5pcXVlTmFtZX1gIDogdW5pcXVlTmFtZVxuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tSGVhZGVyQ2VsbCBtZXRob2RcbiAgICAgICAgICAgIGxldCBjdXN0b21NZXRob2Q7XG4gICAgICAgICAgICBpZiAoaXNDbGFzc0NvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50KGosIHVuaXF1ZU5hbWUsIGlzVHlwZVNjcmlwdCwgJ0dyaWRDdXN0b21IZWFkZXJDZWxsUHJvcHMnKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlQXJyb3dGdW5jdGlvbkZvckZ1bmN0aW9uYWxDb21wb25lbnQoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIHVuaXF1ZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgIGlzVHlwZVNjcmlwdCxcbiAgICAgICAgICAgICAgICAgICAgJ0dyaWRDdXN0b21IZWFkZXJDZWxsUHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21IZWFkZXJDZWxsIG1ldGhvZCB0byB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBjdXN0b21NZXRob2QsIGlzQ2xhc3NDb21wb25lbnQpO1xuXG4gICAgICAgICAgICAvLyBBZGQgdGhlIGhlYWRlckNlbGxSZW5kZXIgdmFsdWUgYXMgYSBjb21tZW50IGluIHRoZSBDdXN0b21IZWFkZXJDZWxsIG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgaGVhZGVyQ2VsbFJlbmRlciB2YWx1ZTogJHtoZWFkZXJDZWxsUmVuZGVyVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgaXNDbGFzc0NvbXBvbmVudCA/ICdjbGFzcycgOiAnZnVuY3Rpb24nXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gUmVtb3ZlIHRoZSAnaGVhZGVyQ2VsbFJlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ2hlYWRlckNlbGxSZW5kZXInKTtcbiAgICAgICAgICAgIGlmICh3YXNSZW1vdmVkKSB7XG4gICAgICAgICAgICAgICAgYWRkSW1wb3J0cyA9IHRydWU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9KTtcblxuICAgIGlmIChhZGRJbXBvcnRzICYmIGlzVHlwZVNjcmlwdCkge1xuICAgICAgICAvLyBFbnN1cmUgdGhlIGltcG9ydCBmb3IgR3JpZEN1c3RvbUhlYWRlckNlbGxQcm9wcyBleGlzdHNcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkQ3VzdG9tSGVhZGVyQ2VsbFByb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJoZWFkZXJDZWxsUmVuZGVyIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJhdHRyaWJ1dGVzIiwiaGVhZGVyQ2VsbFJlbmRlckF0dHJpYnV0ZSIsImF0dHIiLCJoZWFkZXJDZWxsUmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFakIsTUFBTUMsTUFBb0IsSUFDMUJILEVBQUssS0FBS0QsRUFBRSxVQUFVLEVBQUUsUUFBU0ssR0FBUyxDQUN0Q0QsRUFBYyxJQUFJQyxFQUFLLEtBQUssSUFBSSxDQUNwQyxDQUFDLEVBR0QsTUFBTUMsRUFBYUMsRUFBQUEsbUJBREYsbUJBQytCSCxDQUFhLEVBS3ZESSxFQUFXQyxFQUFBQSxpQkFBaUJULEVBQUdDLEVBQU0sT0FBUSw0QkFBNEIsR0FBSyxPQUdwRixPQUFBQSxFQUFLLEtBQUtELEVBQUUsV0FBWSxDQUFFLGVBQWdCLENBQUUsS0FBTSxDQUFFLEtBQU1RLENBQUEsRUFBVyxDQUFHLEVBQUUsUUFBU0gsR0FBUyxDQUN4RixNQUFNSyxFQUFhTCxFQUFLLEtBQUssZUFBZSxXQUd0Q00sRUFBNEJELEdBQVksS0FDekNFLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLGtCQUFBLEVBSWpFLEdBQUlELEdBQTZCQSxFQUEwQixPQUFTLGVBQWdCLENBQ2hGLE1BQU1FLEVBQXdCRixFQUEwQixNQUNsRFgsRUFBRVcsRUFBMEIsS0FBSyxFQUFFLFdBQ25DLG9CQUdBLENBQUUsaUJBQUFHLEVBQWtCLHNCQUFBQyxFQUF1QixXQUFBQyxHQUFlQyxFQUFBQSxvQkFBb0JqQixFQUFHSyxDQUFJLEVBRXZGSyxHQUVBUSxFQUFBQSxzQkFDSWxCLEVBQ0FVLEVBQ0EsUUFDQSxhQUNBSSxFQUFtQixRQUFRUixDQUFVLEdBQUtBLENBQUEsRUFLbEQsSUFBSWEsRUFDQUwsRUFDQUssRUFBZUMsRUFBQUEsOEJBQThCcEIsRUFBR00sRUFBWUosRUFBYywyQkFBMkIsRUFDOUZhLElBQ1BJLEVBQWVFLEVBQUFBLDBDQUNYckIsRUFDQU0sRUFDQUosRUFDQSwyQkFBQSxHQUtSb0IsRUFBQUEscUJBQXFCdEIsRUFBR2dCLEVBQVlHLEVBQWNMLENBQWdCLEVBRzlESyxHQUNBSSxFQUFBQSxtQkFDSXZCLEVBQ0FBLEVBQUVtQixDQUFZLEVBQ2Qsb0NBQW9DTixDQUFxQixHQUN6REMsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELGtCQUFrQixJQUV0R1AsRUFBYSxHQUVyQixDQUNKLENBQUMsRUFFR0EsR0FBY0QsR0FFZHVCLEVBQUFBLG1CQUFtQnpCLEVBQUdDLEVBQU0sNEJBQTZCLDRCQUE0QixFQUdsRkEsRUFBSyxTQUFBLENBQ2hCIn0=
|
package/codemods/v11/index.js
CHANGED
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
1
|
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("./cell-render.js"),r=require("./column-cell.js"),l=require("./column-filter-cell.js"),t=require("./column-footer-cell.js"),n=require("./column-header-cell.js"),o=require("./detail-expand-state.js"),i=require("./edit-state.js"),u=require("./filter-cell-render.js"),c=require("./group-expand-state.js"),d=require("./header-cell-render.js"),a=require("./row-render.js"),C=require("./selection-state.js");exports.CellRender=e;exports.ColumnCell=r;exports.ColumnFilterCell=l;exports.ColumnFooterCell=t;exports.ColumnHeaderCell=n;exports.DetailExpand=o;exports.EditState=i;exports.FilterCellRender=u;exports.GroupExpandState=c;exports.HeaderCellRender=d;exports.RowRender=a;exports.SelectionState=C;
|
|
9
2
|
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VzIjpbXSwic291cmNlc0NvbnRlbnQiOltdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const t=require("./utils.js");function h(u,f){const e=f.jscodeshift,n=e(u.source),c=u.path.endsWith(".ts")||u.path.endsWith(".tsx");let p=!1;const l=new Set;n.find(e.Identifier).forEach(i=>{l.add(i.node.name)});const s=t.generateUniqueName("CustomRow",l),w=t.findImportedName(e,n,"Grid","@progress/kendo-react-grid")||"Grid";return n.find(e.JSXElement,{openingElement:{name:{name:w}}}).forEach(i=>{const o=i.node.openingElement.attributes,d=o==null?void 0:o.find(a=>a.type==="JSXAttribute"&&a.name.name==="rowRender");if(d&&d.type==="JSXAttribute"){const a=d.value?e(d.value).toSource():"No value provided",{isClassComponent:m,isFunctionalComponent:C,parentNode:R}=t.findParentComponent(e,i);o&&t.ensureAttributeExists(e,o,"rows","data",m?`this.${s}`:s);let r;m?r=t.createMethodForClassComponent(e,s,c,"GridCustomRowProps"):C&&(r=t.createArrowFunctionForFunctionalComponent(e,s,c,"GridCustomRowProps")),t.addMethodToComponent(e,R,r,m),r&&t.addCommentToMethod(e,e(r),`Original rowRender value: ${a}`,m?"class":"function"),t.removeAttribute(o,"rowRender")&&(p=!0)}}),p&&c&&t.ensureImportExists(e,n,"GridCustomRowProps","@progress/kendo-react-grid"),n.toSource()}module.exports=h;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXJlbmRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvcm93LXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZENvbW1lbnRUb01ldGhvZCxcbiAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50LFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50LFxuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kSW1wb3J0ZWROYW1lXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgLy8gQ29sbGVjdCBhbGwgZXhpc3RpbmcgbWV0aG9kIG5hbWVzXG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnQ3VzdG9tUm93JztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIEVuc3VyZXMgd2UgZmluZCB0aGUgY29ycmVjdCBHcmlkIGltcG9ydFxuICAgIC8vIGlmIHRoZSB1c2VyIGhhcyBpbXBvcnRlZCBpdCB3aXRoIGEgZGlmZmVyZW50IG5hbWVcbiAgICAvLyBlLmcuIGltcG9ydCB7IEdyaWQgYXMgS2VuZG9HcmlkIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnO1xuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgJ0dyaWQnXG4gICAgcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBwYXRoLm5vZGUub3BlbmluZ0VsZW1lbnQuYXR0cmlidXRlcztcblxuICAgICAgICAvLyBGaW5kIHRoZSAncm93UmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3Qgcm93UmVuZGVyQXR0cmlidXRlID0gYXR0cmlidXRlcz8uZmluZChcbiAgICAgICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSAncm93UmVuZGVyJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBJZiB0aGUgJ3Jvd1JlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChyb3dSZW5kZXJBdHRyaWJ1dGUgJiYgcm93UmVuZGVyQXR0cmlidXRlLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnKSB7XG4gICAgICAgICAgICBjb25zdCByb3dSZW5kZXJWYWx1ZSA9IHJvd1JlbmRlckF0dHJpYnV0ZS52YWx1ZVxuICAgICAgICAgICAgICAgID8gaihyb3dSZW5kZXJBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgICAgICA6ICdObyB2YWx1ZSBwcm92aWRlZCc7XG5cbiAgICAgICAgICAgIC8vIEZpbmQgdGhlIHBhcmVudCBjb21wb25lbnRcbiAgICAgICAgICAgIGNvbnN0IHsgaXNDbGFzc0NvbXBvbmVudCwgaXNGdW5jdGlvbmFsQ29tcG9uZW50LCBwYXJlbnROb2RlIH0gPSBmaW5kUGFyZW50Q29tcG9uZW50KGosIHBhdGgpO1xuXG4gICAgICAgICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGUgJ3Jvd3MnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdyb3dzJyxcbiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnLFxuICAgICAgICAgICAgICAgICAgICBpc0NsYXNzQ29tcG9uZW50ID8gYHRoaXMuJHt1bmlxdWVOYW1lfWAgOiB1bmlxdWVOYW1lXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tUm93IG1ldGhvZFxuICAgICAgICAgICAgbGV0IGN1c3RvbU1ldGhvZDtcbiAgICAgICAgICAgIGlmIChpc0NsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlTWV0aG9kRm9yQ2xhc3NDb21wb25lbnQoaiwgdW5pcXVlTmFtZSwgaXNUeXBlU2NyaXB0LCAnR3JpZEN1c3RvbVJvd1Byb3BzJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb25hbENvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBpc1R5cGVTY3JpcHQsXG4gICAgICAgICAgICAgICAgICAgICdHcmlkQ3VzdG9tUm93UHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21Sb3cgbWV0aG9kIHRvIHRoZSBjb21wb25lbnRcbiAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGN1c3RvbU1ldGhvZCwgaXNDbGFzc0NvbXBvbmVudCk7XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgcm93UmVuZGVyIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgQ3VzdG9tUm93IG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgcm93UmVuZGVyIHZhbHVlOiAke3Jvd1JlbmRlclZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgIGlzQ2xhc3NDb21wb25lbnQgPyAnY2xhc3MnIDogJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgJ3Jvd1JlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ3Jvd1JlbmRlcicpO1xuICAgICAgICAgICAgaWYgKHdhc1JlbW92ZWQpIHtcbiAgICAgICAgICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGFkZEltcG9ydHMgJiYgaXNUeXBlU2NyaXB0KSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGUgaW1wb3J0IGZvciBHcmlkQ3VzdG9tUm93UHJvcHMgZXhpc3RzXG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JpZEN1c3RvbVJvd1Byb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJyb3dSZW5kZXIiLCJmaWxlSW5mbyIsImFwaSIsImoiLCJyb290IiwiaXNUeXBlU2NyaXB0IiwiYWRkSW1wb3J0cyIsImV4aXN0aW5nTmFtZXMiLCJwYXRoIiwidW5pcXVlTmFtZSIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImdyaWROYW1lIiwiZmluZEltcG9ydGVkTmFtZSIsImF0dHJpYnV0ZXMiLCJyb3dSZW5kZXJBdHRyaWJ1dGUiLCJhdHRyIiwicm93UmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFWCxNQUFBQyxNQUFvQixJQUMxQkgsRUFBSyxLQUFLRCxFQUFFLFVBQVUsRUFBRSxRQUFTSyxHQUFTLENBQ3hCRCxFQUFBLElBQUlDLEVBQUssS0FBSyxJQUFJLENBQUEsQ0FDbkMsRUFHSyxNQUFBQyxFQUFhQyxFQUFBQSxtQkFERixZQUMrQkgsQ0FBYSxFQUt2REksRUFBV0MsRUFBQUEsaUJBQWlCVCxFQUFHQyxFQUFNLE9BQVEsNEJBQTRCLEdBQUssT0FHcEYsT0FBQUEsRUFBSyxLQUFLRCxFQUFFLFdBQVksQ0FBRSxlQUFnQixDQUFFLEtBQU0sQ0FBRSxLQUFNUSxDQUFBLENBQWEsQ0FBQSxDQUFDLEVBQUUsUUFBU0gsR0FBUyxDQUNsRixNQUFBSyxFQUFhTCxFQUFLLEtBQUssZUFBZSxXQUd0Q00sRUFBcUJELEdBQUEsWUFBQUEsRUFBWSxLQUNsQ0UsR0FBU0EsRUFBSyxPQUFTLGdCQUFrQkEsRUFBSyxLQUFLLE9BQVMsYUFJN0QsR0FBQUQsR0FBc0JBLEVBQW1CLE9BQVMsZUFBZ0IsQ0FDNUQsTUFBQUUsRUFBaUJGLEVBQW1CLE1BQ3BDWCxFQUFFVyxFQUFtQixLQUFLLEVBQUUsU0FDNUIsRUFBQSxvQkFHQSxDQUFFLGlCQUFBRyxFQUFrQixzQkFBQUMsRUFBdUIsV0FBQUMsQ0FBZSxFQUFBQyxzQkFBb0JqQixFQUFHSyxDQUFJLEVBRXZGSyxHQUVBUSxFQUFBLHNCQUNJbEIsRUFDQVUsRUFDQSxPQUNBLE9BQ0FJLEVBQW1CLFFBQVFSLENBQVUsR0FBS0EsQ0FBQSxFQUk5QyxJQUFBYSxFQUNBTCxFQUNBSyxFQUFlQyxFQUE4Qiw4QkFBQXBCLEVBQUdNLEVBQVlKLEVBQWMsb0JBQW9CLEVBQ3ZGYSxJQUNRSSxFQUFBRSxFQUFBLDBDQUNYckIsRUFDQU0sRUFDQUosRUFDQSxvQkFBQSxHQUthb0IsRUFBQUEscUJBQUF0QixFQUFHZ0IsRUFBWUcsRUFBY0wsQ0FBZ0IsRUFHOURLLEdBQ0FJLEVBQUEsbUJBQ0l2QixFQUNBQSxFQUFFbUIsQ0FBWSxFQUNkLDZCQUE2Qk4sQ0FBYyxHQUMzQ0MsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELFdBQVcsSUFFbEZQLEVBQUEsR0FFckIsQ0FBQSxDQUNILEVBRUdBLEdBQWNELEdBRUt1QixFQUFBQSxtQkFBQXpCLEVBQUdDLEVBQU0scUJBQXNCLDRCQUE0QixFQUczRUEsRUFBSyxVQUNoQiJ9
|
|
1
|
+
"use strict";const t=require("./utils.js");function h(m,f){const e=f.jscodeshift,o=e(m.source),c=m.path.endsWith(".ts")||m.path.endsWith(".tsx");let p=!1;const l=new Set;o.find(e.Identifier).forEach(s=>{l.add(s.node.name)});const r=t.generateUniqueName("CustomRow",l),w=t.findImportedName(e,o,"Grid","@progress/kendo-react-grid")||"Grid";return o.find(e.JSXElement,{openingElement:{name:{name:w}}}).forEach(s=>{const i=s.node.openingElement.attributes,d=i?.find(a=>a.type==="JSXAttribute"&&a.name.name==="rowRender");if(d&&d.type==="JSXAttribute"){const a=d.value?e(d.value).toSource():"No value provided",{isClassComponent:u,isFunctionalComponent:C,parentNode:R}=t.findParentComponent(e,s);i&&t.ensureAttributeExists(e,i,"rows","data",u?`this.${r}`:r);let n;u?n=t.createMethodForClassComponent(e,r,c,"GridCustomRowProps"):C&&(n=t.createArrowFunctionForFunctionalComponent(e,r,c,"GridCustomRowProps")),t.addMethodToComponent(e,R,n,u),n&&t.addCommentToMethod(e,e(n),`Original rowRender value: ${a}`,u?"class":"function"),t.removeAttribute(i,"rowRender")&&(p=!0)}}),p&&c&&t.ensureImportExists(e,o,"GridCustomRowProps","@progress/kendo-react-grid"),o.toSource()}module.exports=h;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LXJlbmRlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcGFja2FnZXMvZ3JpZC9jb2RlbW9kcy92MTEvcm93LXJlbmRlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBBUEksIEZpbGVJbmZvLCBKU0NvZGVzaGlmdCwgSlNYQXR0cmlidXRlLCBKU1hTcHJlYWRBdHRyaWJ1dGUgfSBmcm9tICdqc2NvZGVzaGlmdCc7XG5pbXBvcnQge1xuICAgIGFkZENvbW1lbnRUb01ldGhvZCxcbiAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGNyZWF0ZU1ldGhvZEZvckNsYXNzQ29tcG9uZW50LFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50LFxuICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50LFxuICAgIHJlbW92ZUF0dHJpYnV0ZSxcbiAgICBmaW5kSW1wb3J0ZWROYW1lXG59IGZyb20gJy4vdXRpbHMnO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiAoZmlsZUluZm86IEZpbGVJbmZvLCBhcGk6IEFQSSkge1xuICAgIGNvbnN0IGo6IEpTQ29kZXNoaWZ0ID0gYXBpLmpzY29kZXNoaWZ0O1xuICAgIGNvbnN0IHJvb3QgPSBqKGZpbGVJbmZvLnNvdXJjZSk7XG5cbiAgICAvLyBDaGVjayBpZiB0aGUgZmlsZSBpcyBUeXBlU2NyaXB0IG9yIFRTWFxuICAgIGNvbnN0IGlzVHlwZVNjcmlwdCA9IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50cycpIHx8IGZpbGVJbmZvLnBhdGguZW5kc1dpdGgoJy50c3gnKTtcblxuICAgIGxldCBhZGRJbXBvcnRzID0gZmFsc2U7XG4gICAgLy8gQ29sbGVjdCBhbGwgZXhpc3RpbmcgbWV0aG9kIG5hbWVzXG4gICAgY29uc3QgZXhpc3RpbmdOYW1lcyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuICAgIHJvb3QuZmluZChqLklkZW50aWZpZXIpLmZvckVhY2goKHBhdGgpID0+IHtcbiAgICAgICAgZXhpc3RpbmdOYW1lcy5hZGQocGF0aC5ub2RlLm5hbWUpO1xuICAgIH0pO1xuXG4gICAgY29uc3QgYmFzZU5hbWUgPSAnQ3VzdG9tUm93JztcbiAgICBjb25zdCB1bmlxdWVOYW1lID0gZ2VuZXJhdGVVbmlxdWVOYW1lKGJhc2VOYW1lLCBleGlzdGluZ05hbWVzKTtcblxuICAgIC8vIEVuc3VyZXMgd2UgZmluZCB0aGUgY29ycmVjdCBHcmlkIGltcG9ydFxuICAgIC8vIGlmIHRoZSB1c2VyIGhhcyBpbXBvcnRlZCBpdCB3aXRoIGEgZGlmZmVyZW50IG5hbWVcbiAgICAvLyBlLmcuIGltcG9ydCB7IEdyaWQgYXMgS2VuZG9HcmlkIH0gZnJvbSAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnO1xuICAgIGNvbnN0IGdyaWROYW1lID0gZmluZEltcG9ydGVkTmFtZShqLCByb290LCAnR3JpZCcsICdAcHJvZ3Jlc3Mva2VuZG8tcmVhY3QtZ3JpZCcpIHx8ICdHcmlkJztcblxuICAgIC8vIEZpbmQgYWxsIEpTWEVsZW1lbnRzIHdpdGggdGhlIG5hbWUgJ0dyaWQnXG4gICAgcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGNvbnN0IGF0dHJpYnV0ZXMgPSBwYXRoLm5vZGUub3BlbmluZ0VsZW1lbnQuYXR0cmlidXRlcztcblxuICAgICAgICAvLyBGaW5kIHRoZSAncm93UmVuZGVyJyBhdHRyaWJ1dGVcbiAgICAgICAgY29uc3Qgcm93UmVuZGVyQXR0cmlidXRlID0gYXR0cmlidXRlcz8uZmluZChcbiAgICAgICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSAncm93UmVuZGVyJ1xuICAgICAgICApIGFzIEpTWEF0dHJpYnV0ZTtcblxuICAgICAgICAvLyBJZiB0aGUgJ3Jvd1JlbmRlcicgYXR0cmlidXRlIGV4aXN0cywgY29weSBpdHMgdmFsdWUgYXMgYSBjb21tZW50XG4gICAgICAgIGlmIChyb3dSZW5kZXJBdHRyaWJ1dGUgJiYgcm93UmVuZGVyQXR0cmlidXRlLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnKSB7XG4gICAgICAgICAgICBjb25zdCByb3dSZW5kZXJWYWx1ZSA9IHJvd1JlbmRlckF0dHJpYnV0ZS52YWx1ZVxuICAgICAgICAgICAgICAgID8gaihyb3dSZW5kZXJBdHRyaWJ1dGUudmFsdWUpLnRvU291cmNlKClcbiAgICAgICAgICAgICAgICA6ICdObyB2YWx1ZSBwcm92aWRlZCc7XG5cbiAgICAgICAgICAgIC8vIEZpbmQgdGhlIHBhcmVudCBjb21wb25lbnRcbiAgICAgICAgICAgIGNvbnN0IHsgaXNDbGFzc0NvbXBvbmVudCwgaXNGdW5jdGlvbmFsQ29tcG9uZW50LCBwYXJlbnROb2RlIH0gPSBmaW5kUGFyZW50Q29tcG9uZW50KGosIHBhdGgpO1xuXG4gICAgICAgICAgICBpZiAoYXR0cmlidXRlcykge1xuICAgICAgICAgICAgICAgIC8vIEVuc3VyZSB0aGUgJ3Jvd3MnIGF0dHJpYnV0ZSBleGlzdHNcbiAgICAgICAgICAgICAgICBlbnN1cmVBdHRyaWJ1dGVFeGlzdHMoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMsXG4gICAgICAgICAgICAgICAgICAgICdyb3dzJyxcbiAgICAgICAgICAgICAgICAgICAgJ2RhdGEnLFxuICAgICAgICAgICAgICAgICAgICBpc0NsYXNzQ29tcG9uZW50ID8gYHRoaXMuJHt1bmlxdWVOYW1lfWAgOiB1bmlxdWVOYW1lXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIENyZWF0ZSB0aGUgQ3VzdG9tUm93IG1ldGhvZFxuICAgICAgICAgICAgbGV0IGN1c3RvbU1ldGhvZDtcbiAgICAgICAgICAgIGlmIChpc0NsYXNzQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAgICAgY3VzdG9tTWV0aG9kID0gY3JlYXRlTWV0aG9kRm9yQ2xhc3NDb21wb25lbnQoaiwgdW5pcXVlTmFtZSwgaXNUeXBlU2NyaXB0LCAnR3JpZEN1c3RvbVJvd1Byb3BzJyk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKGlzRnVuY3Rpb25hbENvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIGN1c3RvbU1ldGhvZCA9IGNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50KFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBpc1R5cGVTY3JpcHQsXG4gICAgICAgICAgICAgICAgICAgICdHcmlkQ3VzdG9tUm93UHJvcHMnXG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLy8gQWRkIHRoZSBDdXN0b21Sb3cgbWV0aG9kIHRvIHRoZSBjb21wb25lbnRcbiAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGN1c3RvbU1ldGhvZCwgaXNDbGFzc0NvbXBvbmVudCk7XG5cbiAgICAgICAgICAgIC8vIEFkZCB0aGUgcm93UmVuZGVyIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgQ3VzdG9tUm93IG1ldGhvZFxuICAgICAgICAgICAgaWYgKGN1c3RvbU1ldGhvZCkge1xuICAgICAgICAgICAgICAgIGFkZENvbW1lbnRUb01ldGhvZChcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgaihjdXN0b21NZXRob2QpLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgcm93UmVuZGVyIHZhbHVlOiAke3Jvd1JlbmRlclZhbHVlfWAsXG4gICAgICAgICAgICAgICAgICAgIGlzQ2xhc3NDb21wb25lbnQgPyAnY2xhc3MnIDogJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFJlbW92ZSB0aGUgJ3Jvd1JlbmRlcicgYXR0cmlidXRlXG4gICAgICAgICAgICBjb25zdCB3YXNSZW1vdmVkID0gcmVtb3ZlQXR0cmlidXRlKGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ3Jvd1JlbmRlcicpO1xuICAgICAgICAgICAgaWYgKHdhc1JlbW92ZWQpIHtcbiAgICAgICAgICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0pO1xuXG4gICAgaWYgKGFkZEltcG9ydHMgJiYgaXNUeXBlU2NyaXB0KSB7XG4gICAgICAgIC8vIEVuc3VyZSB0aGUgaW1wb3J0IGZvciBHcmlkQ3VzdG9tUm93UHJvcHMgZXhpc3RzXG4gICAgICAgIGVuc3VyZUltcG9ydEV4aXN0cyhqLCByb290LCAnR3JpZEN1c3RvbVJvd1Byb3BzJywgJ0Bwcm9ncmVzcy9rZW5kby1yZWFjdC1ncmlkJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHJvb3QudG9Tb3VyY2UoKTtcbn1cbiJdLCJuYW1lcyI6WyJyb3dSZW5kZXIiLCJmaWxlSW5mbyIsImFwaSIsImoiLCJyb290IiwiaXNUeXBlU2NyaXB0IiwiYWRkSW1wb3J0cyIsImV4aXN0aW5nTmFtZXMiLCJwYXRoIiwidW5pcXVlTmFtZSIsImdlbmVyYXRlVW5pcXVlTmFtZSIsImdyaWROYW1lIiwiZmluZEltcG9ydGVkTmFtZSIsImF0dHJpYnV0ZXMiLCJyb3dSZW5kZXJBdHRyaWJ1dGUiLCJhdHRyIiwicm93UmVuZGVyVmFsdWUiLCJpc0NsYXNzQ29tcG9uZW50IiwiaXNGdW5jdGlvbmFsQ29tcG9uZW50IiwicGFyZW50Tm9kZSIsImZpbmRQYXJlbnRDb21wb25lbnQiLCJlbnN1cmVBdHRyaWJ1dGVFeGlzdHMiLCJjdXN0b21NZXRob2QiLCJjcmVhdGVNZXRob2RGb3JDbGFzc0NvbXBvbmVudCIsImNyZWF0ZUFycm93RnVuY3Rpb25Gb3JGdW5jdGlvbmFsQ29tcG9uZW50IiwiYWRkTWV0aG9kVG9Db21wb25lbnQiLCJhZGRDb21tZW50VG9NZXRob2QiLCJyZW1vdmVBdHRyaWJ1dGUiLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FjQSxTQUFBQSxFQUF5QkMsRUFBb0JDLEVBQVUsQ0FDbkQsTUFBTUMsRUFBaUJELEVBQUksWUFDckJFLEVBQU9ELEVBQUVGLEVBQVMsTUFBTSxFQUd4QkksRUFBZUosRUFBUyxLQUFLLFNBQVMsS0FBSyxHQUFLQSxFQUFTLEtBQUssU0FBUyxNQUFNLEVBRW5GLElBQUlLLEVBQWEsR0FFakIsTUFBTUMsTUFBb0IsSUFDMUJILEVBQUssS0FBS0QsRUFBRSxVQUFVLEVBQUUsUUFBU0ssR0FBUyxDQUN0Q0QsRUFBYyxJQUFJQyxFQUFLLEtBQUssSUFBSSxDQUNwQyxDQUFDLEVBR0QsTUFBTUMsRUFBYUMsRUFBQUEsbUJBREYsWUFDK0JILENBQWEsRUFLdkRJLEVBQVdDLEVBQUFBLGlCQUFpQlQsRUFBR0MsRUFBTSxPQUFRLDRCQUE0QixHQUFLLE9BR3BGLE9BQUFBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBQSxFQUFXLENBQUcsRUFBRSxRQUFTSCxHQUFTLENBQ3hGLE1BQU1LLEVBQWFMLEVBQUssS0FBSyxlQUFlLFdBR3RDTSxFQUFxQkQsR0FBWSxLQUNsQ0UsR0FBU0EsRUFBSyxPQUFTLGdCQUFrQkEsRUFBSyxLQUFLLE9BQVMsV0FBQSxFQUlqRSxHQUFJRCxHQUFzQkEsRUFBbUIsT0FBUyxlQUFnQixDQUNsRSxNQUFNRSxFQUFpQkYsRUFBbUIsTUFDcENYLEVBQUVXLEVBQW1CLEtBQUssRUFBRSxXQUM1QixvQkFHQSxDQUFFLGlCQUFBRyxFQUFrQixzQkFBQUMsRUFBdUIsV0FBQUMsR0FBZUMsRUFBQUEsb0JBQW9CakIsRUFBR0ssQ0FBSSxFQUV2RkssR0FFQVEsRUFBQUEsc0JBQ0lsQixFQUNBVSxFQUNBLE9BQ0EsT0FDQUksRUFBbUIsUUFBUVIsQ0FBVSxHQUFLQSxDQUFBLEVBSWxELElBQUlhLEVBQ0FMLEVBQ0FLLEVBQWVDLEVBQUFBLDhCQUE4QnBCLEVBQUdNLEVBQVlKLEVBQWMsb0JBQW9CLEVBQ3ZGYSxJQUNQSSxFQUFlRSxFQUFBQSwwQ0FDWHJCLEVBQ0FNLEVBQ0FKLEVBQ0Esb0JBQUEsR0FLUm9CLEVBQUFBLHFCQUFxQnRCLEVBQUdnQixFQUFZRyxFQUFjTCxDQUFnQixFQUc5REssR0FDQUksRUFBQUEsbUJBQ0l2QixFQUNBQSxFQUFFbUIsQ0FBWSxFQUNkLDZCQUE2Qk4sQ0FBYyxHQUMzQ0MsRUFBbUIsUUFBVSxVQUFBLEVBS2xCVSxFQUFBQSxnQkFBZ0JkLEVBQXFELFdBQVcsSUFFL0ZQLEVBQWEsR0FFckIsQ0FDSixDQUFDLEVBRUdBLEdBQWNELEdBRWR1QixFQUFBQSxtQkFBbUJ6QixFQUFHQyxFQUFNLHFCQUFzQiw0QkFBNEIsRUFHM0VBLEVBQUssU0FBQSxDQUNoQiJ9
|
|
@@ -1,9 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
* @license
|
|
3
|
-
*-------------------------------------------------------------------------------------------
|
|
4
|
-
* Copyright © 2026 Progress Software Corporation. All rights reserved.
|
|
5
|
-
* Licensed under commercial license. See LICENSE.md in the package root for more information
|
|
6
|
-
*-------------------------------------------------------------------------------------------
|
|
7
|
-
*/
|
|
8
|
-
"use strict";const t=require("./utils.js");function g(c,S){const e=S.jscodeshift,s=e(c.source),o=c.path.endsWith(".ts")||c.path.endsWith(".tsx");let u=!1;const m=new Set;s.find(e.Identifier).forEach(a=>{m.add(a.node.name)});const r=t.generateUniqueName("handleSelectionChange",m),h=t.findImportedName(e,s,"Grid","@progress/kendo-react-grid")||"Grid";return s.find(e.JSXElement,{openingElement:{name:{name:h}}}).forEach(a=>{const n=a.node.openingElement.attributes,l=n==null?void 0:n.find(i=>i.type==="JSXAttribute"&&i.name.name==="selectedField");if(!l)return;const p=l.value?e(l.value).toSource():"No value provided";t.removeAttribute(n,"selectedField"),u=!0,t.hasJSXAttribute(n,"selectable")||t.addStateAttribute(e,n,"selectable","true"),t.hasJSXAttribute(n,"dataItemKey")||t.addStateAttribute(e,n,"dataItemKey",'"place your key here"');const{isClassComponent:f,isFunctionalComponent:b,parentNode:d}=t.findParentComponent(e,a);if(f){if(t.addStateDeclaration(e,d,"select",e.objectExpression([])),t.hasJSXAttribute(n,"select")||t.addStateAttribute(e,n,"select","this.state.select"),!t.hasJSXAttribute(n,"onSelectionChange")){t.addEventAttribute(e,n,"onSelectionChange",`this.${r}`);const i=t.createClassMethod(e,r,[`event${o?": GridSelectionChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("select"),e.memberExpression(e.identifier("event"),e.identifier("select")))])]))]);t.addCommentToMethod(e,e(i),`Original selectedField value: ${p}`,"class"),t.addMethodToComponent(e,d,i,!0)}}else if(b&&(t.addUseStateDeclaration(e,d,"select","setSelect",e.objectExpression([]),o,"SelectDescriptor"),t.hasJSXAttribute(n,"select")||t.addStateAttribute(e,n,"select","select"),!t.hasJSXAttribute(n,"onSelectionChange"))){t.addEventAttribute(e,n,"onSelectionChange",`${r}`);const i=t.createArrowFunction(e,`${r}`,[`(event${o?": GridSelectionChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setSelect"),[e.memberExpression(e.identifier("event"),e.identifier("select"))]))]);t.addCommentToMethod(e,e(i),`Original selectedField value: ${p}`,"function"),t.addMethodToComponent(e,d,i,!1)}}),u&&o&&(t.ensureImportExists(e,s,"SelectDescriptor","@progress/kendo-react-data-tools"),t.ensureImportExists(e,s,"GridSelectionChangeEvent","@progress/kendo-react-grid")),s.toSource()}module.exports=g;
|
|
9
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXN0YXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9zZWxlY3Rpb24tc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGFkZEV2ZW50QXR0cmlidXRlLFxuICAgIGFkZFN0YXRlQXR0cmlidXRlLFxuICAgIGFkZFN0YXRlRGVjbGFyYXRpb24sXG4gICAgYWRkVXNlU3RhdGVEZWNsYXJhdGlvbixcbiAgICBmaW5kSW1wb3J0ZWROYW1lLFxuICAgIGNyZWF0ZUNsYXNzTWV0aG9kLFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb24sXG4gICAgaGFzSlNYQXR0cmlidXRlLFxuICAgIGFkZENvbW1lbnRUb01ldGhvZFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ2hhbmRsZVNlbGVjdGlvbkNoYW5nZSc7XG4gICAgY29uc3QgdW5pcXVlTmFtZSA9IGdlbmVyYXRlVW5pcXVlTmFtZShiYXNlTmFtZSwgZXhpc3RpbmdOYW1lcyk7XG5cbiAgICAvLyBEeW5hbWljYWxseSByZXNvbHZlIHRoZSBpbXBvcnRlZCBuYW1lIGZvciBgR3JpZGBcbiAgICBjb25zdCBncmlkTmFtZSA9IGZpbmRJbXBvcnRlZE5hbWUoaiwgcm9vdCwgJ0dyaWQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKSB8fCAnR3JpZCc7XG5cbiAgICAvLyBGaW5kIGFsbCBKU1hFbGVtZW50cyB3aXRoIHRoZSBuYW1lIG9mIHRoZSByZXNvbHZlZCBgR3JpZGAgY29tcG9uZW50XG4gICAgY29uc3QgZ3JpZEVsZW1lbnRzID0gcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KTtcblxuICAgIGdyaWRFbGVtZW50cy5mb3JFYWNoKChncmlkUGF0aCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZ3JpZFBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBgc2VsZWN0ZWRGaWVsZGAgYXR0cmlidXRlIGV4aXN0c1xuICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkQXR0cmlidXRlID0gYXR0cmlidXRlcz8uZmluZChcbiAgICAgICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSAnc2VsZWN0ZWRGaWVsZCdcbiAgICAgICAgKSBhcyBKU1hBdHRyaWJ1dGU7XG5cbiAgICAgICAgaWYgKCFzZWxlY3RlZEZpZWxkQXR0cmlidXRlKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBzZWxlY3RlZEZpZWxkYCBpcyBub3QgcHJlc2VudFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29weSB0aGUgdmFsdWUgb2YgYHNlbGVjdGVkRmllbGRgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkVmFsdWUgPSBzZWxlY3RlZEZpZWxkQXR0cmlidXRlLnZhbHVlXG4gICAgICAgICAgICA/IGooc2VsZWN0ZWRGaWVsZEF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgOiAnTm8gdmFsdWUgcHJvdmlkZWQnO1xuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgYHNlbGVjdGVkRmllbGRgIGF0dHJpYnV0ZVxuICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnc2VsZWN0ZWRGaWVsZCcpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBFbnN1cmUgYHNlbGVjdGFibGVgIGF0dHJpYnV0ZSBpcyBwcmVzZW50IGFuZCBzZXQgdG8gdHJ1ZVxuICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnc2VsZWN0YWJsZScpKSB7XG4gICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShqLCBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdzZWxlY3RhYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSBgZGF0YUl0ZW1LZXlgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdkYXRhSXRlbUtleScpKSB7XG4gICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAnZGF0YUl0ZW1LZXknLFxuICAgICAgICAgICAgICAgICdcInBsYWNlIHlvdXIga2V5IGhlcmVcIidcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgc2VsZWN0YCB0byB0aGUgY2xhc3MgY29tcG9uZW50J3Mgc3RhdGVcbiAgICAgICAgICAgIGFkZFN0YXRlRGVjbGFyYXRpb24oaiwgcGFyZW50Tm9kZSwgJ3NlbGVjdCcsIGoub2JqZWN0RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYHNlbGVjdGAgYW5kIGBvblNlbGVjdGlvbkNoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ3NlbGVjdCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAgICAgICd0aGlzLnN0YXRlLnNlbGVjdCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25TZWxlY3Rpb25DaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VgIG1ldGhvZFxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkU2VsZWN0aW9uQ2hhbmdlRXZlbnQnIDogJyd9YF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGoubWVtYmVyRXhwcmVzc2lvbihqLnRoaXNFeHByZXNzaW9uKCksIGouaWRlbnRpZmllcignc2V0U3RhdGUnKSksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoucHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouaWRlbnRpZmllcignc2VsZWN0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdzZWxlY3QnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYHNlbGVjdGVkRmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgbWV0aG9kXG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudFRvTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBqKGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBzZWxlY3RlZEZpZWxkIHZhbHVlOiAke3NlbGVjdGVkRmllbGRWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnY2xhc3MnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYHNlbGVjdGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgICdzZXRTZWxlY3QnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdTZWxlY3REZXNjcmlwdG9yJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gQWRkIGBzZWxlY3RgIGFuZCBgb25TZWxlY3Rpb25DaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ3NlbGVjdCcsICdzZWxlY3QnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uU2VsZWN0aW9uQ2hhbmdlJykpIHtcbiAgICAgICAgICAgICAgICBhZGRFdmVudEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICAgICAnb25TZWxlY3Rpb25DaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZVNlbGVjdGlvbkNoYW5nZWAgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiA9IGNyZWF0ZUFycm93RnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGAke3VuaXF1ZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgW2AoZXZlbnQke2lzVHlwZVNjcmlwdCA/ICc6IEdyaWRTZWxlY3Rpb25DaGFuZ2VFdmVudCcgOiAnJ30pYF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGouaWRlbnRpZmllcignc2V0U2VsZWN0JyksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdzZWxlY3QnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYHNlbGVjdGVkRmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBhZGRDb21tZW50VG9NZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGooaGFuZGxlU2VsZWN0aW9uQ2hhbmdlRnVuY3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgc2VsZWN0ZWRGaWVsZCB2YWx1ZTogJHtzZWxlY3RlZEZpZWxkVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYWRkSW1wb3J0cyAmJiBpc1R5cGVTY3JpcHQpIHtcbiAgICAgICAgLy8gRW5zdXJlIFR5cGVTY3JpcHQgaW1wb3J0c1xuICAgICAgICBlbnN1cmVJbXBvcnRFeGlzdHMoaiwgcm9vdCwgJ1NlbGVjdERlc2NyaXB0b3InLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWRhdGEtdG9vbHMnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkU2VsZWN0aW9uQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbInNlbGVjdGlvblN0YXRlIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJncmlkUGF0aCIsImF0dHJpYnV0ZXMiLCJzZWxlY3RlZEZpZWxkQXR0cmlidXRlIiwiYXR0ciIsInNlbGVjdGVkRmllbGRWYWx1ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImhhc0pTWEF0dHJpYnV0ZSIsImFkZFN0YXRlQXR0cmlidXRlIiwiaXNDbGFzc0NvbXBvbmVudCIsImlzRnVuY3Rpb25hbENvbXBvbmVudCIsInBhcmVudE5vZGUiLCJmaW5kUGFyZW50Q29tcG9uZW50IiwiYWRkU3RhdGVEZWNsYXJhdGlvbiIsImFkZEV2ZW50QXR0cmlidXRlIiwiaGFuZGxlU2VsZWN0aW9uQ2hhbmdlTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiIsImNyZWF0ZUFycm93RnVuY3Rpb24iLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FrQkEsU0FBQUEsRUFBeUJDLEVBQW9CQyxFQUFVLENBQ25ELE1BQU1DLEVBQWlCRCxFQUFJLFlBQ3JCRSxFQUFPRCxFQUFFRixFQUFTLE1BQU0sRUFHeEJJLEVBQWVKLEVBQVMsS0FBSyxTQUFTLEtBQUssR0FBS0EsRUFBUyxLQUFLLFNBQVMsTUFBTSxFQUVuRixJQUFJSyxFQUFhLEdBQ1gsTUFBQUMsTUFBb0IsSUFDMUJILEVBQUssS0FBS0QsRUFBRSxVQUFVLEVBQUUsUUFBU0ssR0FBUyxDQUN4QkQsRUFBQSxJQUFJQyxFQUFLLEtBQUssSUFBSSxDQUFBLENBQ25DLEVBR0ssTUFBQUMsRUFBYUMsRUFBQUEsbUJBREYsd0JBQytCSCxDQUFhLEVBR3ZESSxFQUFXQyxFQUFBQSxpQkFBaUJULEVBQUdDLEVBQU0sT0FBUSw0QkFBNEIsR0FBSyxPQUt2RSxPQUZRQSxFQUFLLEtBQUtELEVBQUUsV0FBWSxDQUFFLGVBQWdCLENBQUUsS0FBTSxDQUFFLEtBQU1RLENBQVMsQ0FBQSxDQUFLLENBQUEsRUFFaEYsUUFBU0UsR0FBYSxDQUN6QixNQUFBQyxFQUFhRCxFQUFTLEtBQUssZUFBZSxXQUcxQ0UsRUFBeUJELEdBQUEsWUFBQUEsRUFBWSxLQUN0Q0UsR0FBU0EsRUFBSyxPQUFTLGdCQUFrQkEsRUFBSyxLQUFLLE9BQVMsaUJBR2pFLEdBQUksQ0FBQ0QsRUFDRCxPQUlFLE1BQUFFLEVBQXFCRixFQUF1QixNQUM1Q1osRUFBRVksRUFBdUIsS0FBSyxFQUFFLFNBQ2hDLEVBQUEsb0JBR05HLGtCQUFnQkosRUFBcUQsZUFBZSxFQUN2RVIsRUFBQSxHQUdSYSxFQUFBLGdCQUFnQkwsRUFBWSxZQUFZLEdBQ3ZCTSxFQUFBQSxrQkFBQWpCLEVBQUdXLEVBQXFELGFBQWMsTUFBTSxFQUk3RkssRUFBQSxnQkFBZ0JMLEVBQVksYUFBYSxHQUMxQ00sRUFBQSxrQkFDSWpCLEVBQ0FXLEVBQ0EsY0FDQSx1QkFBQSxFQUtSLEtBQU0sQ0FBRSxpQkFBQU8sRUFBa0Isc0JBQUFDLEVBQXVCLFdBQUFDLENBQWUsRUFBQUMsc0JBQW9CckIsRUFBR1UsQ0FBUSxFQUUvRixHQUFJUSxHQWNBLEdBWkFJLEVBQUEsb0JBQW9CdEIsRUFBR29CLEVBQVksU0FBVXBCLEVBQUUsaUJBQWlCLENBQUUsQ0FBQSxDQUFDLEVBRzlEZ0IsRUFBQSxnQkFBZ0JMLEVBQVksUUFBUSxHQUNyQ00sRUFBQSxrQkFDSWpCLEVBQ0FXLEVBQ0EsU0FDQSxtQkFBQSxFQUlKLENBQUNLLEVBQUEsZ0JBQWdCTCxFQUFZLG1CQUFtQixFQUFHLENBQ25EWSxFQUFBLGtCQUNJdkIsRUFDQVcsRUFDQSxvQkFDQSxRQUFRTCxDQUFVLEVBQUEsRUFJdEIsTUFBTWtCLEVBQThCQyxFQUFBLGtCQUNoQ3pCLEVBQ0FNLEVBQ0EsQ0FBQyxRQUFRSixFQUFlLDZCQUErQixFQUFFLEVBQUUsRUFDM0QsQ0FDSUYsRUFBRSxvQkFDRUEsRUFBRSxlQUFlQSxFQUFFLGlCQUFpQkEsRUFBRSxlQUFlLEVBQUdBLEVBQUUsV0FBVyxVQUFVLENBQUMsRUFBRyxDQUMvRUEsRUFBRSxpQkFBaUIsQ0FDZkEsRUFBRSxTQUNFLE9BQ0FBLEVBQUUsV0FBVyxRQUFRLEVBQ3JCQSxFQUFFLGlCQUFpQkEsRUFBRSxXQUFXLE9BQU8sRUFBR0EsRUFBRSxXQUFXLFFBQVEsQ0FBQyxDQUNwRSxDQUFBLENBQ0gsQ0FBQSxDQUNKLENBQ0wsQ0FDSixDQUFBLEVBSUowQixFQUFBLG1CQUNJMUIsRUFDQUEsRUFBRXdCLENBQTJCLEVBQzdCLGlDQUFpQ1YsQ0FBa0IsR0FDbkQsT0FBQSxFQUdpQmEsRUFBQUEscUJBQUEzQixFQUFHb0IsRUFBWUksRUFBNkIsRUFBSSxDQUN6RSxVQUNPTCxJQUVQUyxFQUFBLHVCQUNJNUIsRUFDQW9CLEVBQ0EsU0FDQSxZQUNBcEIsRUFBRSxpQkFBaUIsRUFBRSxFQUNyQkUsRUFDQSxrQkFBQSxFQUlDYyxFQUFBLGdCQUFnQkwsRUFBWSxRQUFRLEdBQ25CTSxFQUFBQSxrQkFBQWpCLEVBQUdXLEVBQXFELFNBQVUsUUFBUSxFQUc1RixDQUFDSyxFQUFBLGdCQUFnQkwsRUFBWSxtQkFBbUIsR0FBRyxDQUNuRFksRUFBQSxrQkFDSXZCLEVBQ0FXLEVBQ0Esb0JBQ0EsR0FBR0wsQ0FBVSxFQUFBLEVBSWpCLE1BQU11QixFQUFnQ0MsRUFBQSxvQkFDbEM5QixFQUNBLEdBQUdNLENBQVUsR0FDYixDQUFDLFNBQVNKLEVBQWUsNkJBQStCLEVBQUUsR0FBRyxFQUM3RCxDQUNJRixFQUFFLG9CQUNFQSxFQUFFLGVBQWVBLEVBQUUsV0FBVyxXQUFXLEVBQUcsQ0FDeENBLEVBQUUsaUJBQWlCQSxFQUFFLFdBQVcsT0FBTyxFQUFHQSxFQUFFLFdBQVcsUUFBUSxDQUFDLENBQUEsQ0FDbkUsQ0FDTCxDQUNKLENBQUEsRUFJSjBCLEVBQUEsbUJBQ0kxQixFQUNBQSxFQUFFNkIsQ0FBNkIsRUFDL0IsaUNBQWlDZixDQUFrQixHQUNuRCxVQUFBLEVBR2lCYSxFQUFBQSxxQkFBQTNCLEVBQUdvQixFQUFZUyxFQUErQixFQUFLLENBQzVFLENBQ0osQ0FDSCxFQUVHMUIsR0FBY0QsSUFFSzZCLEVBQUFBLG1CQUFBL0IsRUFBR0MsRUFBTSxtQkFBb0Isa0NBQWtDLEVBQy9EOEIsRUFBQUEsbUJBQUEvQixFQUFHQyxFQUFNLDJCQUE0Qiw0QkFBNEIsR0FHakZBLEVBQUssVUFDaEIifQ==
|
|
1
|
+
"use strict";const t=require("./utils.js");function g(c,S){const e=S.jscodeshift,s=e(c.source),o=c.path.endsWith(".ts")||c.path.endsWith(".tsx");let u=!1;const m=new Set;s.find(e.Identifier).forEach(a=>{m.add(a.node.name)});const r=t.generateUniqueName("handleSelectionChange",m),h=t.findImportedName(e,s,"Grid","@progress/kendo-react-grid")||"Grid";return s.find(e.JSXElement,{openingElement:{name:{name:h}}}).forEach(a=>{const n=a.node.openingElement.attributes,l=n?.find(i=>i.type==="JSXAttribute"&&i.name.name==="selectedField");if(!l)return;const p=l.value?e(l.value).toSource():"No value provided";t.removeAttribute(n,"selectedField"),u=!0,t.hasJSXAttribute(n,"selectable")||t.addStateAttribute(e,n,"selectable","true"),t.hasJSXAttribute(n,"dataItemKey")||t.addStateAttribute(e,n,"dataItemKey",'"place your key here"');const{isClassComponent:b,isFunctionalComponent:f,parentNode:d}=t.findParentComponent(e,a);if(b){if(t.addStateDeclaration(e,d,"select",e.objectExpression([])),t.hasJSXAttribute(n,"select")||t.addStateAttribute(e,n,"select","this.state.select"),!t.hasJSXAttribute(n,"onSelectionChange")){t.addEventAttribute(e,n,"onSelectionChange",`this.${r}`);const i=t.createClassMethod(e,r,[`event${o?": GridSelectionChangeEvent":""}`],[e.expressionStatement(e.callExpression(e.memberExpression(e.thisExpression(),e.identifier("setState")),[e.objectExpression([e.property("init",e.identifier("select"),e.memberExpression(e.identifier("event"),e.identifier("select")))])]))]);t.addCommentToMethod(e,e(i),`Original selectedField value: ${p}`,"class"),t.addMethodToComponent(e,d,i,!0)}}else if(f&&(t.addUseStateDeclaration(e,d,"select","setSelect",e.objectExpression([]),o,"SelectDescriptor"),t.hasJSXAttribute(n,"select")||t.addStateAttribute(e,n,"select","select"),!t.hasJSXAttribute(n,"onSelectionChange"))){t.addEventAttribute(e,n,"onSelectionChange",`${r}`);const i=t.createArrowFunction(e,`${r}`,[`(event${o?": GridSelectionChangeEvent":""})`],[e.expressionStatement(e.callExpression(e.identifier("setSelect"),[e.memberExpression(e.identifier("event"),e.identifier("select"))]))]);t.addCommentToMethod(e,e(i),`Original selectedField value: ${p}`,"function"),t.addMethodToComponent(e,d,i,!1)}}),u&&o&&(t.ensureImportExists(e,s,"SelectDescriptor","@progress/kendo-react-data-tools"),t.ensureImportExists(e,s,"GridSelectionChangeEvent","@progress/kendo-react-grid")),s.toSource()}module.exports=g;
|
|
2
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VsZWN0aW9uLXN0YXRlLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wYWNrYWdlcy9ncmlkL2NvZGVtb2RzL3YxMS9zZWxlY3Rpb24tc3RhdGUudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQVBJLCBGaWxlSW5mbywgSlNDb2Rlc2hpZnQsIEpTWEF0dHJpYnV0ZSwgSlNYU3ByZWFkQXR0cmlidXRlIH0gZnJvbSAnanNjb2Rlc2hpZnQnO1xuaW1wb3J0IHtcbiAgICBhZGRNZXRob2RUb0NvbXBvbmVudCxcbiAgICByZW1vdmVBdHRyaWJ1dGUsXG4gICAgZmluZFBhcmVudENvbXBvbmVudCxcbiAgICBnZW5lcmF0ZVVuaXF1ZU5hbWUsXG4gICAgZW5zdXJlSW1wb3J0RXhpc3RzLFxuICAgIGFkZEV2ZW50QXR0cmlidXRlLFxuICAgIGFkZFN0YXRlQXR0cmlidXRlLFxuICAgIGFkZFN0YXRlRGVjbGFyYXRpb24sXG4gICAgYWRkVXNlU3RhdGVEZWNsYXJhdGlvbixcbiAgICBmaW5kSW1wb3J0ZWROYW1lLFxuICAgIGNyZWF0ZUNsYXNzTWV0aG9kLFxuICAgIGNyZWF0ZUFycm93RnVuY3Rpb24sXG4gICAgaGFzSlNYQXR0cmlidXRlLFxuICAgIGFkZENvbW1lbnRUb01ldGhvZFxufSBmcm9tICcuL3V0aWxzJztcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gKGZpbGVJbmZvOiBGaWxlSW5mbywgYXBpOiBBUEkpIHtcbiAgICBjb25zdCBqOiBKU0NvZGVzaGlmdCA9IGFwaS5qc2NvZGVzaGlmdDtcbiAgICBjb25zdCByb290ID0gaihmaWxlSW5mby5zb3VyY2UpO1xuXG4gICAgLy8gQ2hlY2sgaWYgdGhlIGZpbGUgaXMgVHlwZVNjcmlwdCBvciBUU1hcbiAgICBjb25zdCBpc1R5cGVTY3JpcHQgPSBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlSW5mby5wYXRoLmVuZHNXaXRoKCcudHN4Jyk7XG5cbiAgICBsZXQgYWRkSW1wb3J0cyA9IGZhbHNlO1xuICAgIGNvbnN0IGV4aXN0aW5nTmFtZXMgPSBuZXcgU2V0PHN0cmluZz4oKTtcbiAgICByb290LmZpbmQoai5JZGVudGlmaWVyKS5mb3JFYWNoKChwYXRoKSA9PiB7XG4gICAgICAgIGV4aXN0aW5nTmFtZXMuYWRkKHBhdGgubm9kZS5uYW1lKTtcbiAgICB9KTtcblxuICAgIGNvbnN0IGJhc2VOYW1lID0gJ2hhbmRsZVNlbGVjdGlvbkNoYW5nZSc7XG4gICAgY29uc3QgdW5pcXVlTmFtZSA9IGdlbmVyYXRlVW5pcXVlTmFtZShiYXNlTmFtZSwgZXhpc3RpbmdOYW1lcyk7XG5cbiAgICAvLyBEeW5hbWljYWxseSByZXNvbHZlIHRoZSBpbXBvcnRlZCBuYW1lIGZvciBgR3JpZGBcbiAgICBjb25zdCBncmlkTmFtZSA9IGZpbmRJbXBvcnRlZE5hbWUoaiwgcm9vdCwgJ0dyaWQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKSB8fCAnR3JpZCc7XG5cbiAgICAvLyBGaW5kIGFsbCBKU1hFbGVtZW50cyB3aXRoIHRoZSBuYW1lIG9mIHRoZSByZXNvbHZlZCBgR3JpZGAgY29tcG9uZW50XG4gICAgY29uc3QgZ3JpZEVsZW1lbnRzID0gcm9vdC5maW5kKGouSlNYRWxlbWVudCwgeyBvcGVuaW5nRWxlbWVudDogeyBuYW1lOiB7IG5hbWU6IGdyaWROYW1lIH0gfSB9KTtcblxuICAgIGdyaWRFbGVtZW50cy5mb3JFYWNoKChncmlkUGF0aCkgPT4ge1xuICAgICAgICBjb25zdCBhdHRyaWJ1dGVzID0gZ3JpZFBhdGgubm9kZS5vcGVuaW5nRWxlbWVudC5hdHRyaWJ1dGVzO1xuXG4gICAgICAgIC8vIENoZWNrIGlmIHRoZSBgc2VsZWN0ZWRGaWVsZGAgYXR0cmlidXRlIGV4aXN0c1xuICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkQXR0cmlidXRlID0gYXR0cmlidXRlcz8uZmluZChcbiAgICAgICAgICAgIChhdHRyKSA9PiBhdHRyLnR5cGUgPT09ICdKU1hBdHRyaWJ1dGUnICYmIGF0dHIubmFtZS5uYW1lID09PSAnc2VsZWN0ZWRGaWVsZCdcbiAgICAgICAgKSBhcyBKU1hBdHRyaWJ1dGU7XG5cbiAgICAgICAgaWYgKCFzZWxlY3RlZEZpZWxkQXR0cmlidXRlKSB7XG4gICAgICAgICAgICByZXR1cm47IC8vIFNraXAgdGhpcyBHcmlkIGlmIGBzZWxlY3RlZEZpZWxkYCBpcyBub3QgcHJlc2VudFxuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ29weSB0aGUgdmFsdWUgb2YgYHNlbGVjdGVkRmllbGRgIGFzIGEgY29tbWVudFxuICAgICAgICBjb25zdCBzZWxlY3RlZEZpZWxkVmFsdWUgPSBzZWxlY3RlZEZpZWxkQXR0cmlidXRlLnZhbHVlXG4gICAgICAgICAgICA/IGooc2VsZWN0ZWRGaWVsZEF0dHJpYnV0ZS52YWx1ZSkudG9Tb3VyY2UoKVxuICAgICAgICAgICAgOiAnTm8gdmFsdWUgcHJvdmlkZWQnO1xuXG4gICAgICAgIC8vIFJlbW92ZSB0aGUgYHNlbGVjdGVkRmllbGRgIGF0dHJpYnV0ZVxuICAgICAgICByZW1vdmVBdHRyaWJ1dGUoYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLCAnc2VsZWN0ZWRGaWVsZCcpO1xuICAgICAgICBhZGRJbXBvcnRzID0gdHJ1ZTtcblxuICAgICAgICAvLyBFbnN1cmUgYHNlbGVjdGFibGVgIGF0dHJpYnV0ZSBpcyBwcmVzZW50IGFuZCBzZXQgdG8gdHJ1ZVxuICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnc2VsZWN0YWJsZScpKSB7XG4gICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShqLCBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sICdzZWxlY3RhYmxlJywgJ3RydWUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEVuc3VyZSBgZGF0YUl0ZW1LZXlgIGF0dHJpYnV0ZSBpcyBwcmVzZW50XG4gICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdkYXRhSXRlbUtleScpKSB7XG4gICAgICAgICAgICBhZGRTdGF0ZUF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAnZGF0YUl0ZW1LZXknLFxuICAgICAgICAgICAgICAgICdcInBsYWNlIHlvdXIga2V5IGhlcmVcIidcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEZXRlcm1pbmUgaWYgdGhlIHBhcmVudCBjb21wb25lbnQgaXMgYSBjbGFzcyBvciBmdW5jdGlvbmFsIGNvbXBvbmVudFxuICAgICAgICBjb25zdCB7IGlzQ2xhc3NDb21wb25lbnQsIGlzRnVuY3Rpb25hbENvbXBvbmVudCwgcGFyZW50Tm9kZSB9ID0gZmluZFBhcmVudENvbXBvbmVudChqLCBncmlkUGF0aCk7XG5cbiAgICAgICAgaWYgKGlzQ2xhc3NDb21wb25lbnQpIHtcbiAgICAgICAgICAgIC8vIEFkZCBgc2VsZWN0YCB0byB0aGUgY2xhc3MgY29tcG9uZW50J3Mgc3RhdGVcbiAgICAgICAgICAgIGFkZFN0YXRlRGVjbGFyYXRpb24oaiwgcGFyZW50Tm9kZSwgJ3NlbGVjdCcsIGoub2JqZWN0RXhwcmVzc2lvbihbXSkpO1xuXG4gICAgICAgICAgICAvLyBBZGQgYHNlbGVjdGAgYW5kIGBvblNlbGVjdGlvbkNoYW5nZWAgYXR0cmlidXRlc1xuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ3NlbGVjdCcpKSB7XG4gICAgICAgICAgICAgICAgYWRkU3RhdGVBdHRyaWJ1dGUoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSxcbiAgICAgICAgICAgICAgICAgICAgJ3NlbGVjdCcsXG4gICAgICAgICAgICAgICAgICAgICd0aGlzLnN0YXRlLnNlbGVjdCdcbiAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAoIWhhc0pTWEF0dHJpYnV0ZShhdHRyaWJ1dGVzLCAnb25TZWxlY3Rpb25DaGFuZ2UnKSkge1xuICAgICAgICAgICAgICAgIGFkZEV2ZW50QXR0cmlidXRlKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGVzIGFzIChKU1hBdHRyaWJ1dGUgfCBKU1hTcHJlYWRBdHRyaWJ1dGUpW10sXG4gICAgICAgICAgICAgICAgICAgICdvblNlbGVjdGlvbkNoYW5nZScsXG4gICAgICAgICAgICAgICAgICAgIGB0aGlzLiR7dW5pcXVlTmFtZX1gXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIENyZWF0ZSBhbmQgYWRkIGBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VgIG1ldGhvZFxuICAgICAgICAgICAgICAgIGNvbnN0IGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCA9IGNyZWF0ZUNsYXNzTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICB1bmlxdWVOYW1lLFxuICAgICAgICAgICAgICAgICAgICBbYGV2ZW50JHtpc1R5cGVTY3JpcHQgPyAnOiBHcmlkU2VsZWN0aW9uQ2hhbmdlRXZlbnQnIDogJyd9YF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGoubWVtYmVyRXhwcmVzc2lvbihqLnRoaXNFeHByZXNzaW9uKCksIGouaWRlbnRpZmllcignc2V0U3RhdGUnKSksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5vYmplY3RFeHByZXNzaW9uKFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGoucHJvcGVydHkoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2luaXQnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGouaWRlbnRpZmllcignc2VsZWN0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdzZWxlY3QnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYHNlbGVjdGVkRmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgbWV0aG9kXG4gICAgICAgICAgICAgICAgYWRkQ29tbWVudFRvTWV0aG9kKFxuICAgICAgICAgICAgICAgICAgICBqLFxuICAgICAgICAgICAgICAgICAgICBqKGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCksXG4gICAgICAgICAgICAgICAgICAgIGBPcmlnaW5hbCBzZWxlY3RlZEZpZWxkIHZhbHVlOiAke3NlbGVjdGVkRmllbGRWYWx1ZX1gLFxuICAgICAgICAgICAgICAgICAgICAnY2xhc3MnXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIGFkZE1ldGhvZFRvQ29tcG9uZW50KGosIHBhcmVudE5vZGUsIGhhbmRsZVNlbGVjdGlvbkNoYW5nZU1ldGhvZCwgdHJ1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoaXNGdW5jdGlvbmFsQ29tcG9uZW50KSB7XG4gICAgICAgICAgICAvLyBBZGQgYFJlYWN0LnVzZVN0YXRlYCBmb3IgYHNlbGVjdGBcbiAgICAgICAgICAgIGFkZFVzZVN0YXRlRGVjbGFyYXRpb24oXG4gICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICBwYXJlbnROb2RlLFxuICAgICAgICAgICAgICAgICdzZWxlY3QnLFxuICAgICAgICAgICAgICAgICdzZXRTZWxlY3QnLFxuICAgICAgICAgICAgICAgIGoub2JqZWN0RXhwcmVzc2lvbihbXSksXG4gICAgICAgICAgICAgICAgaXNUeXBlU2NyaXB0LFxuICAgICAgICAgICAgICAgICdTZWxlY3REZXNjcmlwdG9yJ1xuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgLy8gQWRkIGBzZWxlY3RgIGFuZCBgb25TZWxlY3Rpb25DaGFuZ2VgIGF0dHJpYnV0ZXNcbiAgICAgICAgICAgIGlmICghaGFzSlNYQXR0cmlidXRlKGF0dHJpYnV0ZXMsICdzZWxlY3QnKSkge1xuICAgICAgICAgICAgICAgIGFkZFN0YXRlQXR0cmlidXRlKGosIGF0dHJpYnV0ZXMgYXMgKEpTWEF0dHJpYnV0ZSB8IEpTWFNwcmVhZEF0dHJpYnV0ZSlbXSwgJ3NlbGVjdCcsICdzZWxlY3QnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKCFoYXNKU1hBdHRyaWJ1dGUoYXR0cmlidXRlcywgJ29uU2VsZWN0aW9uQ2hhbmdlJykpIHtcbiAgICAgICAgICAgICAgICBhZGRFdmVudEF0dHJpYnV0ZShcbiAgICAgICAgICAgICAgICAgICAgaixcbiAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlcyBhcyAoSlNYQXR0cmlidXRlIHwgSlNYU3ByZWFkQXR0cmlidXRlKVtdLFxuICAgICAgICAgICAgICAgICAgICAnb25TZWxlY3Rpb25DaGFuZ2UnLFxuICAgICAgICAgICAgICAgICAgICBgJHt1bmlxdWVOYW1lfWBcbiAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgLy8gQ3JlYXRlIGFuZCBhZGQgYGhhbmRsZVNlbGVjdGlvbkNoYW5nZWAgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBjb25zdCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiA9IGNyZWF0ZUFycm93RnVuY3Rpb24oXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGAke3VuaXF1ZU5hbWV9YCxcbiAgICAgICAgICAgICAgICAgICAgW2AoZXZlbnQke2lzVHlwZVNjcmlwdCA/ICc6IEdyaWRTZWxlY3Rpb25DaGFuZ2VFdmVudCcgOiAnJ30pYF0sXG4gICAgICAgICAgICAgICAgICAgIFtcbiAgICAgICAgICAgICAgICAgICAgICAgIGouZXhwcmVzc2lvblN0YXRlbWVudChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBqLmNhbGxFeHByZXNzaW9uKGouaWRlbnRpZmllcignc2V0U2VsZWN0JyksIFtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgai5tZW1iZXJFeHByZXNzaW9uKGouaWRlbnRpZmllcignZXZlbnQnKSwgai5pZGVudGlmaWVyKCdzZWxlY3QnKSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBdKVxuICAgICAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgICBdXG4gICAgICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgICAgIC8vIEFkZCB0aGUgYHNlbGVjdGVkRmllbGRgIHZhbHVlIGFzIGEgY29tbWVudCBpbiB0aGUgZnVuY3Rpb25cbiAgICAgICAgICAgICAgICBhZGRDb21tZW50VG9NZXRob2QoXG4gICAgICAgICAgICAgICAgICAgIGosXG4gICAgICAgICAgICAgICAgICAgIGooaGFuZGxlU2VsZWN0aW9uQ2hhbmdlRnVuY3Rpb24pLFxuICAgICAgICAgICAgICAgICAgICBgT3JpZ2luYWwgc2VsZWN0ZWRGaWVsZCB2YWx1ZTogJHtzZWxlY3RlZEZpZWxkVmFsdWV9YCxcbiAgICAgICAgICAgICAgICAgICAgJ2Z1bmN0aW9uJ1xuICAgICAgICAgICAgICAgICk7XG5cbiAgICAgICAgICAgICAgICBhZGRNZXRob2RUb0NvbXBvbmVudChqLCBwYXJlbnROb2RlLCBoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiwgZmFsc2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfSk7XG5cbiAgICBpZiAoYWRkSW1wb3J0cyAmJiBpc1R5cGVTY3JpcHQpIHtcbiAgICAgICAgLy8gRW5zdXJlIFR5cGVTY3JpcHQgaW1wb3J0c1xuICAgICAgICBlbnN1cmVJbXBvcnRFeGlzdHMoaiwgcm9vdCwgJ1NlbGVjdERlc2NyaXB0b3InLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWRhdGEtdG9vbHMnKTtcbiAgICAgICAgZW5zdXJlSW1wb3J0RXhpc3RzKGosIHJvb3QsICdHcmlkU2VsZWN0aW9uQ2hhbmdlRXZlbnQnLCAnQHByb2dyZXNzL2tlbmRvLXJlYWN0LWdyaWQnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gcm9vdC50b1NvdXJjZSgpO1xufVxuIl0sIm5hbWVzIjpbInNlbGVjdGlvblN0YXRlIiwiZmlsZUluZm8iLCJhcGkiLCJqIiwicm9vdCIsImlzVHlwZVNjcmlwdCIsImFkZEltcG9ydHMiLCJleGlzdGluZ05hbWVzIiwicGF0aCIsInVuaXF1ZU5hbWUiLCJnZW5lcmF0ZVVuaXF1ZU5hbWUiLCJncmlkTmFtZSIsImZpbmRJbXBvcnRlZE5hbWUiLCJncmlkUGF0aCIsImF0dHJpYnV0ZXMiLCJzZWxlY3RlZEZpZWxkQXR0cmlidXRlIiwiYXR0ciIsInNlbGVjdGVkRmllbGRWYWx1ZSIsInJlbW92ZUF0dHJpYnV0ZSIsImhhc0pTWEF0dHJpYnV0ZSIsImFkZFN0YXRlQXR0cmlidXRlIiwiaXNDbGFzc0NvbXBvbmVudCIsImlzRnVuY3Rpb25hbENvbXBvbmVudCIsInBhcmVudE5vZGUiLCJmaW5kUGFyZW50Q29tcG9uZW50IiwiYWRkU3RhdGVEZWNsYXJhdGlvbiIsImFkZEV2ZW50QXR0cmlidXRlIiwiaGFuZGxlU2VsZWN0aW9uQ2hhbmdlTWV0aG9kIiwiY3JlYXRlQ2xhc3NNZXRob2QiLCJhZGRDb21tZW50VG9NZXRob2QiLCJhZGRNZXRob2RUb0NvbXBvbmVudCIsImFkZFVzZVN0YXRlRGVjbGFyYXRpb24iLCJoYW5kbGVTZWxlY3Rpb25DaGFuZ2VGdW5jdGlvbiIsImNyZWF0ZUFycm93RnVuY3Rpb24iLCJlbnN1cmVJbXBvcnRFeGlzdHMiXSwibWFwcGluZ3MiOiIyQ0FrQkEsU0FBQUEsRUFBeUJDLEVBQW9CQyxFQUFVLENBQ25ELE1BQU1DLEVBQWlCRCxFQUFJLFlBQ3JCRSxFQUFPRCxFQUFFRixFQUFTLE1BQU0sRUFHeEJJLEVBQWVKLEVBQVMsS0FBSyxTQUFTLEtBQUssR0FBS0EsRUFBUyxLQUFLLFNBQVMsTUFBTSxFQUVuRixJQUFJSyxFQUFhLEdBQ2pCLE1BQU1DLE1BQW9CLElBQzFCSCxFQUFLLEtBQUtELEVBQUUsVUFBVSxFQUFFLFFBQVNLLEdBQVMsQ0FDdENELEVBQWMsSUFBSUMsRUFBSyxLQUFLLElBQUksQ0FDcEMsQ0FBQyxFQUdELE1BQU1DLEVBQWFDLEVBQUFBLG1CQURGLHdCQUMrQkgsQ0FBYSxFQUd2REksRUFBV0MsRUFBQUEsaUJBQWlCVCxFQUFHQyxFQUFNLE9BQVEsNEJBQTRCLEdBQUssT0FLcEYsT0FGcUJBLEVBQUssS0FBS0QsRUFBRSxXQUFZLENBQUUsZUFBZ0IsQ0FBRSxLQUFNLENBQUUsS0FBTVEsQ0FBQSxDQUFTLEVBQUssRUFFaEYsUUFBU0UsR0FBYSxDQUMvQixNQUFNQyxFQUFhRCxFQUFTLEtBQUssZUFBZSxXQUcxQ0UsRUFBeUJELEdBQVksS0FDdENFLEdBQVNBLEVBQUssT0FBUyxnQkFBa0JBLEVBQUssS0FBSyxPQUFTLGVBQUEsRUFHakUsR0FBSSxDQUFDRCxFQUNELE9BSUosTUFBTUUsRUFBcUJGLEVBQXVCLE1BQzVDWixFQUFFWSxFQUF1QixL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
|