// ĠCopyright Ġ 2 0 0 0 - 2 0 1 9 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense Ġthat Ġcan Ġbe Ġfound Ġin Ġthe ĠLICENSE Ġfile . Ċ package Ġtraining . learn . lesson . general . refactor ings Ċ Ċ import Ġcom . intellij . ui . components . JB List Ċ import Ġtraining . dsl .* Ċ import Ġtraining . dsl . Lesson Util . restore If Modified Or Moved Ċ import Ġtraining . learn . Less ons Bundle Ċ import Ġtraining . learn . course . K Lesson Ċ Ċ class ĠExtract Variable From Bubble Lesson ( private Ġval Ġsample : ĠLess on Sample ) ĊĠ Ġ: ĠK Lesson (" Extract Ġvariable ", ĠLess ons Bundle . message (" extract . variable . lesson . name ")) Ġ{ ĊĠ Ġoverride Ġval Ġlesson Content : ĠLess on Context . () Ġ-> ĠUnit ĊĠĠĠ Ġget () Ġ= Ġ{ ĊĠĠĠĠĠ Ġprepare Sample ( sample ) ĊĠĠĠĠĠ Ġshow Warning If In place Ref actor ings Disabled () ĊĊĠĠĠĠĠ Ġtask (" Intro duce Variable ") Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ( Less ons Bundle . message (" extract . variable . start . refactor ing ", Ġaction ( it ), Ġcode (" i Ġ+ Ġ 1 "))) ĊĠĠĠĠĠĠĠ Ġtrigger Start (" Intro duce Variable ") ĊĠĠĠĠĠĠĠ Ġrestore If Modified Or Moved () ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġactions ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtask Ġ{ ĊĠĠĠĠĠĠĠ Ġtext ( Less ons Bundle . message (" extract . variable . replace . all ")) ĊĊĠĠĠĠĠĠĠ Ġstate Check Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġeditor . document . text . split (" i Ġ+ Ġ 1 "). size Ġ== Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġrestore After State Be come False Ġ{ Ġfocus Owner Ġ! is ĠJ B List < *> Ġ} ĊĠĠĠĠĠĠĠ Ġtest Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġide Frame Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem Ġ= Ġ" Replace Ġall Ġ 3 Ġoccurrences " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġj List ( item ). click Item ( item ) ĊĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠ Ġtask (" Next Template Variable ") Ġ{ ĊĠĠĠĠĠĠĠ Ġ// TODO : Ġfix Ġthe Ġshortcut : Ġit Ġshould Ġbe Ġ${ action ( it )} Ġbut Ġwith Ġpreference Ġfor ĠEnter ĊĠĠĠĠĠĠĠ Ġtext ( Less ons Bundle . message (" extract . variable . choose . name ", ĠLess on Util . raw Enter ())) ĊĠĠĠĠĠĠĠ Ġtrigger ( it ) ĊĠĠĠĠĠĠĠ Ġtest ( wait Editor ToBe Ready Ġ= Ġfalse ) Ġ{ ĊĠĠĠĠĠĠĠĠĠ Ġactions ( it ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ