UNPKG

@progress/kendo-ui

Version:

This package is part of the [Kendo UI for jQuery](http://www.telerik.com/kendo-ui) suite.

206 lines (188 loc) 7.53 kB
'use strict'; function applyMapNavigatorRenames(str) { let result = str; result = result.replaceAll('k-navigator-up', 'k-navigator-n'); result = result.replaceAll('k-navigator-right', 'k-navigator-e'); result = result.replaceAll('k-navigator-down', 'k-navigator-s'); result = result.replaceAll('k-navigator-left', 'k-navigator-w'); return result; } function applySchedulerIconRenames(str) { let result = str; result = result.replaceAll('k-svg-i-arrow-left', 'k-i-chevron-left'); result = result.replaceAll('k-svg-i-arrow-right', 'k-i-chevron-right'); return result; } function applyGridColumnMenuPopupRename(str) { return str.replaceAll('k-columnmenu-popup', 'k-grid-columnmenu-popup'); } function applyGridLayoutJustifyRename(str) { return str.replaceAll('k-justify-content-', 'k-justify-items-'); } function applyContextMenuWidgetStrip(str) { let result = str; result = result.replace(/\.k-widget(?=\.k-context-menu)/g, ''); result = result.replace(/(?<=\.k-context-menu)\.k-widget(?=[\s{,>+~.:#[)]|$)/g, ''); return result; } function applyQ4ClassChanges(str) { let result = str; result = result.replaceAll('k-pane-pinned', 'k-pane-unpinned'); result = result.replace(/\.k-menu-expand-arrow-icon(?=\.)/g, ''); result = result.replace(/(?<=[\w-])\.k-menu-expand-arrow-icon/g, ''); result = result.replace(/\.k-tab-on-top(?=\.)/g, ''); result = result.replace(/(?<=[\w-])\.k-tab-on-top/g, ''); result = result.replace(/\.k-toolbar-toggle-button(?=\.)/g, ''); result = result.replace(/(?<=[\w-])\.k-toolbar-toggle-button/g, ''); result = result.replace(/\.k-dropdown-button(?=\.)/g, ''); result = result.replace(/(?<=[\w-])\.k-dropdown-button/g, ''); return result; } const SCHEDULER_NAV_CSS_MAP = [ [/\.k-nav-today(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="today"]'], [/\.k-nav-prev(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="previous"]'], [/\.k-nav-next(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="next"]'], [/\.k-view-month(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="month"]'], [/\.k-view-week(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="week"]'], [/\.k-view-day(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="day"]'], [/\.k-view-agenda(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="agenda"]'], [/\.k-view-timeline(?=[\s{,>+~:.#\[)]|$)/g, '[data-selector="timeline"]'], ]; function applySchedulerNavSelectorsCss(str) { let result = str; for (const [re, replacement] of SCHEDULER_NAV_CSS_MAP) { re.lastIndex = 0; result = result.replace(re, replacement); re.lastIndex = 0; } return result; } const SCHEDULER_NAV_JS_MAP = [ ['.k-nav-today', '[data-selector="today"]'], ['.k-nav-prev', '[data-selector="previous"]'], ['.k-nav-next', '[data-selector="next"]'], ['.k-view-month', '[data-selector="month"]'], ['.k-view-week', '[data-selector="week"]'], ['.k-view-day', '[data-selector="day"]'], ['.k-view-agenda', '[data-selector="agenda"]'], ['.k-view-timeline', '[data-selector="timeline"]'], ]; function applySchedulerNavSelectorsJs(str) { let result = str; for (const [from, to] of SCHEDULER_NAV_JS_MAP) { result = result.replaceAll(from, to); } return result; } function applySpreadsheetIconRenames(str) { let result = str; result = result.replaceAll('k-i-undo', 'k-i-reset'); result = result.replaceAll('k-i-redo', 'k-i-reload'); return result; } function applyQ4ExtraClassChanges(str) { let result = str; result = result.replaceAll('k-button-flat-primary', 'k-button-flat-base'); result = result.replaceAll('k-pivotgrid-header-total', 'k-pivotgrid-total'); result = result.replace(/\.k-widget(?=\.k-tabstrip(?!-))/g, ''); result = result.replace(/(?<=\.k-tabstrip(?!-))\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-gridlayout)/g, ''); result = result.replace(/(?<=\.k-gridlayout)\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-imageeditor)/g, ''); result = result.replace(/(?<=\.k-imageeditor)\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-map)/g, ''); result = result.replace(/(?<=\.k-map)\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.km-widget(?=\.k-map)/g, ''); result = result.replace(/(?<=\.k-map)\.km-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-menu(?!-))/g, ''); result = result.replace(/(?<=\.k-menu(?!-))\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-pdfviewer)/g, ''); result = result.replace(/(?<=\.k-pdfviewer)\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-widget(?=\.k-stack-layout)/g, ''); result = result.replace(/(?<=\.k-stack-layout)\.k-widget(?=[\s{,>+~.:#\[)]|$)/g, ''); result = result.replace(/\.k-tabstrip-item(?=\.k-item\b)/g, ''); result = result.replace(/(?<=\.k-item\b)\.k-tabstrip-item(?=[\s{,>+~.:#\[)]|$)/g, ''); return result; } function applyAll(str) { let result = str; result = applyMapNavigatorRenames(result); result = applySchedulerIconRenames(result); result = applyGridColumnMenuPopupRename(result); result = applyGridLayoutJustifyRename(result); result = applyContextMenuWidgetStrip(result); result = applyQ4ClassChanges(result); result = applySchedulerNavSelectorsCss(result); result = applySpreadsheetIconRenames(result); result = applyQ4ExtraClassChanges(result); return result; } function applyAllJs(str) { let result = str; result = applyMapNavigatorRenames(result); result = applySchedulerIconRenames(result); result = applyGridColumnMenuPopupRename(result); result = applyGridLayoutJustifyRename(result); result = applyContextMenuWidgetStrip(result); result = applyQ4ClassChanges(result); result = applySchedulerNavSelectorsJs(result); result = applySpreadsheetIconRenames(result); result = applyQ4ExtraClassChanges(result); return result; } function transformStringLiterals(root, j, fn) { let changed = false; const visit = path => { if (typeof path.node.value !== 'string') { return; } const updated = fn(path.node.value); if (updated === path.node.value) { return; } path.node.value = updated; if (path.node.extra) { path.node.extra.rawValue = updated; if (path.node.extra.raw) { path.node.extra.raw = fn(path.node.extra.raw); } } changed = true; }; root.find(j.StringLiteral).forEach(visit); root.find(j.Literal, n => typeof n.value === 'string').forEach(visit); return changed; } function transformTemplateLiterals(root, j, fn) { let changed = false; root.find(j.TemplateLiteral).forEach(path => { path.node.quasis.forEach(quasi => { const updatedRaw = fn(quasi.value.raw); const updatedCooked = quasi.value.cooked != null ? fn(quasi.value.cooked) : null; if (updatedRaw !== quasi.value.raw || updatedCooked !== quasi.value.cooked) { quasi.value.raw = updatedRaw; if (quasi.value.cooked != null) { quasi.value.cooked = updatedCooked; } changed = true; } }); }); return changed; } module.exports = { applyMapNavigatorRenames, applySchedulerIconRenames, applyGridColumnMenuPopupRename, applyGridLayoutJustifyRename, applyContextMenuWidgetStrip, applyQ4ClassChanges, applySchedulerNavSelectorsCss, applySchedulerNavSelectorsJs, applySpreadsheetIconRenames, applyQ4ExtraClassChanges, applyAll, applyAllJs, transformStringLiterals, transformTemplateLiterals, };