Best JavaScript code snippet using playwright-internal
Main.Interactive.js
Source:Main.Interactive.js
1// *************************************************************2// Copyright (c) 1991-2019 LEAD Technologies, Inc.3// All Rights Reserved.4// *************************************************************5var HTML5Demos;6(function (HTML5Demos) {7 var DocumentViewerDemo;8 (function (DocumentViewerDemo) {9 // Contains the interactive part10 var InteractivePart = /** @class */ (function () {11 function InteractivePart(main) {12 // Reference to the DocumentViewerDemoApp13 this._mainApp = null;14 // Reference to main imageviewer's useElements mode15 this._useElements = false;16 // Interactive menu items17 this.headerToolbar_InteractiveMenu = {18 interactiveMenuItem: "#interactiveMenuItem",19 panZoomModeMenuItem: "#panZoomMode",20 panModeMenuItem: "#panMode",21 zoomModeMenuItem: "#zoomMode",22 zoomToModeMenuItem: "#zoomToMode",23 magnifyGlassModeMenuItem: "#magnifyGlassMode",24 rubberBandInteractiveModeMenuItem: "#rubberBandInteractiveMode",25 selectTextModeMenuItem: "#selectTextMode",26 autoPanMenuItem: "#autoPan",27 inertiaScrollMenuItem: "#inertiaScroll"28 };29 // Shortcuts30 this.shortcuts = {31 panZoomModeBtn: "#panZoomMode_shortcut",32 panModeBtn: "#panMode_shortcut",33 zoomModeBtn: "#zoomMode_shortcut",34 zoomToModeBtn: "#zoomToMode_shortcut",35 magnifyGlassModeBtn: "#magnifyGlassMode_shortcut",36 rubberBandInteractiveModeBtn: "#rubberBandInteractiveMode_shortcut",37 selectTextModeBtn: "#selectTextMode_shortcut",38 };39 this._mainApp = main;40 this.initInteractiveUI();41 }42 InteractivePart.prototype.initInteractiveUI = function () {43 $(this.headerToolbar_InteractiveMenu.rubberBandInteractiveModeMenuItem).on("click", this.rubberBandInteractiveModeMenuItem_Click.bind(this));44 $(this.shortcuts.rubberBandInteractiveModeBtn).on("click", this.rubberBandInteractiveModeBtn_Click.bind(this));45 $(this.headerToolbar_InteractiveMenu.interactiveMenuItem).on("click", this.interactiveMenuItem_Click.bind(this));46 $(this.headerToolbar_InteractiveMenu.inertiaScrollMenuItem).on("click", this.inertiaScrollMenuItem_Click.bind(this));47 };48 InteractivePart.prototype.bindElements = function () {49 var elements = this._mainApp.commandsBinder.elements;50 var element;51 // Interactive menu52 element = new DocumentViewerDemo.CommandBinderElement();53 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.interactiveMenuItem);54 element.updateEnabled = false;55 elements.push(element);56 element = new DocumentViewerDemo.CommandBinderElement();57 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactivePanZoom;58 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.panZoomModeMenuItem);59 element.updateChecked = true;60 elements.push(element);61 element = new DocumentViewerDemo.CommandBinderElement();62 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactivePan;63 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.panModeMenuItem);64 element.updateChecked = true;65 elements.push(element);66 element = new DocumentViewerDemo.CommandBinderElement();67 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveZoom;68 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.zoomModeMenuItem);69 element.updateChecked = true;70 elements.push(element);71 element = new DocumentViewerDemo.CommandBinderElement();72 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveZoomTo;73 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.zoomToModeMenuItem);74 element.updateChecked = true;75 elements.push(element);76 if (!this._mainApp.useElements) {77 element = new DocumentViewerDemo.CommandBinderElement();78 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveMagnifyGlass;79 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.magnifyGlassModeMenuItem);80 element.updateChecked = true;81 elements.push(element);82 }83 else {84 $(this.headerToolbar_InteractiveMenu.magnifyGlassModeMenuItem).remove();85 }86 if (this._mainApp.demoMode == DocumentViewerDemo.DemoMode.OCR) {87 element = new DocumentViewerDemo.CommandBinderElement();88 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveRubberBand;89 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.rubberBandInteractiveModeMenuItem);90 element.updateChecked = true;91 element.autoRun = false;92 elements.push(element);93 }94 if (this._mainApp.demoMode != DocumentViewerDemo.DemoMode.Barcode) {95 element = new DocumentViewerDemo.CommandBinderElement();96 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveSelectText;97 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.selectTextModeMenuItem);98 element.updateChecked = true;99 elements.push(element);100 }101 element = new DocumentViewerDemo.CommandBinderElement();102 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveAutoPan;103 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.autoPanMenuItem);104 element.updateChecked = true;105 elements.push(element);106 element = new DocumentViewerDemo.CommandBinderElement();107 element.userInterfaceElement = $(this.headerToolbar_InteractiveMenu.inertiaScrollMenuItem);108 elements.push(element);109 // Shortcuts110 element = new DocumentViewerDemo.CommandBinderElement();111 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactivePanZoom;112 element.userInterfaceElement = $(this.shortcuts.panZoomModeBtn);113 element.updateChecked = true;114 elements.push(element);115 element = new DocumentViewerDemo.CommandBinderElement();116 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactivePan;117 element.userInterfaceElement = $(this.shortcuts.panModeBtn);118 element.updateChecked = true;119 elements.push(element);120 element = new DocumentViewerDemo.CommandBinderElement();121 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveZoom;122 element.userInterfaceElement = $(this.shortcuts.zoomModeBtn);123 element.updateChecked = true;124 elements.push(element);125 element = new DocumentViewerDemo.CommandBinderElement();126 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveZoomTo;127 element.userInterfaceElement = $(this.shortcuts.zoomToModeBtn);128 element.updateChecked = true;129 elements.push(element);130 if (!this._mainApp.useElements) {131 // Remove the magnifyGlass option in Elements Mode132 element = new DocumentViewerDemo.CommandBinderElement();133 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveMagnifyGlass;134 element.userInterfaceElement = $(this.shortcuts.magnifyGlassModeBtn);135 element.updateChecked = true;136 elements.push(element);137 }138 else {139 $(this.shortcuts.magnifyGlassModeBtn).remove();140 }141 if (this._mainApp.demoMode == DocumentViewerDemo.DemoMode.OCR || this._mainApp.demoMode == DocumentViewerDemo.DemoMode.Barcode) {142 element = new DocumentViewerDemo.CommandBinderElement();143 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveRubberBand;144 element.userInterfaceElement = $(this.shortcuts.rubberBandInteractiveModeBtn);145 element.updateChecked = true;146 elements.push(element);147 }148 if (this._mainApp.demoMode != DocumentViewerDemo.DemoMode.Barcode) {149 element = new DocumentViewerDemo.CommandBinderElement();150 element.commandName = lt.Document.Viewer.DocumentViewerCommands.interactiveSelectText;151 element.userInterfaceElement = $(this.shortcuts.selectTextModeBtn);152 element.updateChecked = true;153 elements.push(element);154 }155 // Set up the rubberband options, only once156 this.setRubberBandInteractiveMode();157 };158 InteractivePart.prototype.rubberBandInteractiveModeMenuItem_Click = function (e) {159 this._mainApp.documentViewer.commands.run(lt.Document.Viewer.DocumentViewerCommands.interactiveRubberBand, null);160 };161 InteractivePart.prototype.rubberBandInteractiveModeBtn_Click = function (e) {162 this._mainApp.documentViewer.commands.run(lt.Document.Viewer.DocumentViewerCommands.interactiveRubberBand, null);163 };164 InteractivePart.prototype.setRubberBandInteractiveMode = function () {165 var _this = this;166 var rubberbandMode = this._mainApp.documentViewer.view.imageViewer.interactiveModes.findById(lt.Controls.ImageViewerInteractiveMode.rubberBandModeId);167 rubberbandMode.rubberBandCompleted.add(function (sender, e) { return _this.rubberBandCompleted(sender, e); });168 rubberbandMode.autoItemMode = lt.Controls.ImageViewerAutoItemMode.autoSet;169 };170 InteractivePart.prototype.rubberBandCompleted = function (sender, e) {171 if (e.isCanceled)172 return;173 var imageViewer = this._mainApp.documentViewer.view.imageViewer;174 var rubberBand = sender;175 var item = rubberBand.item;176 // Confirm that the search area is still at least partially on screen177 var searchAreaInControl = lt.LeadRectD.fromLTRB(e.points[0].x, e.points[0].y, e.points[1].x, e.points[1].y);178 // Intersect the search area with the control. If completely outside the screen, cancel.179 var controlSize = imageViewer.controlSize;180 var intersect = lt.LeadRectD.intersectRects(searchAreaInControl, lt.LeadRectD.create(0, 0, controlSize.width, controlSize.height));181 if (intersect.isEmpty || intersect.width <= 0 || intersect.height <= 0)182 return;183 var searchArea = imageViewer.convertRect(item, lt.Controls.ImageViewerCoordinateType.control, lt.Controls.ImageViewerCoordinateType.image, searchAreaInControl);184 if (searchArea.width > 3 && searchArea.height > 3) {185 // If > 3, it's not a click. Call readBarcodes.186 var pageIndex = imageViewer.items.indexOf(item);187 var document = this._mainApp.documentViewer.document;188 searchArea = document.rectToDocument(searchArea);189 var page = document.pages.item(pageIndex);190 if (this._mainApp.demoMode == DocumentViewerDemo.DemoMode.OCR)191 this._mainApp.recognize(page, searchArea);192 else if (this._mainApp.demoMode == DocumentViewerDemo.DemoMode.Barcode)193 this._mainApp.readBarcodes(page, searchArea);194 }195 else if (this._mainApp.demoMode == DocumentViewerDemo.DemoMode.Barcode) {196 // If < 3, consider it a click, and show the barcode if it's in the current barcode list.197 var pageIndex = imageViewer.items.indexOf(item);198 var document = this._mainApp.documentViewer.document;199 searchArea = document.rectToDocument(searchArea);200 this._mainApp.checkBarcodeData(pageIndex, searchArea);201 }202 };203 InteractivePart.prototype.interactiveMenuItem_Click = function (e) {204 lt.Demos.Utils.UI.toggleChecked($(this.headerToolbar_InteractiveMenu.inertiaScrollMenuItem).find(".icon"), this._mainApp.preferencesPart.enableInertiaScroll);205 };206 InteractivePart.prototype.inertiaScrollMenuItem_Click = function (e) {207 this._mainApp.toggleInertiaScroll();208 lt.Demos.Utils.UI.toggleChecked($(this.headerToolbar_InteractiveMenu.inertiaScrollMenuItem).find(".icon"), this._mainApp.preferencesPart.enableInertiaScroll);209 };210 return InteractivePart;211 }());212 DocumentViewerDemo.InteractivePart = InteractivePart;213 })(DocumentViewerDemo = HTML5Demos.DocumentViewerDemo || (HTML5Demos.DocumentViewerDemo = {}));...
Filter.jsx
Source:Filter.jsx
1import React from "react";2import { useEffect, useState } from "react";3import Header from "../components/home/Header";4import Footer from "../components/home/Footer";5import FilterBar from "../components/filter/FilterBar";6import FilterDisplay from "../components/filter/FilterDisplay";7import "../style/filter.css";8// icons9import { AiOutlineFilter } from "react-icons/ai";10import { AiOutlineClose } from "react-icons/ai";11import productApi from "../api/product.api";12function Filter(props) {13 let defaultQuery = props.query;14 const getProduct = productApi.getProduct;15 const [products, setProducts] = useState({});16 const [page, setPage] = useState(1);17 const [query, setQuery] = useState(defaultQuery);18 const [sort, setSort] = useState("");19 const [isActiveBar, setIsActiveBar] = useState(false);20 useEffect(() => {21 (async () => {22 try {23 const products = await getProduct(query, page, 9);24 products.data.pages = Array(products.data.pages).fill(0);25 setProducts(products.data);26 } catch (err) {27 throw err;28 }29 })();30 }, [query, page]);31 const [checkedSize, setCheckedSize] = useState([32 {33 size: 29,34 query: "size=29",35 checked: false,36 },37 {38 size: 30,39 query: "size=30",40 checked: false,41 },42 {43 size: 31,44 query: "size=31",45 checked: false,46 },47 {48 size: 32,49 query: "size=32",50 checked: false,51 },52 {53 size: 33,54 query: "size=33",55 checked: false,56 },57 {58 size: 34,59 query: "size=34",60 checked: false,61 },62 ]);63 const [checkedColor, setCheckedColor] = useState([64 {65 color: "blue",66 query: "color=blue",67 checked: false,68 },69 {70 color: "red",71 query: "color=red",72 checked: false,73 },74 {75 color: "yellow",76 query: "color=yellow",77 checked: false,78 },79 {80 color: "green",81 query: "green=32",82 checked: false,83 },84 {85 color: "white",86 query: "color=white",87 checked: false,88 },89 ]);90 const [checkedPriceRange, setCheckedPriceRange] = useState([91 {92 priceRange: "500000-800000",93 query: "price[gt]=500000&price[lt]=800000",94 checked: false,95 },96 {97 priceRange: "800000-1000000",98 query: "price[gt]=800000&price[lt]=1000000",99 checked: false,100 },101 {102 priceRange: "1000000-1500000",103 query: "price[gt]=1000000&price[lt]=1500000",104 checked: false,105 },106 {107 priceRange: "1500000-2000000",108 query: "price[gt]=1500000&price[lt]=2000000",109 checked: false,110 },111 ]);112 useEffect(() => {113 let querySize = checkedSize.reduce((query, current) => {114 if (current.checked === true) return current.query + " " + query;115 return "" + query;116 }, "");117 let queryColor = checkedColor.reduce((query, current) => {118 if (current.checked === true) return current.query + " " + query;119 return "" + query;120 }, "");121 let queryPriceRange = checkedPriceRange.reduce((query, current) => {122 if (current.checked === true) return current.query + " " + query;123 return "" + query;124 }, "");125 let query =126 defaultQuery + " " + querySize + queryColor + queryPriceRange + sort;127 query = query.split(" ");128 if (!sort) query.length = query.length - 1;129 query = query.join("&");130 setQuery(query);131 }, [checkedSize, checkedColor, checkedPriceRange, sort]);132 function handleCheckedSize(index) {133 let indexUpdate = index;134 let updateChecked = checkedSize.map((item, index) => {135 if (index === indexUpdate) {136 item.checked = !item.checked;137 }138 return item;139 });140 console.log(updateChecked);141 setCheckedSize(updateChecked);142 }143 function handleCheckedColor(index) {144 let indexUpdate = index;145 let updateChecked = checkedColor.map((item, index) => {146 if (index === indexUpdate) {147 item.checked = !item.checked;148 }149 return item;150 });151 console.log(updateChecked);152 setCheckedColor(updateChecked);153 }154 function handleCheckedPriceRange(index) {155 let indexUpdate = index;156 let updateChecked = checkedPriceRange.map((item, index) => {157 if (index === indexUpdate) {158 item.checked = !item.checked;159 }160 return item;161 });162 console.log(updateChecked);163 setCheckedPriceRange(updateChecked);164 }165 function handleSort(e) {166 setSort(`sort=${e.target.value}`);167 }168 function handleNextPage() {169 let updatePage =170 page + 1 < products.pages.length ? page + 1 : products.pages.length;171 setPage(updatePage);172 }173 function handlePrePage() {174 let updatePage = page - 1 >= 1 ? page - 1 : 1;175 setPage(updatePage);176 }177 function handleActiveBar() {178 setIsActiveBar(!isActiveBar);179 }180 return (181 <div id="filter">182 <Header />183 <div className="filter__container">184 <div className="filter__container-body">185 {!isActiveBar && (186 <div className="filter__icon-open" onClick={handleActiveBar}>187 <AiOutlineFilter style={{ "font-size": "2.8rem" }} />188 </div>189 )}190 {isActiveBar && (191 <div className="filter__icon-close" onClick={handleActiveBar}>192 <AiOutlineClose />193 </div>194 )}195 <FilterBar196 query={query}197 setQuery={setQuery}198 checkedColor={checkedColor}199 handleCheckedColor={handleCheckedColor}200 checkedSize={checkedSize}201 handleCheckedSize={handleCheckedSize}202 checkedPriceRange={checkedPriceRange}203 handleCheckedPriceRange={handleCheckedPriceRange}204 isActiveBar={isActiveBar}205 />206 <FilterDisplay207 products={products}208 handleSort={handleSort}209 handleNextPage={handleNextPage}210 handlePrePage={handlePrePage}211 page={page}212 />213 </div>214 </div>215 <Footer />216 </div>217 );218}...
TodoDisplay.jsx
Source:TodoDisplay.jsx
1import React, { useState } from "react";2import { fetch } from "../../util/csrf";3import Todos from "../Todos/Todos";4import CreateATodo from "../CreateATodo/CreateATodo";5import "./todoDisplay.css";6const TodoDisplay = ({ authenticated, todos, setTodos, user }) => {7 const [title, setTitle] = useState("");8 const [showPending, setShowPending] = useState(false);9 const [showComplete, setShowComplete] = useState(false);10 const [showAll, setShowAll] = useState(true);11 const updateChecked = async (todoId) => {12 todos[todoId] = { ...todos[todoId], isComplete: !todos[todoId].isComplete };13 const res = await fetch("/api/todos", {14 method: "PUT",15 headers: {16 "Content-Type": "application/json",17 },18 body: JSON.stringify({19 id: parseInt(todoId),20 newTitle: todos[todoId].title,21 newIsComplete: todos[todoId].isComplete,22 }),23 });24 const updateIsComplete = res.data;25 if (!updateIsComplete.errors) {26 setTodos((prev) => {27 return { ...prev, ...todos };28 });29 } else {30 console.error(updateIsComplete.errors);31 }32 };33 const createTodo = async () => {34 console.log(user);35 if (title) {36 const res = await fetch("/api/todos", {37 method: "POST",38 headers: {39 "Content-Type": "application/json",40 },41 body: JSON.stringify({42 userId: user.id,43 title,44 }),45 });46 const newTodo = res.data;47 setTodos((prev) => {48 return { ...prev, [newTodo.todo.id]: newTodo.todo };49 });50 }51 setTitle("");52 };53 const updateView = (value) => {54 switch (value) {55 case "all":56 if (showAll) {57 return;58 } else {59 showComplete60 ? setShowComplete((prev) => !prev)61 : setShowPending((prev) => !prev);62 setShowAll((prev) => !prev);63 }64 break;65 case "pending":66 if (showPending) {67 return;68 } else {69 showAll70 ? setShowAll((prev) => !prev)71 : setShowComplete((prev) => !prev);72 setShowPending((prev) => !prev);73 }74 break;75 case "complete":76 if (showComplete) {77 return;78 } else {79 showPending80 ? setShowPending((prev) => !prev)81 : setShowAll((prev) => !prev);82 setShowComplete((prev) => !prev);83 }84 break;85 default:86 break;87 }88 console.log(showAll, showPending, showComplete);89 };90 const editCurrentTodo = async (id, newTitle, newIsComplete) => {91 const res = await fetch("/api/todos", {92 method: "PUT",93 headers: {94 "Content-Type": "application/json",95 },96 body: JSON.stringify({97 id,98 newTitle,99 newIsComplete,100 }),101 });102 const updatedTodo = res.data;103 if (!updatedTodo.errors) {104 todos[id] = { ...todos[id], title: newTitle };105 setTodos((prev) => {106 return { ...prev, ...todos };107 });108 } else {109 console.error(updatedTodo.errors);110 }111 };112 const deleteTodo = async (id) => {113 const res = await fetch("/api/todos", {114 method: "DELETE",115 headers: {116 "Content-Type": "application/json",117 },118 body: JSON.stringify({119 id,120 }),121 });122 const deleted = res.data;123 if (!deleted.errors) {124 console.log(todos, id);125 delete todos[id];126 setTodos({ ...todos });127 console.log(todos);128 } else {129 console.error(deleted.errors);130 }131 };132 return authenticated ? (133 <div className="todos-main-container">134 <div className="create-a-todo-container">135 <CreateATodo136 title={title}137 setTitle={setTitle}138 todos={todos}139 setTodos={setTodos}140 createTodo={createTodo}141 ></CreateATodo>142 </div>143 <div className="todos-container">144 <div className="filters">Filters</div>145 <div className="view-controls">146 <button147 className={showAll ? "active" : "filter-button"}148 onClick={() => updateView("all")}149 >150 All151 </button>152 <button153 className={showPending ? "active" : "filter-button"}154 onClick={() => updateView("pending")}155 >156 Pending157 </button>158 <button159 className={showComplete ? "active" : "filter-button"}160 onClick={() => updateView("complete")}161 >162 Complete163 </button>164 </div>165 {showPending ? (166 <Todos167 todos={Object.values(todos).filter((todo) => !todo.isComplete)}168 updateChecked={updateChecked}169 editCurrentTodo={editCurrentTodo}170 deleteTodo={deleteTodo}171 />172 ) : null}173 {showComplete ? (174 <Todos175 todos={Object.values(todos).filter((todo) => todo.isComplete)}176 updateChecked={updateChecked}177 editCurrentTodo={editCurrentTodo}178 deleteTodo={deleteTodo}179 />180 ) : null}181 {showAll ? (182 <Todos183 todos={todos}184 updateChecked={updateChecked}185 editCurrentTodo={editCurrentTodo}186 deleteTodo={deleteTodo}187 />188 ) : null}189 </div>190 </div>191 ) : // <Redirect to="/login" />192 null;193};...
ToggleableRadioButton.Test.js
Source:ToggleableRadioButton.Test.js
1import { render, screen } from "@testing-library/react";2import ToggleableRadioButton from "../ToggleableRadioButton";3test("Renders without crashing", () => {4 render(<ToggleableRadioButton />);5});6//test to see if the button is rendered7test("Render returns Button", () => {8 render(<ToggleableRadioButton />);9 const linkElement = screen.getByTestId("ToggleableRadioButton");10 expect(linkElement).toBeInTheDocument();11});12//Test button calls updateChecked13test("Button calls updateChecked", () => {14 const updateChecked = jest.fn();15 render(<ToggleableRadioButton updateChecked={updateChecked} />);16 const button = screen.getByTestId("ToggleableRadioButton");17 button.click();18 expect(updateChecked).toHaveBeenCalled();19});20//snapshot testing21test("Snapshot testing button On", () => {22 const { asFragment } = render(<ToggleableRadioButton enabled={true} />);23 expect(asFragment()).toMatchSnapshot();24});25test("Snapshot testing button Off", () => {26 const { asFragment } = render(<ToggleableRadioButton enabled={false} />);27 expect(asFragment()).toMatchSnapshot();28});29test("Snapshot testing small button Off", () => {30 const { asFragment } = render(31 <ToggleableRadioButton enabled={false} size="small" />32 );33 expect(asFragment()).toMatchSnapshot();34});35test("Snapshot testing Small button On", () => {36 const { asFragment } = render(37 <ToggleableRadioButton enabled={true} size="small" />38 );39 expect(asFragment()).toMatchSnapshot();...
cart-reducer.js
Source:cart-reducer.js
1import {createSlice} from '@reduxjs/toolkit';2//before adding to cart check if existed then add count3const cartSlice = createSlice({4 name: 'cart',5 initialState: [],6 reducers: {7 addCart: (state, action) => {8 const newItem = {9 id: Date.now(),10 cart: action.payload,11 quantity: 1,12 checked: false,13 }14 state.push(newItem)15 },16 deleteCart: (state, action) => {17 return state.filter((cart) => cart.id !== action.payload)18 },19 increaseQuantity: (state, action) => {20 const update = state.filter((cart) => cart.id === action.payload)21 update[0].quantity ++22 return state23 },24 decreaseQuantity: (state, action) => {25 const update = state.filter((cart) => cart.id === action.payload)26 update[0].quantity --27 return state28 },29 updateChecked: (state, action) => {30 const updateChecked = state.filter((cart) => cart.id === action.payload)31 updateChecked[0].checked = !updateChecked[0].checked32 return state33 },34 }35});36export const {addCart, deleteCart, increaseQuantity, decreaseQuantity, updateChecked} = cartSlice.actions;...
CheckBox.js
Source:CheckBox.js
2import "./CheckBox.css"3export const MakeCheckBox = () =>{4 const [checked, updateChecked] = useState(false)5 const CheckTheBox = () =>{6 // checked ? updateChecked(false) : updateChecked(true)7 updateChecked(!checked) // shortest possible ternary statement ever lol8 // updateChecked(checked ? false: true)9 }10 return (11 <div className="checkbox">12 <label htmlFor="checkbox--1">Option One</label>13 <input type="checkbox" name="checkbox--1" id="box1" value="One" checked={checked} onChange={CheckTheBox}/><br/>14 <label htmlFor="checkbox--2">Option Two</label>15 <input type="checkbox" name="checkbox--2" id="box2" value="Two"/><br/>16 <label htmlFor="checkbox--3">Option Three</label>17 <input type="checkbox" name="checkbox--3" id="box3" value="Three"/><br/>18 <label htmlFor="checkbox--4">Option Four</label>19 <input type="checkbox" name="checkbox--4" id="box4" value="Four"/><br/>20 <label htmlFor="checkbox--5">Option Five</label>21 <input type="checkbox" name="checkbox--5" id="box5" value="Five"/><br/>22 </div>...
DisplayHazardsItem.js
Source:DisplayHazardsItem.js
...12 checkItem() {13 console.log("Parents called child");14 this.setState({ checked: true });15 }16 updateChecked() {17 // console.log("updateChecked: ", this.props.index, this.props.dType);18 const { dType, index } = this.props;19 this.props.toggleChecked(dType, index);20 }21 render() {22 return (23 <div className="dhi-box">24 <div className="dh-item-content">{this.props.item.name}</div>25 <Checkbox26 onChange={this.onChange}27 checked={this.props.item.visible}28 disabled={this.props.isDisabled}29 onClick={this.updateChecked}30 style={{ marginLeft: "auto", marginRight: "5px" }}...
Todos.jsx
Source:Todos.jsx
1import React from "react";2import Todo from "../Todo/Todo";3const Todos = ({ todos, updateChecked, editCurrentTodo, deleteTodo }) => {4 return (5 <div className="todo-item-container">6 {Object.values(todos).map((todo) => {7 return (8 <Todo9 key={todo.id}10 todo={todo}11 updateChecked={updateChecked}12 editCurrentTodo={editCurrentTodo}13 deleteTodo={deleteTodo}14 ></Todo>15 );16 })}17 </div>18 );19};...
Using AI Code Generation
1const { chromium } = require('playwright');2const { Page } = require('playwright/lib/page');3(async () => {4 const browser = await chromium.launch();5 const context = await browser.newContext();6 const page = await context.newPage();7 await page.waitForSelector('input[placeholder="What needs to be done?"]');8 await page.evaluate((selector) => {9 const element = document.querySelector(selector);10 element.value = 'Learn Playwright';11 element.dispatchEvent(new Event('input', { bubbles: true }));12 }, 'input[placeholder="What needs to be done?"]');13 await page.click('input[value="Add #1"]');14 await page.click('input[value="Add #2"]');15 await page.evaluate((selector) => {16 const element = document.querySelector(selector);17 element.click();18 }, 'input[value="Add #1"]');19 await page.evaluate((selector) => {20 const element = document.querySelector(selector);21 element.click();22 }, 'input[value="Add #2"]');23 await page.click('input[value="Clear completed"]');24 await page.waitForSelector('ul.todo-list > li', { state: 'detached' });25 await page.close();26 await context.close();27 await browser.close();28})();29const { chromium } = require('playwright');30const { Page } = require('playwright/lib/page');31(async () => {32 const browser = await chromium.launch();33 const context = await browser.newContext();34 const page = await context.newPage();35 await page.waitForSelector('input[placeholder="What needs to be done?"]');36 await page.evaluate((selector) => {37 const element = document.querySelector(selector);38 element.value = 'Learn Playwright';39 element.dispatchEvent(new Event('input', { bubbles: true }));40 }, 'input[placeholder="What needs to be done?"]');41 await page.click('input[value="Add #1"]');42 await page.click('input[value="Add #2"]');43 await page.evaluate((selector) => {44 const element = document.querySelector(selector);45 element.click();46 }, 'input[value="Add #1"]');
Using AI Code Generation
1const { updateChecked } = require('playwright/lib/utils');2const { chromium } = require('playwright');3(async () => {4 const browser = await chromium.launch({ headless: false });5 const context = await browser.newContext();6 const page = await context.newPage();7 await updateChecked(page, 'input[name="agree"]', true);8 await page.screenshot({ path: 'example.png' });9 await browser.close();10})();
Using AI Code Generation
1const { updateChecked } = require('playwright/lib/utils/utils');2updateChecked(0, true);3const { updateChecked } = require('playwright/lib/utils/utils');4updateChecked(0, true);5const { updateChecked } = require('playwright/lib/utils/utils');6updateChecked(0, true);7const { updateChecked } = require('playwright/lib/utils/utils');8updateChecked(0, true);9const { updateChecked } = require('playwright/lib/utils/utils');10updateChecked(0, true);11const { updateChecked } = require('playwright/lib/utils/utils');12updateChecked(0, true);13const { updateChecked } = require('playwright/lib/utils/utils');14updateChecked(0, true);15const { updateChecked } = require('playwright/lib/utils/utils');16updateChecked(0, true);17const { updateChecked } = require('playwright/lib/utils/utils');18updateChecked(0, true);19const { updateChecked } = require('playwright/lib/utils/utils');20updateChecked(0, true);21const { updateChecked } = require('playwright/lib/utils/utils');22updateChecked(0, true);23const { updateChecked } = require('playwright/lib/utils/utils');24updateChecked(0, true);25const { updateChecked } = require('playwright/lib/utils/utils');26updateChecked(0, true);27const { updateChecked } = require('playwright/lib/utils/utils');28updateChecked(0, true);29const { updateChecked } = require('playwright/lib/utils/utils');30updateChecked(0, true);
Using AI Code Generation
1const { updateChecked } = require('playwright-core/lib/server/browserType.js');2const { chromium } = require('playwright-core');3(async () => {4 updateChecked();5 const browser = await chromium.launch();6 const page = await browser.newPage();7 await browser.close();8})();9const { updateChecked } = require('playwright-core/lib/server/browserType.js');10const { chromium } = require('playwright');11(async () => {12 updateChecked();13 const browser = await chromium.launch();14 const page = await browser.newPage();15 await browser.close();16})();17const { updateChecked } = require('playwright-core/lib/server/browserType.js');18const { chromium } = require('playwright');19(async () => {20 updateChecked();21 const browser = await chromium.launch();22 const page = await browser.newPage();23 await browser.close();24})();
Using AI Code Generation
1const { updateChecked } = require('playwright-core/lib/server/frames');2const page = await browser.newPage();3await updateChecked(page, '#checkbox', true);4await page.screenshot({ path: 'checkbox-checked.png' });5await updateChecked(page, '#checkbox', false);6await page.screenshot({ path: 'checkbox-unchecked.png' });7await browser.close();
Using AI Code Generation
1const { chromium } = require('playwright-chromium');2(async () => {3 const browser = await chromium.launch();4 const context = await browser.newContext();5 const page = await context.newPage();6 await page.click('text=Try it');7 await page.waitForTimeout(1000);8 await page.updateChecked('input#vehicle1', true);9 await page.updateChecked('input#vehicle2', true);10 await page.updateChecked('input#vehicle3', true);11 await page.updateChecked('input#vehicle4', true);12 await page.updateChecked('input#vehicle5', true);13 await page.updateChecked('input#vehicle6', true);14 await page.updateChecked('input#vehicle7', true);15 await page.updateChecked('input#vehicle8', true);16 await page.updateChecked('input#vehicle9', true);17 await page.updateChecked('input#vehicle10', true);18 await page.updateChecked('input#vehicle11', true);19 await page.updateChecked('input#vehicle12', true);20 await page.updateChecked('input#vehicle13', true);21 await page.updateChecked('input#vehicle14', true);22 await page.updateChecked('input#vehicle15', true);23 await page.updateChecked('input#vehicle16', true);24 await page.updateChecked('input#vehicle17', true);25 await page.updateChecked('input#vehicle18', true);26 await page.updateChecked('input#vehicle19', true);27 await page.updateChecked('input#vehicle20', true);28 await page.updateChecked('input#vehicle21', true);29 await page.updateChecked('input#vehicle22', true);30 await page.updateChecked('input#vehicle23', true);31 await page.updateChecked('input#vehicle24', true);32 await page.updateChecked('input#vehicle25', true);33 await page.updateChecked('input#vehicle26', true);34 await page.updateChecked('input#vehicle27', true);35 await page.updateChecked('input#vehicle28', true);36 await page.updateChecked('input#vehicle29', true);37 await page.updateChecked('input#vehicle30', true);
Using AI Code Generation
1const { updateChecked } = require('@playwright/test/lib/internal/checks');2test('test', async ({ page }) => {3 await updateChecked(page, true);4 await page.click('text=Get Started');5});6The Playwright team is excited to announce the release of Playwright 1.13.0. Playwright 1.13.0 comes with a new Page.waitForFileChooser() API to wait for file chooser to be opened
LambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!