Best JavaScript code snippet using wpt
prototypo-panel.components.jsx
Source:prototypo-panel.components.jsx
1import _without from 'lodash/without';2import _xor from 'lodash/xor';3import React from 'react';4import Lifespan from 'lifespan';5import PureRenderMixin from 'react-addons-pure-render-mixin';6import InlineSVG from 'svg-inline-react';7import LocalClient from '../stores/local-client.stores';8import ResizablePanels from './shared/resizable-panels.components';9import PrototypoText from './prototypo-text.components';10import PrototypoCanvas from './prototypo-canvas.components';11import PrototypoWord from './prototypo-word.components';12export default class PrototypoPanel extends React.Component {13 constructor(props) {14 super(props);15 this.state = {16 uiMode: [],17 };18 this.shouldComponentUpdate = PureRenderMixin.shouldComponentUpdate.bind(19 this,20 );21 this.toggleView = this.toggleView.bind(this);22 this.resetView = this.resetView.bind(this);23 this.changePanelWidth = this.changePanelWidth.bind(this);24 this.changePanelHeight = this.changePanelHeight.bind(this);25 this.closeRestrictedFeatureOverlay = this.closeRestrictedFeatureOverlay.bind(26 this,27 );28 this.openGoProModal = this.openGoProModal.bind(this);29 }30 async componentWillMount() {31 this.client = LocalClient.instance();32 this.lifespan = new Lifespan();33 this.client34 .getStore('/prototypoStore', this.lifespan)35 .onUpdate((head) => {36 this.setState({37 glyphs: head.toJS().d.glyphs,38 glyphSelected: head.toJS().d.glyphSelected,39 uiMode: head.toJS().d.uiMode,40 uiText: head.toJS().d.uiText,41 uiWord: head.toJS().d.uiWord,42 uiZoom: head.toJS().d.uiZoom,43 uiPos: head.toJS().d.uiPos,44 uiNodes: head.toJS().d.uiNodes,45 uiOutline: head.toJS().d.uiOutline,46 uiRuler: head.toJS().d.uiRuler,47 uiCoords: head.toJS().d.uiCoords,48 uiShadow: head.toJS().d.uiShadow,49 uiInvertedTextView: head.toJS().d.uiInvertedTextView,50 uiInvertedTextColors: head.toJS().d.uiInvertedTextColors,51 uiTextFontSize: head.toJS().d.uiTextFontSize,52 uiInvertedWordView: head.toJS().d.uiInvertedWordView,53 uiInvertedWordColors: head.toJS().d.uiInvertedWordColors,54 uiDependencies: head.toJS().d.uiDependencies,55 editingGroup: head.toJS().d.indivEdit,56 indivMode: head.toJS().d.indivMode,57 wordPanelHeight: head.toJS().d.wordPanelHeight || 20,58 canvasPanelWidth: head.toJS().d.canvasPanelWidth || 50,59 indivCurrentGroup: head.toJS().d.indivCurrentGroup,60 openRestrictedFeature: head.toJS().d.openRestrictedFeature,61 restrictedFeatureHovered: head.toJS().d.restrictedFeatureHovered,62 });63 })64 .onDelete(() => {65 this.setState({glyph: undefined});66 });67 }68 componentWillUnmount() {69 this.lifespan.release();70 }71 resetView({x, y, zoom = 0.5}) {72 this.client.dispatchAction('/store-value', {73 uiPos: {x, y},74 uiZoom: zoom,75 });76 }77 toggleView(name) {78 // if we are closing glyph mode, we want glyph list to be hidden79 const modes80 = name === 'glyph' && this.state.uiMode.indexOf('glyph') !== -181 ? _without(this.state.uiMode, 'list')82 : this.state.uiMode;83 const newViewMode = _xor(modes, [name]);84 if (newViewMode.length > 0) {85 this.client.dispatchAction('/store-value', {uiMode: newViewMode});86 }87 }88 changePanelWidth(position) {89 this.client.dispatchAction('/store-value', {canvasPanelWidth: position});90 }91 changePanelHeight(position) {92 this.client.dispatchAction('/store-value', {wordPanelHeight: position});93 }94 closeRestrictedFeatureOverlay() {95 this.client.dispatchAction('/store-value', {96 openRestrictedFeature: false,97 restrictedFeatureHovered: '',98 });99 }100 openGoProModal() {101 // TODO: Intercom tracking102 this.client.dispatchAction('/store-value', {103 openGoProModal: true,104 });105 }106 render() {107 if (process.env.__SHOW_RENDER__) {108 console.log('[RENDER] prototypopanel');109 }110 // TODO(franz): Why ?111 /* if (!this.state.panel) {112 return false;113 } */114 const hasGlyph = this.state.uiMode.indexOf('glyph') !== -1;115 const hasText = this.state.uiMode.indexOf('text') !== -1;116 const hasWord = this.state.uiMode.indexOf('word') !== -1;117 // This is for moving the view panels away from the intercom launcher118 const textIntercomDisplacement = hasText;119 const glyphIntercomDisplacement = hasGlyph && !hasText;120 const wordIntercomDisplacement = hasWord && !hasText && !hasGlyph;121 /* if (hasGlyph && this.state.uiShadow) {122 textAndGlyph.push(<div className="shadow-of-the-colossus" key="shadow">{String.fromCharCode(this.state.glyphSelected)}</div>);123 } */124 let featureHovered;125 switch (this.state.restrictedFeatureHovered) {126 case 'indiv':127 featureHovered128 = 'This is the individualization mode, an advanced feature not available to you yet.';129 break;130 case 'slider':131 featureHovered132 = 'To unlock the full slider range on all parameters and design stronger identities with unique fonts.';133 break;134 case 'componentEditing':135 featureHovered136 = 'This is the component editing view, an advanced feature not available to you yet.';137 break;138 case 'manualEditing':139 featureHovered140 = 'This is the manual editing view, an advanced feature not available to you yet.';141 break;142 default:143 featureHovered = 'This feature is not available to you yet.';144 }145 const restrictedFeatureText = this.state.openRestrictedFeature ? (146 <div147 className="panel-demo-overlay"148 onClick={this.closeRestrictedFeatureOverlay}149 >150 <div className="panel-demo-overlay-text">151 <InlineSVG152 element="div"153 src={require('!svg-inline-loader!../../images/academy/lock.svg')}154 onClick={this.openGoProModal}155 />156 <p>{featureHovered}</p>157 <div158 className="panel-demo-overlay-text-gopro-cta"159 onClick={this.openGoProModal}160 >161 Upgrade to the full version162 </div>163 </div>164 </div>165 ) : (166 false167 );168 return (169 <div id="prototypopanel" key="justAcontainer">170 {restrictedFeatureText}171 <ResizablePanels172 key="everythingResize"173 defaultY={this.state.wordPanelHeight}174 onChange={this.changePanelHeight}175 id="prototypopanel"176 property="flexBasis"177 direction="horizontal"178 onlyOne={hasWord && !hasText && !hasGlyph}179 onlyTwo={!hasWord && (hasText || hasGlyph)}180 y={this.state.wordPanelHeight}181 >182 <div id="prototypoword" key="wordContainer">183 <PrototypoWord184 key="word"185 fontName={this.props.fontName}186 uiInvertedWordView={this.state.uiInvertedWordView}187 uiInvertedWordColors={this.state.uiInvertedWordColors}188 uiWord={this.state.uiWord || ''}189 indivCurrentGroup={this.state.indivCurrentGroup}190 close={this.toggleView}191 viewPanelRightMove={wordIntercomDisplacement}192 wordPanelHeight={this.state.wordPanelHeight}193 field="uiWord"194 />195 </div>196 <ResizablePanels197 key="resizableText"198 defaultX={this.state.canvasPanelWidth}199 onChange={this.changePanelWidth}200 property="flexBasis"201 id="prototypotextandglyph"202 direction="vertical"203 onlyOne={hasGlyph && !hasText}204 onlyTwo={!hasGlyph && hasText}205 x={this.state.canvasPanelWidth}206 >207 <PrototypoCanvas208 key="canvas"209 uiZoom={this.state.uiZoom}210 uiMode={this.state.uiMode}211 uiPos={this.state.uiPos}212 uiNodes={this.state.uiNodes}213 uiOutline={this.state.uiOutline}214 uiRuler={this.state.uiRuler}215 uiCoords={this.state.uiCoords}216 uiDependencies={this.state.uiDependencies}217 uiShadow={this.state.uiShadow}218 glyphs={this.state.glyphs}219 glyphSelected={this.state.glyphSelected}220 reset={this.resetView}221 viewPanelRightMove={glyphIntercomDisplacement}222 close={this.toggleView}223 />224 <PrototypoText225 key="text"226 display="block"227 fontName={this.props.fontName}228 uiInvertedTextView={this.state.uiInvertedTextView}229 uiInvertedTextColors={this.state.uiInvertedTextColors}230 uiTextFontSize={this.state.uiTextFontSize}231 uiText={this.state.uiText}232 close={this.toggleView}233 indivCurrentGroup={this.state.indivCurrentGroup}234 viewPanelRightMove={textIntercomDisplacement}235 field="uiText"236 />237 </ResizablePanels>238 </ResizablePanels>239 <div className="shadow-of-the-colossus" key="shadow">240 {String.fromCharCode(this.state.glyphSelected)}241 </div>242 </div>243 );244 }...
index.ts
Source:index.ts
...61 public glyph?: HTMLSlotElement;62 public content?: HTMLSlotElement;63 public connectedCallback(): void {64 super.connectedCallback();65 if (this.hasGlyph()) {66 this.classList.add("has-glyph");67 }68 if (this.hasContent()) {69 this.classList.add("has-content");70 }71 }72 private hasGlyph(): boolean {73 return this.slotHasContent(74 (this.shadowRoot as ShadowRoot).querySelector(75 "[id='glyph']"76 ) as HTMLSlotElement77 );78 }79 private hasContent(): boolean {80 return this.slotHasContent(81 (this.shadowRoot as ShadowRoot).querySelector(82 "[id='content']"83 ) as HTMLSlotElement84 );85 }86 private slotHasContent(slot: HTMLSlotElement): boolean {...
Glyph.js
Source:Glyph.js
1import React from 'react'2import PropTypes from 'prop-types'3import { connect } from 'react-redux'4import { glyphDictionary, validGlyph } from '../lib/glyph'5const Glyph = ({ value, round, size, hide, highlight, free, onClick, onHold, glyphSet, colorsOn }) => {6 const hasGlyph = validGlyph(value)7 const glyphChar = hasGlyph ? glyphDictionary[value][glyphSet] : null8 const glyphColor = hasGlyph && colorsOn ? glyphDictionary[value].color : null9 const rootClass = `Glyph ${size} `10 + glyphColor11 + (round ? ' round' : '')12 + (hide || !hasGlyph ? ' hide' : '')13 + (highlight ? ' highlight' : '')14 + (free ? ' free' : '')15 const contextHandler = (e) => {16 e.preventDefault()17 e.stopPropagation()18 if (onHold) onHold()19 }20 return (21 <button22 className={rootClass}23 onClick={onClick}24 onContextMenu={contextHandler}25 >26 <div className="Glyph-underlay" />27 <div className="Glyph-content">28 <span className="hax-text-centered">29 {glyphChar}30 </span>31 </div>32 </button>33 )34}35Glyph.propTypes = {36 index: PropTypes.number,37 value: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),38 size: PropTypes.string,39 round: PropTypes.bool,40 highlight: PropTypes.bool,41 free: PropTypes.bool,42 onClick: PropTypes.func,43 onHold: PropTypes.func,44}45Glyph.defaultProps = {46 value: '_',47 size: 'sm',48 round: false,49 highlight: false,50 free: false,51}52const mapState = state => ({53 colorsOn: state.settings.colorsOn,54 glyphSet: state.settings.glyphSet,55})...
Using AI Code Generation
1var tf = new TextFlow();2var p = new ParagraphElement();3var span = new SpanElement();4span.text = "Hello";5p.addChild(span);6tf.addChild(p);7var textLayoutFormat = new TextLayoutFormat();8textLayoutFormat.fontSize = 40;9textLayoutFormat.fontFamily = "Arial";10textLayoutFormat.lineHeight = 50;11var textLine = TextLine.createTextLine(tf, textLayoutFormat, 100, 100);12trace(textLine.hasGlyph("H"));13trace(textLine.hasGlyph("e"));14trace(textLine.hasGlyph("l"));15trace(textLine.hasGlyph("o"));16trace(textLine.hasGlyph("X"));17trace(textLine.hasGlyph("Y"));18trace(textLine.hasGlyph("Z"));
Using AI Code Generation
1var win = Ti.UI.createWindow({2});3var text = Ti.UI.createLabel({4 font: {5 },6});7win.add(text);8win.open();9var wptextlayout = require('com.waypointsoft.textlayout');10Ti.API.info("module is => " + wptextlayout);11var hasGlyph = wptextlayout.hasGlyph(text.text, text.font.fontFamily, text.font.fontSize);12Ti.API.info("hasGlyph is => " + hasGlyph);13var text2 = Ti.UI.createLabel({14 font: {15 },16});17win.add(text2);18var hasGlyph2 = wptextlayout.hasGlyph(text2.text, text2.font.fontFamily, text2.font.fontSize);19Ti.API.info("hasGlyph2 is => " + hasGlyph2);20var text3 = Ti.UI.createLabel({21 font: {22 },23});24win.add(text3);25var hasGlyph3 = wptextlayout.hasGlyph(text3.text, text3.font.fontFamily, text3.font.fontSize);26Ti.API.info("hasGlyph3 is => " + hasGlyph3);27var text4 = Ti.UI.createLabel({28 font: {29 },30});31win.add(text4);32var hasGlyph4 = wptextlayout.hasGlyph(text4.text, text4.font.fontFamily, text4.font.fontSize);33Ti.API.info("hasGlyph4 is => " + hasGlyph4);34var text5 = Ti.UI.createLabel({35 font: {36 },
Using AI Code Generation
1var wptext = require('wptext');2var text = 'test';3var result = wptext.hasGlyph(text);4console.log(result);5var wptext = require('wptext');6var text = 'test';7var result = wptext.hasGlyph(text);8console.log(result);9var wptext = require('wptext');10var text = 'test';11var result = wptext.hasGlyph(text);12console.log(result);13var wptext = require('wptext');14var text = 'test';15var result = wptext.hasGlyph(text);16console.log(result);17var wptext = require('wptext');18var text = 'test';19var result = wptext.hasGlyph(text);20console.log(result);21var wptext = require('wptext');22var text = 'test';23var result = wptext.hasGlyph(text);24console.log(result);25var wptext = require('wptext');26var text = 'test';27var result = wptext.hasGlyph(text);28console.log(result);29var wptext = require('wptext');30var text = 'test';31var result = wptext.hasGlyph(text);32console.log(result);33var wptext = require('wptext');34var text = 'test';35var result = wptext.hasGlyph(text);36console.log(result);37var wptext = require('wptext');38var text = 'test';39var result = wptext.hasGlyph(text);40console.log(result);
Using AI Code Generation
1var textLayout = require('wptextlayout');2var text = 'Hello World';3var fontName = 'Arial';4var fontSize = 12;5if (textLayout.hasGlyph(text, fontName, fontSize)) {6 console.log('The font has the glyph');7} else {8 console.log('The font does not have the glyph');9}10var textLayout = require('wptextlayout');11var text = 'Hello World';12var fontName = 'Arial';13var fontSize = 12;14var glyphs = textLayout.getGlyphs(text, fontName, fontSize);15console.log(glyphs);
Using AI Code Generation
1var wptextengine = require('wptextengine');2var fs = require('fs');3var font = fs.readFileSync('font.ttf');4var text = 'Hello World';5var engine = wptextengine.create(font);6console.log(engine.hasGlyph(text));7{8 "dependencies": {9 }10}11The MIT License (MIT)12Copyright (c) 2010-2013
Using AI Code Generation
1var editor = new WPEditor();2var hasGlyph = editor.hasGlyph("A");3console.log(hasGlyph);4var editor = new WPEditor();5var hasGlyph = editor.hasGlyph("a");6console.log(hasGlyph);7var editor = new WPEditor();8var hasGlyph = editor.hasGlyph("1");9console.log(hasGlyph);10var editor = new WPEditor();11var hasGlyph = editor.hasGlyph(" ");12console.log(hasGlyph);13var editor = new WPEditor();14var hasGlyph = editor.hasGlyph("!");15console.log(hasGlyph);16var editor = new WPEditor();17var hasGlyph = editor.hasGlyph("A");18console.log(hasGlyph);19var editor = new WPEditor();20var hasGlyph = editor.hasGlyph("a");21console.log(hasGlyph);22var editor = new WPEditor();23var hasGlyph = editor.hasGlyph("1");24console.log(hasGlyph);25var editor = new WPEditor();26var hasGlyph = editor.hasGlyph(" ");27console.log(hasGlyph);28var editor = new WPEditor();29var hasGlyph = editor.hasGlyph("!");30console.log(hasGlyph);31var editor = new WPEditor();32var hasGlyph = editor.hasGlyph("A");33console.log(hasGlyph);
Using AI Code Generation
1var wptextlayout = require("wptextlayout");2var wpfont = require("wpfont");3var font = new wpfont.Font({name:"Arial", size: 12, style: "normal", weight: "normal"});4var text = "Hello World";5var textLayout = new wptextlayout.TextLayout({font: font, text: text});6console.log("hasGlyph: " + textLayout.hasGlyph("A"));7console.log("hasGlyph: " + textLayout.hasGlyph("B"));8console.log("hasGlyph: " + textLayout.hasGlyph("C"));9console.log("hasGlyph: " + textLayout.hasGlyph("D"));10console.log("hasGlyph: " + textLayout.hasGlyph("E"));11console.log("hasGlyph: " + textLayout.hasGlyph("F"));12console.log("hasGlyph: " + textLayout.hasGlyph("G"));13console.log("hasGlyph: " + textLayout.hasGlyph("H"));14console.log("hasGlyph: " + textLayout.hasGlyph("I"));15console.log("hasGlyph: " + textLayout.hasGlyph("J"));16console.log("hasGlyph: " + textLayout.hasGlyph("K"));17console.log("hasGlyph: " + textLayout.hasGlyph("L"));18console.log("hasGlyph: " + textLayout.hasGlyph("M"));19console.log("hasGlyph: " + textLayout.hasGlyph("N"));20console.log("hasGlyph: " + textLayout.hasGlyph("O"));21console.log("hasGlyph: " + textLayout.hasGlyph("P"));22console.log("hasGlyph: " + textLayout.hasGlyph("Q"));23console.log("hasGlyph: " + textLayout.hasGlyph("R"));24console.log("hasGlyph: " + textLayout.hasGlyph("S"));25console.log("hasGlyph: " + textLayout.hasGlyph("T"));26console.log("hasGlyph: " + textLayout.hasGlyph("U"));27console.log("hasGlyph: " + textLayout.hasGlyph("V"));28console.log("hasGlyph: " + textLayout.hasGlyph("W"));29console.log("hasGlyph: " + textLayout.hasGlyph("X"));30console.log("hasGlyph: " + textLayout.hasGlyph("Y"));31console.log("hasGlyph: " + textLayout.hasGlyph("Z"));32console.log("hasGlyph: " + textLayout.hasGlyph("a"));33console.log("hasGlyph: " + textLayout.hasGlyph("b"));
Using AI Code Generation
1var wptextrenderer = require('wptextrenderer');2var text = "A";3var font = "Times New Roman";4var fontSize = "12pt";5var fontColor = "black";6var fontWeight = "normal";7var fontStyle = "normal";8var textAlignment = "left";9var textBaseline = "top";10var textDirection = "ltr";11var canvas = document.createElement('canvas');12var ctx = canvas.getContext('2d');13console.log(wptextrenderer.hasGlyph(text, font, fontSize, fontColor, fontWeight, fontStyle, textAlignment, textBaseline, textDirection, ctx));14var wptextrenderer = require('wptextrenderer');15var text = "A";16var font = "Times New Roman";17var fontSize = "12pt";18var fontColor = "black";19var fontWeight = "normal";20var fontStyle = "normal";21var textAlignment = "left";22var textBaseline = "top";23var textDirection = "ltr";24var canvas = document.createElement('canvas');25var ctx = canvas.getContext('2d');26console.log(wptextrenderer.measureText(text, font, fontSize, fontColor, fontWeight, fontStyle, textAlignment, textBaseline, textDirection, ctx).width);27var wptextrenderer = require('wptextrenderer');28var text = "A";29var font = "Times New Roman";30var fontSize = "12pt";31var fontColor = "black";32var fontWeight = "normal";33var fontStyle = "normal";34var textAlignment = "left";35var textBaseline = "top";36var textDirection = "ltr";37var canvas = document.createElement('canvas');38var ctx = canvas.getContext('2d');39wptextrenderer.renderText(text, font, fontSize, fontColor, fontWeight, fontStyle, textAlignment, textBaseline, textDirection, ctx);40var wptextrenderer = require('wptextrenderer');41var text = "A";42var font = "Times New Roman";43var fontSize = "12pt";44var fontColor = "black";45var fontWeight = "normal";
Using AI Code Generation
1var text = 'test';2var font = 'Arial';3var hasGlyph = wptextlayout.hasGlyph(text, font);4console.log(hasGlyph);5var text = 'test';6var font = 'Arial';7var hasGlyph = wptextlayout.hasGlyph(text, font);8console.log(hasGlyph);9var text = 'test';10var font = 'Arial';11var hasGlyph = wptextlayout.hasGlyph(text, font);12console.log(hasGlyph);13hasGlyph(text, font);14var text = 'test';15var font = 'Arial';16var hasGlyph = wptextlayout.hasGlyph(text, font);17console.log(hasGlyph);18getGlyph(text, font);19var text = 'test';20var font = 'Arial';21var glyph = wptextlayout.getGlyph(text, font);22console.log(glyph);23getGlyphs(text, font);
Using AI Code Generation
1var wptext = require('wptext');2var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";3var hasGlyph = wptext.hasGlyph(text);4console.log(hasGlyph);5var wptext = require('wptext');6var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";7var hasGlyph = wptext.hasGlyph(text, true);8console.log(hasGlyph);9var wptext = require('wptext');10var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";11var hasGlyph = wptext.hasGlyph(text, false);12console.log(hasGlyph);13var wptext = require('wptext');14var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";15var hasGlyph = wptext.hasGlyph(text, true, true);16console.log(hasGlyph);17var wptext = require('wptext');18var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";19var hasGlyph = wptext.hasGlyph(text, false, true);20console.log(hasGlyph);21var wptext = require('wptext');22var text = "This is a test text with some special characters like: !@#$%^&*()_+{}|:\"<>?~`-=[]\\;',./";
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!