UNPKG

@yuebai008/cli

Version:

Command line interface for rapid qg-minigame development

1 lines 1.95 kB
import*as i18n from"../../../core/i18n/i18n.js";import*as Platform from"../../../core/platform/platform.js";import*as ComponentHelpers from"../../../ui/components/helpers/helpers.js";import*as Coordinator from"../../../ui/components/render_coordinator/render_coordinator.js";import*as LitHtml from"../../../ui/lit-html/lit-html.js";import accessibilityTreeNodeStyles from"./accessibilityTreeNode.css.js";const UIStrings={ignored:"Ignored"},str_=i18n.i18n.registerUIStrings("panels/elements/components/AccessibilityTreeNode.ts",UIStrings),i18nString=i18n.i18n.getLocalizedString.bind(void 0,str_);function truncateTextIfNeeded(e){return e.length>1e4?Platform.StringUtilities.trimMiddle(e,1e4):e}function isPrintable(e){switch(e){case"boolean":case"booleanOrUndefined":case"string":case"number":return!0;default:return!1}}export class AccessibilityTreeNode extends HTMLElement{static litTagName=LitHtml.literal`devtools-accessibility-tree-node`;#e=this.attachShadow({mode:"open"});#t=!0;#i="";#s="";#r=[];#n="";set data(e){this.#t=e.ignored,this.#i=e.name,this.#s=e.role,this.#r=e.properties,this.#n=e.id,this.#o()}connectedCallback(){this.#e.adoptedStyleSheets=[accessibilityTreeNodeStyles]}async#o(){const e=LitHtml.html`<span class='role-value'>${truncateTextIfNeeded(this.#s)}</span>`,t=LitHtml.html`"<span class='attribute-value'>${this.#i}</span>"`,i=this.#r.map((({name:e,value:t})=>isPrintable(t.type)?LitHtml.html` <span class='attribute-name'>${e}</span>:&nbsp;<span class='attribute-value'>${t.value}</span>`:LitHtml.nothing)),s=this.#t?LitHtml.html`<span>${i18nString(UIStrings.ignored)}</span>`:LitHtml.html`${e}&nbsp;${t}${i}`;await Coordinator.RenderCoordinator.RenderCoordinator.instance().write(`Accessibility node ${this.#n} render`,(()=>{LitHtml.render(LitHtml.html`<div class='container'>${s}</div>`,this.#e,{host:this})}))}}ComponentHelpers.CustomElements.defineComponent("devtools-accessibility-tree-node",AccessibilityTreeNode);