1"use strict"; 2Object.defineProperty(exports, "__esModule", { value: true }); 3exports.AppColorMenuShow = exports.AppColorMenu = exports.AppSimpleMenuDlg = exports.AppSimpleMenuShow = exports.AppSimpleMenu = void 0; 4var tslib_1 = require("tslib"); 5var React = require("react"); 6var asc_react_1 = require("../../../../asc/asc_react"); 7importCss('/app/pics/css/appSimpleMenu.css'); 8importLegacyJsLib('/elearning/pics/js/etest/utilsETest.js'); 9function AppSimpleMenu(props) { 10 var mainElemRef = React.useRef(null); 11 var scrollTimerRef = React.useRef(null); 12 var items = props.items || []; 13 function itemClick(e) { 14 barCloseDialog(mainElemRef.current); 15 var ind = $(e.currentTarget).attr('data-ind'); 16 var item = items[ind * 1]; 17 if (item.disabled) { 18 var help = getItemDisabledHelp(item); 19 if (help) { 20 (0, asc_react_1.openUrl)(ASC.getHelpUrl(help)); 21 } 22 } 23 else if (item && item.onClick) { 24 item.onClick(); 25 } 26 else if (props.itemClick) { 27 props.itemClick(items[ind * 1]); 28 } 29 } 30 function keyPress(e) { 31 if (e.charCode == 13) { 32 itemClick(e); 33 } 34 } 35 function updateScrollPos(counter) { 36 if ($(mainElemRef.current).closest('body').length == 0) 37 return; 38 var selectedElem = $(mainElemRef.current).find('.selected').first(); 39 ETestUtils.ensureElementInFocusRect(selectedElem, null, { 40 scrollContainer: $(mainElemRef.current).scrollParent(), 41 offsetV: $(window).height() * 0.25 42 }); 43 if (counter < 5) { 44 scrollTimerRef.current = setTimeout(function () { 45 scrollTimerRef.current = null; 46 updateScrollPos(counter + 1); 47 }, 50); 48 } 49 } 50 function getItemDisabledHelp(item) { 51 return item.disabled && (item.disabled + "").substring(0, 5) == "help:" ? (item.disabled + "").substring(5) : null; 52 } 53 React.useEffect(function () { 54 updateScrollPos(0); 55 barCenterDialog($(mainElemRef.current)); 56 return function () { 57 if (scrollTimerRef.current) { 58 clearTimeout(scrollTimerRef.current); 59 scrollTimerRef.current = null; 60 } 61 }; 62 }, []); 63 var category = ''; 64 return (React.createElement("div", { className: "app-simplemenu-outer app-noselect " + props.className, ref: mainElemRef }, 65 props.title && (React.createElement("div", { className: "app-simplemenu-title" }, props.title)), 66 props.subtitle && (React.createElement("div", { className: "app-simplemenu-subtitle" }, props.subtitle)), 67 items.map(function (r, ind) { 68 var showCategory = false; 69 var help = getItemDisabledHelp(r); 70 var disabled = r.disabled || (!r.onClick && !props.itemClick); 71 if (r.category && r.category != category) { 72 showCategory = true; 73 category = r.category; 74 } 75 return (React.createElement(React.Fragment, { key: r.id }, 76 showCategory && (React.createElement("div", { className: "app-simplemenu-category" }, r.category)), 77 React.createElement("a", tslib_1.__assign({ key: r.id, "data-ind": ind, className: "app-simplemenu-item " 78 + (props.emptyTitleAsIniline && !r.title ? ' inlineItem ' : '') 79 + (props.selectedid == r.id ? ' selected ' : '') 80 + (props.itemClassName || "") 81 + (disabled ? " disabled" : "") }, tapOrClick(itemClick), { onKeyPress: keyPress, tabIndex: 0 }), 82 (props.showIcons !== false) && (React.createElement("div", { className: "app-simplemenu-icon " + (r.iconColor || ""), "aria-hidden": "true" }, r.faIcon 83 ? (React.createElement("i", { className: "fa " + r.faIcon, style: { color: r.iconColor } })) 84 : (r.mIcon 85 ? React.createElement("i", { className: "material-icons", style: { color: r.iconColor } }, r.mIcon) 86 : r.iconCnt 87 ? r.iconCnt 88 : (r.icon && React.createElement("img", { src: r.icon, alt: "Icon" }
88))))), 89 (r.title || r.name || !props.emptyTitleAsIniline) 90 ? (React.createElement("div", { className: "app-simplemenu-text " }, 91 React.createElement("div", { className: "title", lang: r.lang || null }, r.title || r.name), 92 r.subtitle && (React.createElement("div", { className: "app-subtitle small" }, r.subtitle)))) 93 : "", 94 help && React.createElement("div", { className: "app-list-item-rcontent small" }, 95 React.createElement("i", { className: "fa fa-fw fa-question-circle" }), 96 " ", 97 ls(1077))))); 98 }))); 99} 100exports.AppSimpleMenu = AppSimpleMenu; 101function AppSimpleMenuShow(menuItems, options) { 102 var elem = (React.createElement(React.Fragment, null, 103 React.createElement(AppSimpleMenu, tslib_1.__assign({ items: menuItems }, options)), 104 !MobileAppBridge.isActive() && (React.createElement("div", { className: "barDialogActionButtons", style: { padding: '12px' } }, 105 React.createElement("input", { type: "button", className: "button-gray", value: ls(1038), onClick: function (e) { barCloseDialog(e.currentTarget); } }))))); 106 var dlg = barNewReactDlg(elem, { 107 width: options.width || 500 108 }); 109 return dlg; 110} 111exports.AppSimpleMenuShow = AppSimpleMenuShow; 112function AppSimpleMenuDlg(props) { 113 var mainElemRef = React.useRef(null); 114 function close() { 115 barCloseDialog($(mainElemRef.current)); 116 } 117 return (React.createElement("div", { ref: mainElemRef }, 118 React.createElement("div", { style: { position: 'absolute', top: 0, right: 0 } }, 119 React.createElement("a", tslib_1.__assign({ className: 'app-simplemenu-dlg-close' }, tapOrClick(close), { title: ls(1567), "aria-label": ls(1567) }), 120 React.createElement("i", { className: "fa fa-close", "aria-hidden": "true" }))), 121 React.createElement(AppSimpleMenu, tslib_1.__assign({}, props)), 122 React.createElement("div", { className: "barDialogActionButtons", style: { padding: '12px' } }, 123 React.createElement("input", { type: "button", className: "button-gray", value: ls(1038), onClick: close })))); 124} 125exports.AppSimpleMenuDlg = AppSimpleMenuDlg; 126function AppColorMenu(props) { 127 var mainElemRef = React.useRef(null); 128 var items = props.items || []; 129 function itemClick(e) { 130 var ind = $(e.currentTarget).attr('data-ind'); 131 if (props.itemClick) { 132 props.itemClick(items[ind * 1]); 133 } 134 barCloseDialog(mainElemRef.current); 135 } 136 return (React.createElement("div", { className: "app-simplemenu-outer app-noselect", ref: mainElemRef }, 137 props.title && (React.createElement("div", { className: "app-simplemenu-title" }, props.title)), 138 React.createElement("div", { className: "app-colormenu-list" }, 139 items.map(function (r, ind) { 140 return (React.createElement("div", tslib_1.__assign({ className: "app-colormenu-item " + (props.selectedid == r.color ? 'selected ' : '') + (props.itemClassName || ""), key: r.id }, tapOrClick(r.onClick ? r.onClick : itemClick), { "data-ind": ind }), 141 React.createElement("div", { className: "app-colormenu-item-inner", style: { backgroundColor: r.color } }))); 142 }), 143 React.createElement("div", { className: "app-colormenu-item-empty" }), 144 React.createElement("div", { className: "app-colormenu-item-empty" }), 145 React.createElement("div", { className: "app-colormenu-item-empty" }), 146 React.createElement("div", { className: "app-colormenu-item-empty" })))); 147} 148exports.AppColorMenu = AppColorMenu; 149function AppColorMenuShow(menuItems, options) { 150 var dlg = barNewReactDlg(React.createElement(AppColorMenu, tslib_1.__assign({ items: menuItems }, options)), {}); 151 return dlg; 152} 153exports.AppColorMenuShow = AppColorMenuShow;
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.