Extensions.js 189 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369237023712372237323742375237623772378237923802381238223832384238523862387238823892390239123922393239423952396239723982399240024012402240324042405240624072408240924102411241224132414241524162417241824192420242124222423242424252426242724282429243024312432243324342435243624372438243924402441244224432444244524462447244824492450245124522453245424552456245724582459246024612462246324642465246624672468246924702471247224732474247524762477247824792480248124822483248424852486248724882489249024912492249324942495249624972498249925002501250225032504250525062507250825092510251125122513251425152516251725182519252025212522252325242525252625272528252925302531253225332534253525362537253825392540254125422543254425452546254725482549255025512552255325542555255625572558255925602561256225632564256525662567256825692570257125722573257425752576257725782579258025812582258325842585258625872588258925902591259225932594259525962597259825992600260126022603260426052606260726082609261026112612261326142615261626172618261926202621262226232624262526262627262826292630263126322633263426352636263726382639264026412642264326442645264626472648264926502651265226532654265526562657265826592660266126622663266426652666266726682669267026712672267326742675267626772678267926802681268226832684268526862687268826892690269126922693269426952696269726982699270027012702270327042705270627072708270927102711271227132714271527162717271827192720272127222723272427252726272727282729273027312732273327342735273627372738273927402741274227432744274527462747274827492750275127522753275427552756275727582759276027612762276327642765276627672768276927702771277227732774277527762777277827792780278127822783278427852786278727882789279027912792279327942795279627972798279928002801280228032804280528062807280828092810281128122813281428152816281728182819282028212822282328242825282628272828282928302831283228332834283528362837283828392840284128422843284428452846284728482849285028512852285328542855285628572858285928602861286228632864286528662867286828692870287128722873287428752876287728782879288028812882288328842885288628872888288928902891289228932894289528962897289828992900290129022903290429052906290729082909291029112912291329142915291629172918291929202921292229232924292529262927292829292930293129322933293429352936293729382939294029412942294329442945294629472948294929502951295229532954295529562957295829592960296129622963296429652966296729682969297029712972297329742975297629772978297929802981298229832984298529862987298829892990299129922993299429952996299729982999300030013002300330043005300630073008300930103011301230133014301530163017301830193020302130223023302430253026302730283029303030313032303330343035303630373038303930403041304230433044304530463047304830493050305130523053305430553056305730583059306030613062306330643065306630673068306930703071307230733074307530763077307830793080308130823083308430853086308730883089309030913092309330943095309630973098309931003101310231033104310531063107310831093110311131123113311431153116311731183119312031213122312331243125312631273128312931303131313231333134313531363137313831393140314131423143314431453146314731483149315031513152315331543155315631573158315931603161316231633164316531663167316831693170317131723173317431753176317731783179318031813182318331843185318631873188318931903191319231933194319531963197319831993200320132023203320432053206320732083209321032113212321332143215321632173218321932203221322232233224322532263227322832293230323132323233323432353236323732383239324032413242324332443245324632473248324932503251325232533254325532563257325832593260326132623263326432653266326732683269327032713272327332743275327632773278327932803281328232833284328532863287328832893290329132923293329432953296329732983299330033013302330333043305330633073308330933103311331233133314331533163317331833193320332133223323332433253326332733283329333033313332333333343335333633373338333933403341334233433344334533463347334833493350335133523353335433553356335733583359336033613362336333643365336633673368336933703371337233733374337533763377337833793380338133823383338433853386338733883389339033913392339333943395339633973398339934003401340234033404340534063407340834093410341134123413341434153416341734183419342034213422342334243425342634273428342934303431343234333434343534363437343834393440344134423443344434453446344734483449345034513452345334543455345634573458345934603461346234633464346534663467346834693470347134723473347434753476347734783479348034813482348334843485348634873488348934903491349234933494349534963497349834993500350135023503350435053506350735083509351035113512351335143515351635173518351935203521352235233524352535263527352835293530353135323533353435353536353735383539354035413542354335443545354635473548354935503551355235533554355535563557355835593560356135623563356435653566356735683569357035713572357335743575357635773578357935803581358235833584358535863587358835893590359135923593359435953596359735983599360036013602360336043605360636073608360936103611361236133614361536163617361836193620362136223623362436253626362736283629363036313632363336343635363636373638363936403641364236433644364536463647364836493650365136523653365436553656365736583659366036613662366336643665366636673668366936703671367236733674367536763677367836793680368136823683368436853686368736883689369036913692369336943695369636973698369937003701370237033704370537063707370837093710371137123713371437153716371737183719372037213722372337243725372637273728372937303731373237333734373537363737373837393740374137423743374437453746374737483749375037513752375337543755375637573758375937603761376237633764376537663767376837693770377137723773377437753776377737783779378037813782378337843785378637873788378937903791379237933794379537963797379837993800380138023803380438053806380738083809381038113812381338143815381638173818381938203821382238233824382538263827382838293830383138323833383438353836383738383839384038413842384338443845384638473848384938503851385238533854385538563857385838593860386138623863386438653866386738683869387038713872387338743875387638773878387938803881388238833884388538863887388838893890389138923893389438953896389738983899390039013902390339043905390639073908390939103911391239133914391539163917391839193920392139223923392439253926392739283929393039313932393339343935393639373938393939403941394239433944394539463947394839493950395139523953395439553956395739583959396039613962396339643965396639673968396939703971397239733974397539763977397839793980398139823983398439853986398739883989399039913992399339943995399639973998399940004001400240034004400540064007400840094010401140124013401440154016401740184019402040214022402340244025402640274028402940304031403240334034403540364037403840394040404140424043404440454046404740484049405040514052405340544055405640574058405940604061406240634064406540664067406840694070407140724073407440754076407740784079408040814082408340844085408640874088408940904091409240934094409540964097409840994100410141024103410441054106410741084109411041114112411341144115411641174118411941204121412241234124412541264127412841294130413141324133413441354136413741384139414041414142414341444145414641474148414941504151415241534154415541564157415841594160416141624163416441654166416741684169417041714172417341744175417641774178417941804181418241834184418541864187418841894190419141924193419441954196419741984199420042014202420342044205420642074208420942104211421242134214421542164217421842194220422142224223422442254226422742284229423042314232423342344235423642374238423942404241424242434244424542464247424842494250425142524253425442554256425742584259426042614262426342644265426642674268426942704271427242734274427542764277427842794280428142824283428442854286428742884289429042914292429342944295429642974298429943004301430243034304430543064307430843094310431143124313431443154316431743184319432043214322432343244325432643274328432943304331433243334334433543364337433843394340434143424343434443454346434743484349435043514352435343544355435643574358435943604361436243634364436543664367436843694370437143724373437443754376437743784379438043814382438343844385438643874388438943904391439243934394439543964397439843994400440144024403440444054406440744084409441044114412441344144415441644174418441944204421442244234424442544264427442844294430443144324433443444354436443744384439444044414442444344444445444644474448444944504451445244534454445544564457445844594460446144624463446444654466446744684469447044714472447344744475447644774478447944804481448244834484448544864487448844894490449144924493449444954496449744984499450045014502450345044505450645074508450945104511451245134514451545164517451845194520452145224523452445254526452745284529453045314532453345344535453645374538453945404541454245434544454545464547454845494550455145524553455445554556455745584559456045614562456345644565456645674568456945704571457245734574457545764577457845794580458145824583458445854586458745884589459045914592459345944595459645974598459946004601460246034604460546064607460846094610461146124613461446154616461746184619462046214622462346244625462646274628462946304631463246334634463546364637463846394640464146424643464446454646464746484649465046514652465346544655465646574658465946604661466246634664466546664667466846694670467146724673467446754676467746784679468046814682468346844685468646874688468946904691469246934694469546964697469846994700470147024703470447054706470747084709471047114712471347144715471647174718471947204721472247234724472547264727472847294730473147324733473447354736473747384739474047414742474347444745474647474748474947504751475247534754475547564757475847594760476147624763476447654766476747684769477047714772477347744775477647774778477947804781478247834784478547864787478847894790479147924793479447954796479747984799480048014802480348044805480648074808480948104811481248134814481548164817481848194820482148224823482448254826482748284829483048314832483348344835483648374838483948404841484248434844484548464847484848494850485148524853485448554856485748584859486048614862486348644865486648674868486948704871487248734874487548764877487848794880488148824883488448854886488748884889489048914892489348944895489648974898489949004901490249034904490549064907490849094910491149124913491449154916491749184919492049214922492349244925492649274928492949304931493249334934493549364937493849394940494149424943494449454946494749484949495049514952495349544955495649574958495949604961496249634964496549664967496849694970497149724973497449754976497749784979498049814982498349844985498649874988498949904991499249934994499549964997499849995000500150025003500450055006500750085009501050115012501350145015501650175018501950205021502250235024502550265027502850295030503150325033503450355036503750385039504050415042504350445045504650475048504950505051505250535054505550565057505850595060506150625063506450655066506750685069507050715072507350745075507650775078507950805081508250835084508550865087508850895090509150925093
  1. /**
  2. * Handles paste from Lucidchart
  3. *
  4. * TODO: Move to dynamic loading minimized plugin.
  5. */
  6. (function()
  7. {
  8. // Global import transformation
  9. var scale = 0.6;
  10. var dx = 0;
  11. var dy = 0;
  12. var arcSize = 6;
  13. var edgeStyle = 'html=1;';
  14. var vertexStyle = 'html=1;whiteSpace=wrap;';
  15. var labelStyle = 'text;html=1;resizable=0;labelBackgroundColor=#ffffff;';
  16. var c = "fillColor=#036897;strokeColor=#ffffff";
  17. var s = "shape=mxgraph.";
  18. var ss = "strokeColor=none;shape=mxgraph.";
  19. var cs = 'mxCompositeShape';
  20. // stencils with hardcoded rounding
  21. var hardRound = [
  22. 'GSDFDProcessBlock',
  23. 'RoundedRectangleContainerBlock',
  24. 'UI2ButtonBlock',
  25. 'UMLStateBlock'
  26. ];
  27. // stencils with hardcoded default rounding (having absolute rounding of arcSize=8 without declaring anything)
  28. var hardDefRound = [
  29. 'ProcessBlock',
  30. 'UMLActivationBlock'
  31. ];
  32. // stencils with hardcoded stroke color
  33. var hardStroke = [
  34. 'VennPlainColor1',
  35. 'VennPlainColor2',
  36. 'VennPlainColor3',
  37. 'VennPlainColor4',
  38. 'VennPlainColor5',
  39. 'VennPlainColor6',
  40. 'VennPlainColor7',
  41. 'VennPlainColor8',
  42. 'VennGradientColor1',
  43. 'VennGradientColor2',
  44. 'VennGradientColor3',
  45. 'VennGradientColor4',
  46. 'VennGradientColor5',
  47. 'VennGradientColor6',
  48. 'VennGradientColor7',
  49. 'VennGradientColor8',
  50. 'UMLEndBlock',
  51. 'DefaultTextBlockNew',
  52. 'iOSButton'
  53. ];
  54. //stencils with hardCoded fill color
  55. var hardFill = [
  56. 'AWSAndroidBlock3',
  57. 'AWSiOSBlock3',
  58. 'AWSJavaBlock3',
  59. 'AWSJavaScript',
  60. 'AWSNetBlock3',
  61. 'AWSNodeJSBlock3',
  62. 'AWSPHPBlock3',
  63. 'AWSPythonBlock3',
  64. 'AWSRubyBlock3',
  65. 'AWSXamarin',
  66. 'AWSCLIBlock3',
  67. 'AWSEclipseToolkitBlock3',
  68. 'AWSVisualStudioToolkitBlock3',
  69. 'AWSWindowsPowershellToolkitBlock3',
  70. 'DefaultTextBlock',
  71. 'RectangleContainerBlock',
  72. 'UMLStartBlock',
  73. 'UMLEndBlock',
  74. 'DefaultTextBlockNew',
  75. 'UMLHForkJoinBlock',
  76. 'iOSButton'
  77. ];
  78. // stencils with hardcoded opacity
  79. var hardOpacity = [
  80. 'VennPlainColor1',
  81. 'VennPlainColor2',
  82. 'VennPlainColor3',
  83. 'VennPlainColor4',
  84. 'VennPlainColor5',
  85. 'VennPlainColor6',
  86. 'VennPlainColor7',
  87. 'VennPlainColor8',
  88. 'VennGradientColor1',
  89. 'VennGradientColor2',
  90. 'VennGradientColor3',
  91. 'VennGradientColor4',
  92. 'VennGradientColor5',
  93. 'VennGradientColor6',
  94. 'VennGradientColor7',
  95. 'VennGradientColor8'
  96. ];
  97. //stencils to rotate counter clockwise 90 degrees
  98. var rccw = [
  99. 'AEUSBBlock',
  100. 'AGSCutandpasteBlock',
  101. 'iOSDeviceiPadLandscape',
  102. 'iOSDeviceiPadProLandscape'
  103. ];
  104. var edgeStyleMap = {
  105. 'None': 'none',
  106. 'Arrow': 'block;endFill=1',
  107. 'Hollow Arrow': 'block;endFill=0',
  108. 'Open Arrow': 'open;',
  109. 'CFN ERD Zero Or More Arrow': 'ERzeroToMany;startSize=10',
  110. 'CFN ERD One Or More Arrow': 'ERoneToMany;startSize=10',
  111. 'CFN ERD Many Arrow': 'ERmany;startSize=10',
  112. 'CFN ERD Exactly One Arrow': 'ERmandOne;startSize=10',
  113. 'CFN ERD Zero Or One Arrow': 'ERzeroToOne;startSize=10',
  114. 'CFN ERD One Arrow': 'ERone;startSize=16',
  115. 'Generalization': 'block;endFill=0;startSize=12',
  116. 'Big Open Arrow': 'open;startSize=10',
  117. 'Asynch1': 'openAsync;flipH=1;startSize=10',
  118. 'Asynch2': 'openAsync;startSize=10',
  119. 'Aggregation': 'diamond;endFill=0;startSize=16',
  120. 'Composition': 'diamond;endFill=1;startSize=16',
  121. 'BlockEnd': 'none;endFill=1;startSize=16'
  122. };
  123. var styleMap = {
  124. //Standard
  125. 'DefaultTextBlockNew': 'text;strokeColor=none;fillColor=none',
  126. 'DefaultTextBlock': 'text;strokeColor=none;fillColor=none',
  127. 'DefaultSquareBlock': '',
  128. 'DefaultNoteBlock': 'shape=note;size=15',
  129. 'DefaultNoteBlockV2': 'shape=note;size=15',
  130. 'HotspotBlock': 'strokeColor=none;opacity=50',
  131. 'ImageSearchBlock2': 'shape=image',
  132. //Flowchart
  133. 'ProcessBlock': '',
  134. 'DecisionBlock': 'rhombus',
  135. 'TerminatorBlock': 'rounded=1;arcSize=50',
  136. 'PredefinedProcessBlock': 'shape=process',
  137. 'DocumentBlock': 'shape=document',
  138. 'MultiDocumentBlock': s + 'flowchart.multi-document',
  139. 'ManualInputBlock': 'shape=manualInput;size=15',
  140. 'PreparationBlock': 'shape=hexagon',
  141. 'DataBlock': 'shape=parallelogram',
  142. 'DataBlockNew': 'shape=parallelogram',
  143. 'DatabaseBlock': 'shape=cylinder',
  144. 'DirectAccessStorageBlock': s + 'flowchart.direct_data',
  145. 'InternalStorageBlock': 'shape=internalStorage;dx=10;dy=10',
  146. 'PaperTapeBlock': 'shape=tape;size=0.2',
  147. 'ManualOperationBlockNew': 'shape=trapezoid;flipV=1',
  148. 'DelayBlock': 'shape=delay',
  149. 'StoredDataBlock': 'shape=dataStorage',
  150. 'MergeBlock': 'triangle;direction=south',
  151. 'ConnectorBlock': 'ellipse',
  152. 'OrBlock': s + 'flowchart.summing_function',
  153. 'SummingJunctionBlock': s + 'flowchart.or',
  154. 'DisplayBlock': 'shape=display',
  155. 'OffPageLinkBlock': 'shape=offPageConnector',
  156. 'BraceNoteBlock': cs,
  157. 'NoteBlock': s + 'flowchart.annotation_1',
  158. //Containers
  159. 'AdvancedSwimLaneBlock': cs,
  160. 'AdvancedSwimLaneBlockRotated': cs, //TODO
  161. // 'AdvancedSwimLaneBlockRotated': 'swimlane;horizontal=0', //TODO
  162. 'RectangleContainerBlock': 'fillColor=none;container=1',
  163. 'DiamondContainerBlock': 'shape=rhombus;fillColor=none;container=1',
  164. 'RoundedRectangleContainerBlock': 'fillColor=none;container=1;rounded=1;absoluteArcSize=1;arcSize=24',
  165. 'CircleContainerBlock': 'shape=ellipse;fillColor=none;container=1',
  166. 'PillContainerBlock': 'arcSize=50;fillColor=none;container=1',
  167. // 'BraceBlock' NA
  168. // 'BracketBlock' NA
  169. // 'BraceBlockRotated' NA
  170. // 'BracketBlockRotated' NA
  171. //Geometric shapes
  172. 'IsoscelesTriangleBlock': 'triangle;direction=north',
  173. 'RightTriangleBlock': s + 'basic.orthogonal_triangle',
  174. 'PentagonBlock': s + 'basic.pentagon',
  175. 'HexagonBlock': 'shape=hexagon',
  176. 'OctagonBlock': s + 'basic.octagon',
  177. 'CrossBlock': 'shape=cross;size=0.6',
  178. 'CloudBlock': 'ellipse;shape=cloud',
  179. 'HeartBlock': s + 'basic.heart',
  180. 'RightArrowBlock': 'shape=singleArrow;arrowWidth=0.5;arrowSize=0.3',
  181. 'DoubleArrowBlock': 'shape=doubleArrow;arrowWidth=0.5;arrowSize=0.3',
  182. 'CalloutBlock': s + 'basic.rectangular_callout',
  183. 'ShapeCircleBlock': 'ellipse',
  184. 'ShapePolyStarBlock': s + 'basic.star',
  185. 'ShapeDiamondBlock': 'rhombus',
  186. //Misc
  187. 'UI2HotspotBlock' : 'opacity=50;strokeColor=none',
  188. //Android Devices
  189. 'AndroidDevice' : cs,
  190. //Android Dialogs
  191. 'AndroidAlertDialog' : cs,
  192. 'AndroidDateDialog' : cs,
  193. 'AndroidTimeDialog' : cs,
  194. //Android Blocks
  195. 'AndroidListItems' : cs,
  196. 'AndroidTabs' : cs,
  197. 'AndroidProgressBar' : cs,
  198. 'AndroidImageBlock' : cs,
  199. 'AndroidTextBlock' : cs,
  200. 'AndroidActionBar' : cs,
  201. // 'AndroidBrowserBar' NA
  202. //Android Inputs
  203. 'AndroidButton' : cs,
  204. 'AndroidTextBox' : cs,
  205. 'AndroidRadioButton' : cs,
  206. 'AndroidCheckBox' : cs,
  207. 'AndroidToggle' : cs,
  208. 'AndroidSlider' : cs,
  209. //Android Icons (not working properly, needs specific code)
  210. 'AndroidIconCheck': s + 'ios7.misc.check',
  211. // 'AndroidIconBack' NA
  212. 'AndroidIconCancel' : s + 'atlassian.x',
  213. 'AndroidIconCollapse': s + 'ios7.misc.up',
  214. 'AndroidIconExpand': s + 'ios7.misc.down',
  215. // 'AndroidIconForward' NA
  216. 'AndroidIconNext': s + 'ios7.misc.right',
  217. 'AndroidIconPrevious': s + 'ios7.misc.left',
  218. 'AndroidIconRefresh' : + 'ios7.icons.repeat',
  219. 'AndroidIconInformation': s + 'ios7.icons.info',
  220. // 'AndroidIconHelp' NA
  221. 'AndroidIconSearch': s + 'ios7.icons.looking_glass',
  222. 'AndroidIconSettings': s + 'ios7.icons.volume;direction=south',
  223. // 'AndroidIconDislike' NA
  224. // 'AndroidIconLike' NA
  225. // 'AndroidIconDelete' NA
  226. // 'AndroidIconCopy' NA
  227. // 'AndroidIconCut' NA
  228. // 'AndroidIconPaste' NA
  229. 'AndroidIconTrash': s + 'ios7.icons.trashcan',
  230. 'AndroidIconEmail': s + 'mockup.misc.mail2',
  231. 'AndroidIconNew': s + 'ios7.misc.flagged',
  232. // 'AndroidIconImage' NA
  233. // 'AndroidIconUndo' NA
  234. // 'AndroidIconSharing' NA
  235. // 'AndroidIconDownload' NA
  236. // 'AndroidIconError' NA
  237. // 'AndroidIconWarning' NA
  238. //iOS mockups
  239. 'iOSDeviceiPhoneSE': s + 'ios7.misc.iphone',
  240. 'iOSDeviceiPhone6s': s + 'ios7.misc.iphone',
  241. 'iOSDeviceiPhone6sPlus': s + 'ios7.misc.iphone',
  242. 'iOSDeviceiPadPortrait': s + 'ios7.misc.ipad7inch',
  243. 'iOSDeviceiPadLandscape': s + 'ios7.misc.ipad7inch',
  244. 'iOSDeviceiPadProPortrait': s + 'ios7.misc.ipad7inch',
  245. 'iOSDeviceiPadProLandscape': s + 'ios7.misc.ipad10inch',
  246. //iOS UI components
  247. 'iOSButton': 'fillColor=none;strokeColor=none;',
  248. 'iOSSegmentedControl' : cs, //TODO
  249. 'iOSStepper': s + 'ios7.misc.adjust',
  250. 'iOSToggle': s + 'ios7ui.onOffButton;buttonState=on;strokeColor2=#aaaaaa;fillColor2=#ffffff',
  251. 'iOSSlider': cs,
  252. 'iOSProgressBar': cs,
  253. 'iOSPageControls': cs,
  254. 'iOSStatusBar' : cs,
  255. 'iOSSearchBar' : cs,
  256. 'iOSNavBar' : cs,
  257. 'iOSTabs' : cs,
  258. 'iOSUniversalKeyboard': s + 'ios.iKeybLett',
  259. 'iOSDatePicker' : cs,
  260. 'iOSTimePicker' : cs,
  261. 'iOSCountdownPicker' : cs,
  262. 'iOSBasicCell' : cs,
  263. 'iOSSubtitleCell' : cs,
  264. 'iOSRightDetailCell' : cs,
  265. 'iOSLeftDetailCell' : cs,
  266. 'iOSTableGroupedSectionBreak' : cs,
  267. 'iOSTablePlainHeaderFooter' : cs,
  268. //Mind Map
  269. 'MindMapBlock' : '',
  270. 'MindMapStadiumBlock' : 'arcSize=50',
  271. 'MindMapCloud' : 'shape=cloud',
  272. 'MindMapCircle' : 'shape=ellipse',
  273. 'MindMapIsoscelesTriangleBlock' : 'shape=triangle;direction=north',
  274. 'MindMapDiamondBlock' : 'shape=rhombus',
  275. 'MindMapPentagonBlock' : s + 'basic.pentagon',
  276. 'MindMapHexagonBlock' : 'shape=hexagon',
  277. 'MindMapOctagonBlock' : s + 'basic.octagon',
  278. 'MindMapCrossBlock' : s + 'basic.cross2;dx=20',
  279. //Entity Relationship
  280. 'ERDEntityBlock' : cs, //TODO
  281. 'ERDEntityBlock2' : cs, //TODO
  282. 'ERDEntityBlock3' : cs, //TODO
  283. 'ERDEntityBlock4' : cs, //TODO
  284. //Site Maps
  285. 'SMPage' : cs,
  286. 'SMHome' : cs,
  287. // 'SMGallery' NA
  288. // 'SMShopping' NA
  289. // 'SMMap' NA
  290. // 'SMAthletics' NA
  291. // 'SMLogin' NA
  292. 'SMPrint' : cs,
  293. // 'SMScript' NA
  294. 'SMSearch' : cs,
  295. 'SMSettings' : cs,
  296. 'SMSitemap' : cs,
  297. 'SMSuccess' : cs,
  298. 'SMVideo' : cs,
  299. 'SMAudio' : cs,
  300. // 'SMBlog' NA
  301. 'SMCalendar' : cs,
  302. 'SMChart' : cs,
  303. 'SMCloud' : cs,
  304. 'SMDocument' : cs,
  305. // 'SMDownload' NA
  306. // 'SMError' NA
  307. 'SMForm' : cs,
  308. 'SMGame' : cs,
  309. // 'SMJobs' NA
  310. // 'SMLucid' NA
  311. // 'SMNewspress' NA
  312. // 'SMPhoto' NA
  313. // 'SMPortfolio' NA
  314. // 'SMPricing' NA
  315. // 'SMProfile' NA
  316. // 'SMSlideshow' NA
  317. 'SMUpload' : cs,
  318. //UML Class Diagram
  319. 'UMLClassBlock': '',
  320. 'UMLActiveClassBlock': 'shape=process',
  321. // 'UMLMultiplicityBlock' NA
  322. 'UMLPackageBlock': 'shape=folder;tabPosition=left',
  323. // 'UMLConstraintBlock' NA
  324. 'UMLNoteBlock': 'shape=note;size=15',
  325. 'UMLTextBlock': 'shape=text;strokeColor=none;fillColor=none',
  326. //UML Use Case
  327. 'UMLActorBlock': 'shape=umlActor;labelPosition=center;verticalLabelPosition=bottom;verticalAlign=top;whiteSpace=nowrap',
  328. 'UMLUseCaseBlock': 'shape=ellipse',
  329. 'UMLCircleContainerBlock': 'shape=ellipse;container=1',
  330. 'UMLRectangleContainerBlock': 'container=1',
  331. //UML State/Activity
  332. 'UMLOptionLoopBlock' : s + 'sysml.package2;xSize=90;overflow=fill',
  333. 'UMLAlternativeBlock2' : s + 'sysml.package2;xSize=90;overflow=fill',
  334. 'UMLStartBlock' : 'shape=ellipse;fillColor=#000000',
  335. 'UMLStateBlock' : 'rounded=1;arcSize=20',
  336. 'UMLDecisionBlock' : 'shape=rhombus;',
  337. 'UMLHForkJoinBlock' : 'fillColor=#000000',
  338. 'UMLVForkJoinBlock' : 'fillColor=#000000',
  339. 'UMLFlowFinalBlock' : s + 'flowchart.or',
  340. 'UMLHistoryStateBlock' : 'shape=ellipse',
  341. 'UMLEndBlock' : s + 'bpmn.shape;outline=end;symbol=terminate;strokeColor=#000000;fillColor=#ffffff',
  342. 'UMLObjectBlock' : '',
  343. 'UMLSendSignalBlock' : s + 'sysml.sendSigAct',
  344. 'UMLReceiveSignalBlock' : s + 'sysml.accEvent;flipH=1',
  345. 'UMLAcceptTimeEventActionBlock' : s + 'sysml.timeEvent',
  346. // 'UMLInterruptingEdgeBlock' NA
  347. 'UMLOffPageLinkBlock' : s + 'sysml.sendSigAct;direction=south',
  348. // 'UMLExpansionNodeBlock' NA
  349. 'UMLMultiLanePoolBlock' : cs, //TODO
  350. 'UMLMultiLanePoolRotatedBlock' : cs, //TODO
  351. 'UMLMultidimensionalSwimlane' : cs, //TODO
  352. //UML Sequence
  353. 'UMLActivationBlock' : '',
  354. 'UMLDeletionBlock' : s + 'sysml.x;strokeWidth=4',
  355. // 'UMLAlternativeBlock' NA
  356. 'UMLSeqEntityBlock' : s + 'electrical.radio.microphone_1;direction=north',
  357. // 'UMLBoundaryBlock' NA
  358. // 'UMLControlBlock'NA
  359. //UML Component
  360. 'UMLComponentBlock' : 'shape=component;align=left;spacingLeft=36',
  361. 'UMLNodeBlock' : 'shape=cube;size=12;flipH=1',
  362. 'UMLComponentInterfaceBlock' : 'shape=ellipse',
  363. 'UMLComponentBoxBlock' : cs, //TODO
  364. // 'UMLAssemblyConnectorBlock' NA
  365. 'UMLProvidedInterfaceBlock' : 'shape=lollipop;direction=south',
  366. 'UMLRequiredInterfaceBlock' : 'shape=requires;direction=north',
  367. //UML Deployment
  368. //UML Entity Relationship
  369. 'UMLEntityBlock' : '',
  370. 'UMLWeakEntityBlock' : 'shape=ext;double=1',
  371. 'UMLAttributeBlock' : 'shape=ellipse',
  372. 'UMLMultivaluedAttributeBlock' : 'shape=doubleEllipse',
  373. 'UMLRelationshipBlock' : 'shape=rhombus',
  374. 'UMLWeakRelationshipBlock' : 'shape=rhombus;double=1',
  375. //BPMN 2.0
  376. 'BPMNActivity' : cs, //TODO
  377. // 'BPMNActivity' : cs, //TODO
  378. // 'BPMNEvent' : cs, //TODO
  379. // 'BPMNChoreography' : cs, //TODO
  380. // 'BPMNConversation' : cs, //TODO
  381. 'BPMNGateway' : cs, //TODO
  382. 'BPMNData' : cs, //TODO
  383. 'BPMNDataStore' : cs, //TODO
  384. 'BPMNAdvancedPoolBlock' : cs, //TODO
  385. 'BPMNAdvancedPoolBlockRotated' : cs, //TODO
  386. 'BPMNBlackPool' : cs, //TODO
  387. //Data Flow
  388. // 'DFDExternalEntityBlock' NA
  389. 'DFDExternalEntityBlock2' : '',
  390. 'YDMDFDProcessBlock' : 'shape=ellipse',
  391. 'YDMDFDDataStoreBlock' : 'shape=partialRectangle;right=0;left=0',
  392. 'GSDFDProcessBlock' : 'shape=swimlane;rounded=1;arcSize=10',
  393. 'GSDFDProcessBlock2' : '',
  394. // 'GSDFDDataStoreBlock' NA
  395. 'GSDFDDataStoreBlock2' : 'shape=partialRectangle;right=0',
  396. //Org Chart
  397. 'OrgBlock' : '',
  398. //Tables
  399. 'DefaultTableBlock' : cs, //TODO
  400. //Processes
  401. 'VSMCustomerSupplierBlock' : s + 'lean_mapping.outside_sources',
  402. 'VSMDedicatedProcessBlock' : s + 'lean_mapping.manufacturing_process',
  403. 'VSMSharedProcessBlock' : s + 'lean_mapping.manufacturing_process_shared',
  404. 'VSMWorkcellBlock' : s + 'lean_mapping.work_cell',
  405. 'VSMDatacellBlock' : cs, //TODO
  406. //Materials
  407. 'VSMInventoryBlock' : s + 'lean_mapping.inventory_box',
  408. 'VSMSupermarketBlock' : cs, //TODO
  409. 'VSMPhysicalPullBlock' : s + 'lean_mapping.physical_pull;direction=south',
  410. 'VSMFIFOLaneBlock' : s + 'lean_mapping.fifo_sequence_flow;fontStyle=0;fontSize=20',
  411. 'VSMSafetyBufferStockBlock' : cs, //TODO
  412. //Shipments
  413. 'VSMExternalShipmentAirplaneBlock' : s + 'lean_mapping.airplane_7',
  414. 'VSMExternalShipmentForkliftBlock' : s + 'lean_mapping.move_by_forklift',
  415. 'VSMExternalShipmentTruckBlock' : s + 'lean_mapping.truck_shipment',
  416. 'VSMExternalShipmentBoatBlock' : s + 'lean_mapping.boat_shipment',
  417. //Information
  418. 'VSMProductionControlBlock' : s + 'lean_mapping.manufacturing_process',
  419. 'VSMOtherInformationBlock' : '',
  420. // 'VSMHeijyunkaBoxBlock' NA
  421. 'VSMSequencedPullBallBlock' : s + 'lean_mapping.sequenced_pull_ball',
  422. 'VSMMRPERPBlock' : s + 'lean_mapping.mrp_erp;whiteSpace=wrap',
  423. 'VSMLoadLevelingBlock' : s + 'lean_mapping.load_leveling',
  424. 'VSMGoSeeBlock' : s + 'lean_mapping.go_see_production_scheduling;flipH=1',
  425. 'VSMGoSeeProductionBlock' : 'shape=ellipse',
  426. 'VSMVerbalInfoBlock' : s + 'lean_mapping.verbal',
  427. //Value Stream Mapping
  428. 'VSMKaizenBurstBlock' : s + 'lean_mapping.kaizen_lightening_burst',
  429. 'VSMOperatorBlock' : s + 'lean_mapping.operator;flipV=1',
  430. 'VSMTimelineBlock' : cs, //TODO
  431. 'VSMQualityProblemBlock' : s + 'lean_mapping.quality_problem',
  432. //Kanban
  433. 'VSMProductionKanbanSingleBlock' : s + 'lean_mapping.production_kanban',
  434. // 'VSMProductionKanbanBatchBlock' NA
  435. 'VSMWithdrawalKanbanBlock' : s + 'lean_mapping.withdrawal_kanban',
  436. // 'VSMWithdrawalKanbanBatchBlock' NA
  437. 'VSMSignalKanbanBlock' : s + 'lean_mapping.signal_kanban',
  438. 'VSMKanbanPostBlock' : s + 'lean_mapping.kanban_post',
  439. //Arrows
  440. 'VSMShipmentArrow': 'shape=singleArrow;arrowWidth=0.5;arrowSize=0.13',
  441. 'VSMPushArrow' : s + 'lean_mapping.push_arrow',
  442. 'VSMElectronicInformationArrow' : s + 'lean_mapping.electronic_info_flow_edge;', //TODO
  443. //EC2
  444. 'AWSElasticComputeCloudBlock2' : ss + 'aws3.ec2',
  445. 'AWSInstanceBlock2' : ss + 'aws3.instance',
  446. 'AWSInstancesBlock2' : ss + 'aws3.instances',
  447. 'AWSAMIBlock2' : ss + 'aws3.ami',
  448. 'AWSDBonInstanceBlock2' : ss + 'aws3.db_on_instance',
  449. 'AWSInstanceCloudWatchBlock2' : ss + 'aws3.instance_with_cloudwatch',
  450. 'AWSElasticIPBlock2' : ss + 'aws3.elastic_ip',
  451. 'AWSHDFSClusterBlock2' : ss + 'aws3.hdfs_cluster',
  452. 'AWSAutoScalingBlock2' : ss + 'aws3.auto_scaling',
  453. 'AWSEC2OptimizedInstance2' : ss + 'aws3.optimized_instance',
  454. 'AWSAmazonEC2(Spotinstance)' : ss + 'aws3.spot_instance',
  455. 'AWSAmazonECR' : ss + 'aws3.ecr',
  456. 'AWSAmazonECS' : ss + 'aws3.ecs',
  457. 'AWSLambda2' : ss + 'aws3.lambda',
  458. 'AWSElasticLoadBalancing' : ss + 'aws3.elastic_load_balancing',
  459. //Networking
  460. 'AWSElasticLoadBlock2' : ss + 'aws3.classic_load_balancer',
  461. 'AWSDirectConnectBlock3' : ss + 'aws3.direct_connect',
  462. 'AWSElasticNetworkBlock2' : ss + 'aws3.elastic_network_interface',
  463. 'AWSRoute53Block2' : ss + 'aws3.route_53',
  464. 'AWSHostedZoneBlock2' : ss + 'aws3.hosted_zone;fontColor=#FFFFFF;fontStyle=1',
  465. 'AWSRouteTableBlock2' : ss + 'aws3.route_table',
  466. 'AWSVPCBlock2' : ss + 'aws3.vpc',
  467. 'AWSVPNConnectionBlock2' : ss + 'aws3.vpn_connection',
  468. 'AWSVPNGatewayBlock2' : ss + 'aws3.vpn_gateway',
  469. 'AWSCustomerGatewayBlock2' : ss + 'aws3.customer_gateway',
  470. 'AWSCustomerGatewayBlock3' : ss + 'aws3.customer_gateway',
  471. 'AWSInternetGatewayBlock2' : ss + 'aws3.internet_gateway',
  472. 'AWSRouterBlock2' : ss + 'aws3.router',
  473. 'AWSRouterBlock3' : ss + 'aws3.router',
  474. 'AWSAmazonVPC(endpoints)' : ss + 'aws3.endpoints',
  475. 'AWSAmazonVPC(flowlogs)' : ss + 'aws3.flow_logs',
  476. 'AWSAmazonVPC(VPCNATgateway)' : ss + 'aws3.vpc_nat_gateway',
  477. 'AWSVPCPeering3' : ss + 'aws3.vpc_peering',
  478. //S3
  479. 'AWSSimpleStorageBlock2' : ss + 'aws3.s3',
  480. 'AWSBucketBlock2' : ss + 'aws3.bucket;fontStyle=1;fontColor=#ffffff',
  481. 'AWSBuckethWithObjectsBlock2' : ss + 'aws3.bucket_with_objects',
  482. 'AWSObjectBlock2' : ss + 'aws3.object;fontStyle=1;fontColor=#ffffff',
  483. 'AWSImportExportBlock2' : ss + 'aws3.import_export',
  484. 'AWSStorageGatewayBlock2' : ss + 'aws3.storage_gateway',
  485. 'AWSElasticBlockStorageBlock2' : ss + 'aws3.volume;fontStyle=1;fontColor=#ffffff',
  486. 'AWSVolumeBlock3' : ss + 'aws3.volume;fontStyle=1;fontColor=#ffffff',
  487. 'AWSSnapshotBlock2' : ss + 'aws3.snapshot;fontStyle=1;fontColor=#ffffff',
  488. 'AWSGlacierArchiveBlock3' : ss + 'aws3.archive',
  489. 'AWSGlacierVaultBlock3' : ss + 'aws3.vault',
  490. 'AWSAmazonEFS' : ss + 'aws3.efs',
  491. 'AWSGlacierBlock2' : ss + 'aws3.glacier',
  492. 'AWSAWSImportExportSnowball' : ss + 'aws3.snowball',
  493. 'AWSStorageGatewayCachedVolumn2' : ss + 'aws3.cached_volume',
  494. 'AWSStorageGatewayNon-CachedVolumn2' : ss + 'aws3.non_cached_volume',
  495. 'AWSStorageGatewayVirtualTapeLibrary2' : ss + 'aws3.virtual_tape_library',
  496. //Content Delivery
  497. 'AWSCloudFrontBlock2' : ss + 'aws3.cloudfront',
  498. 'AWSDownloadDistBlock2' : ss + 'aws3.download_distribution',
  499. 'AWSStreamingBlock2' : ss + 'aws3.streaming_distribution',
  500. 'AWSEdgeLocationBlock2' : ss + 'aws3.edge_location',
  501. //Database
  502. 'AWSItemBlock2' : ss + 'aws3.item',
  503. 'AWSItemsBlock2' : ss + 'aws3.items',
  504. 'AWSAttributeBlock2' : ss + 'aws3.attribute',
  505. 'AWSAttributesBlock2' : ss + 'aws3.attributes',
  506. 'AWSRDBSBlock2' : ss + 'aws3.rds',
  507. 'AWSRDSInstanceBlock2' : ss + 'aws3.rds_db_instance',
  508. 'AWSRDSStandbyBlock2' : ss + 'aws3.rds_db_instance_standby_multi_az',
  509. 'AWSRDSInstanceReadBlock2' : ss + 'aws3.rds_db_instance_read_replica',
  510. 'AWSOracleDBBlock2' : ss + 'aws3.oracle_db_instance',
  511. 'AWSMySQLDBBlock2' : ss + 'aws3.mysql_db_instance',
  512. 'AWSDynamoDBBlock2' : ss + 'aws3.dynamo_db',
  513. 'AWSSimpleDatabaseBlock3' : ss + 'aws2.database.simpledb',
  514. 'AWSSimpleDatabaseDomainBlock3' : ss + 'aws2.database.simpledb_domain',
  515. 'AWSTableBlock2' : ss + 'aws3.table',
  516. 'AWSAmazonRedShiftBlock3' : ss + 'aws3.redshift',
  517. 'AWSElastiCacheNodeBlock2' : ss + 'aws3.cache_node',
  518. 'AWSElastiCacheBlock2' : ss + 'aws3.elasticache',
  519. 'AWSDynamoDBGlobalSecondaryIndexes2' : ss + 'aws3.global_secondary_index',
  520. 'AWSAmazonElastiCacheMemcache2' : ss + 'aws3.memcached',
  521. 'AWSAmazonElastiCacheRedis2' : ss + 'aws3.redis',
  522. 'AWSAmazonRDSMSSQLInstance2' : ss + 'aws3.ms_sql_instance_2',
  523. 'AWSMSSQLDBBlock3' : ss + 'aws3.ms_sql_instance',
  524. 'AWSAmazonRDSMySQLDBInstance2' : ss + 'aws3.mysql_db_instance_2',
  525. 'AWSAmazonRDSOracleDBInstance2' : ss + 'aws3.oracle_db_instance_2',
  526. 'AWSRDSReplicasetswithPIOP2' : ss + 'aws3.piop',
  527. 'AWSAmazonRDSPostgreSQL2' : ss + 'aws3.postgre_sql_instance',
  528. 'AWSRDSMasterSQL2' : ss + 'aws3.sql_master',
  529. 'AWSRDSSlaveSQL2' : ss + 'aws3.sql_slave',
  530. 'AWSAmazonRedshift(densecomputenode)' : ss + 'aws3.dense_compute_node',
  531. 'AWSAmazonRedshift(densestoragenode)' : ss + 'aws3.dense_storage_node',
  532. 'AWSAWSDatabaseMigrationService' : ss + 'aws3.database_migration_service',
  533. //Security Identity
  534. 'AWSACM' : ss + 'aws3.certificate_manager',
  535. 'AWSAmazonInspector' : ss + 'aws3.inspector',
  536. 'AWSAWSCloudHSM' : ss + 'aws3.cloudhsm',
  537. 'AWSDirectoryService2' : ss + 'aws3.directory_service',
  538. 'AWSAWSKMS' : ss + 'aws3.kms',
  539. 'AWSAWSWAF' : ss + 'aws3.waf',
  540. 'AWSACM(certificate-manager)' : ss + 'aws3.certificate_manager_2',
  541. //App Services
  542. 'AWSSESBlock2' : ss + 'aws3.ses',
  543. 'AWSEmailBlock2' : ss + 'aws3.email',
  544. 'AWSSNSBlock2' : ss + 'aws3.sns',
  545. 'AWSSQSBlock3' : ss + 'aws3.sqs',
  546. 'AWSQueueBlock2' : ss + 'aws3.queue',
  547. 'AWSMessageBlock2' : ss + 'aws3.message',
  548. 'AWSDeciderBlock2' : ss + 'aws3.decider',
  549. 'AWSSWFBlock2' : ss + 'aws3.swf',
  550. 'AWSWorkerBlock2' : ss + 'aws3.worker',
  551. 'AWSCloudSearchBlock2' : ss + 'aws3.cloudsearch',
  552. 'AWSCloudSearchMetadataBlock3' : ss + 'aws3.search_documents',
  553. 'AWSElasticTranscoder3' : ss + 'aws3.elastic_transcoder',
  554. 'AWSAmazonAPIGateway' : ss + 'aws3.api_gateway',
  555. 'AWSAppStream2' : ss + 'aws3.appstream',
  556. //Deployment
  557. 'AWSCloudFormationBlock2' : ss + 'aws3.cloudformation',
  558. 'AWSDataPipelineBlock3' : ss + 'aws3.data_pipeline',
  559. 'AWSDataPipelineBlock2' : ss + 'aws3.data_pipeline',
  560. 'AWSTemplageBlock2' : ss + 'aws3.template',
  561. 'AWSStackBlock2' : ss + 'aws3.stack_aws_cloudformation',
  562. 'AWSBeanStockBlock2' : ss + 'aws3.elastic_beanstalk',
  563. 'AWSApplicationBlock2' : ss + 'aws3.application',
  564. 'AWSBeanstalkDeploymentBlock3' : ss + 'aws3.deployment',
  565. 'AWSIAMBlock3' : ss + 'aws3.iam',
  566. 'AWSIAMSTSBlock3' : ss + 'aws3.sts',
  567. 'AWSIAMAddonBlock2' : ss + 'aws3.add_on',
  568. 'AWSCloudWatchBlock3' : ss + 'aws3.cloudwatch',
  569. 'AWSCloudWatchAlarmBlock2' : ss + 'aws3.alarm',
  570. 'AWSIAMSecurityTokenService2' : ss + 'aws3.sts_2',
  571. 'AWSIAMDataEncryptionKey2' : ss + 'aws3.data_encryption_key',
  572. 'AWSIAMEncryptedData2' : ss + 'aws3.encrypted_data',
  573. 'AWSAWSIAM(long-termsecuritycredential)' : ss + 'aws3.long_term_security_credential',
  574. 'AWSIAMMFAToken2' : ss + 'aws3.mfa_token',
  575. 'AWSIAMPermissions2' : ss + 'aws3.permissions_2',
  576. 'AWSIAMRoles2' : ss + 'aws3.role',
  577. 'AWSAWSIAM(temporarysecuritycredential)' : ss + 'aws3.long_term_security_credential',
  578. 'AWSCloudTrail2' : ss + 'aws3.cloudtrail',
  579. 'AWSConfig2' : ss + 'aws3.config',
  580. 'AWSOpsWorksBlock3' : ss + 'aws3.opsworks',
  581. 'AWSAWSServiceCatalog' : ss + 'aws3.service_catalog',
  582. 'AWSTrustedAdvisor2' : ss + 'aws3.trusted_advisor',
  583. 'AWSOpsWorksApps2' : ss + 'aws3.apps',
  584. 'AWSOpsWorksDeployments2' : ss + 'aws3.deployments',
  585. 'AWSOpsWorksInstances2' : ss + 'aws3.instances_2',
  586. 'AWSOpsWorksLayers2' : ss + 'aws3.layers',
  587. 'AWSOpsWorksMonitoring2' : ss + 'aws3.monitoring',
  588. 'AWSOpsWorksPermissions2' : ss + 'aws3.permissions',
  589. 'AWSOpsWorksResources2' : ss + 'aws3.resources',
  590. 'AWSOpsWorksStack2' : ss + 'aws3.stack_aws_opsworks',
  591. //On-Demand
  592. 'AWSMechanicalTurkBlock3' : ss + 'aws3.mechanical_turk',
  593. 'AWSHumanITBlock2' : ss + 'aws3.human_intelligence_tasks_hit',
  594. 'AWSAssignmentTaskBlock2' : ss + 'aws3.requester',
  595. 'AWSWorkersBlock2' : ss + 'aws3.users',
  596. 'AWSRequesterBlock2' : ss + 'aws3.assignment_task',
  597. //SDKs
  598. 'AWSAndroidBlock3': ss + 'aws3.android;fillColor=#96BF3D',
  599. 'AWSiOSBlock3' : ss + 'aws3.android;fillColor=#CFCFCF',
  600. 'AWSJavaBlock3' : ss + 'aws3.android;fillColor=#EE472A',
  601. 'AWSJavaScript' : ss + 'aws3.android;fillColor=#205E00',
  602. 'AWSNetBlock3' : ss + 'aws3.android;fillColor=#115193',
  603. 'AWSNodeJSBlock3' : ss + 'aws3.android;fillColor=#8CC64F',
  604. 'AWSPHPBlock3' : ss + 'aws3.android;fillColor=#5A69A4',
  605. 'AWSPythonBlock3' : ss + 'aws3.android;fillColor=#FFD44F',
  606. 'AWSRubyBlock3' : ss + 'aws3.android;fillColor=#AE1F23',
  607. 'AWSXamarin' : ss + 'aws3.android;fillColor=#4090D7',
  608. 'AWSCLIBlock3' : ss + 'aws3.cli;fillColor=#444444',
  609. 'AWSEclipseToolkitBlock3' : ss + 'aws3.toolkit_for_eclipse;fillColor=#342074',
  610. 'AWSVisualStudioToolkitBlock3' : ss + 'aws3.toolkit_for_visual_studio;fillColor=#53B1CB',
  611. 'AWSWindowsPowershellToolkitBlock3' : ss + 'aws3.toolkit_for_windows_powershell;fillColor=#737373',
  612. //Analytics
  613. 'AWSAmazonElasticsearchService' : ss + 'aws3.elasticsearch_service',
  614. 'AWSElasticMapReduceBlock2' : ss + 'aws3.emr',
  615. 'AWSClusterBlock2' : ss + 'aws3.emr_cluster',
  616. 'AWSEMREngine2' : ss + 'aws3.emr_engine',
  617. 'AWSEMRMapRM3Engine2' : ss + 'aws3.emr_engine_mapr_m3',
  618. 'AWSEMRMapRM5Engine2' : ss + 'aws3.emr_engine_mapr_m5',
  619. 'AWSEMRMapRM7Engine2' : ss + 'aws3.emr_engine_mapr_m7',
  620. 'AWSKinesis2' : ss + 'aws3.kinesis',
  621. 'AWSAmazonKinesis(AmazonKinesisAnalytics)' : ss + 'aws3.kinesis',
  622. 'AWSKinesisEnabledApp2' : ss + 'aws3.kinesis_enabled_app',
  623. 'AWSAmazonKinesis(AmazonKinesisFirehose)' : ss + 'aws3.kinesis_firehose',
  624. 'AWSAmazonKinesis(AmazonKinesisStreams)' : ss + 'aws3.kinesis_streams',
  625. 'AWSAmazonMachineLearning' : ss + 'aws3.machine_learning',
  626. 'AWSAmazonQuickSight' : ss + 'aws3.quicksight',
  627. //Mobile Services
  628. 'AWSCognito2' : ss + 'aws3.cognito',
  629. 'AWSMobileAnalytics2' : ss + 'aws3.mobile_analytics',
  630. 'AWSAWSDeviceFarm' : ss + 'aws3.device_farm',
  631. 'AWSAWSMobileHub' : ss + 'aws3.mobile_hub;gradientColor=#AD688A;gradientDirection=east',
  632. 'AWSTopicBlock2' : ss + 'aws3.topic_2;fontStyle=1;fontColor=#ffffff;verticalAlign=top;spacingTop=-5',
  633. 'AWSEmailNotificationBlock2' : ss + 'aws3.email_notification',
  634. 'AWSHTTPNotificationBlock2' : ss + 'aws3.http_notification',
  635. //Developer Tools
  636. 'AWSAWSCodeCommit' : ss + 'aws3.codecommit',
  637. 'AWSCodeDeploy2' : ss + 'aws3.codedeploy',
  638. 'AWSAWSCodePipeline' : ss + 'aws3.codepipeline',
  639. //Enterprise Application
  640. 'AWSWorkDocs2' : ss + 'aws3.workdocs',
  641. 'AWSAmazonWorkMail' : ss + 'aws3.workmail',
  642. 'AWSAmazonWorkSpaces2' : ss + 'aws3.workspaces',
  643. //Internet of Things
  644. 'AWSAWSIoT' : ss + 'aws3.aws_iot',
  645. 'AWSAWSIoT(action)' : ss + 'aws3.action',
  646. 'AWSAWSIoT(actuator)' : ss + 'aws3.actuator',
  647. 'AWSAWSIoT(certificate)' : ss + 'aws3.certificate',
  648. 'AWSAWSIoT(desiredstate)' : ss + 'aws3.desired_state',
  649. 'AWSAWSIoT(hardwareboard)' : ss + 'aws3.hardware_board',
  650. 'AWSAWSIoT(HTTP2protocol)' : ss + 'aws3.http_2_protocol',
  651. 'AWSAWSIoT(HTTPprotocol)' : ss + 'aws3.http_protocol',
  652. 'AWSAWSIoT(MQTTprotocol)' : ss + 'aws3.mqtt_protocol',
  653. 'AWSAWSIoT(policy)' : ss + 'aws3.policy',
  654. 'AWSAWSIoT(reportedstate)' : ss + 'aws3.reported_state',
  655. 'AWSAWSIoT(rule)' : ss + 'aws3.rule',
  656. 'AWSAWSIoT(sensor)' : ss + 'aws3.sensor',
  657. 'AWSAWSIoT(servo)' : ss + 'aws3.servo',
  658. 'AWSAWSIoT(shadow)' : ss + 'aws3.shadow',
  659. 'AWSAWSIoT(simulator)' : ss + 'aws3.simulator',
  660. 'AWSAWSIoT(thingbank)' : ss + 'aws3.bank',
  661. 'AWSAWSIoT(thingbicycle)' : ss + 'aws3.bicycle',
  662. 'AWSAWSIoT(thingcamera)' : ss + 'aws3.camera',
  663. 'AWSAWSIoT(thingcar)' : ss + 'aws3.car',
  664. 'AWSAWSIoT(thingcart)' : ss + 'aws3.cart',
  665. 'AWSAWSIoT(thingcoffeepot)' : ss + 'aws3.coffee_pot',
  666. 'AWSAWSIoT(thingdoorlock)' : ss + 'aws3.door_lock',
  667. 'AWSAWSIoT(thingfactory)' : ss + 'aws3.factory',
  668. 'AWSAWSIoT(thinggeneric)' : ss + 'aws3.generic',
  669. 'AWSAWSIoT(thinghouse)' : ss + 'aws3.house',
  670. 'AWSAWSIoT(thinglightbulb)' : ss + 'aws3.lightbulb',
  671. 'AWSAWSIoT(thingmedicalemergency)' : ss + 'aws3.medical_emergency',
  672. 'AWSAWSIoT(thingpoliceemergency)' : ss + 'aws3.police_emergency',
  673. 'AWSAWSIoT(thingthermostat)' : ss + 'aws3.thermostat',
  674. 'AWSAWSIoT(thingtravel)' : ss + 'aws3.travel',
  675. 'AWSAWSIoT(thingutility)' : ss + 'aws3.utility',
  676. 'AWSAWSIoT(thingwindfarm)' : ss + 'aws3.windfarm',
  677. 'AWSAWSIoT(topic)' : ss + 'aws3.topic',
  678. //AWS General
  679. 'AWSCloudBlock2' : ss + 'aws3.cloud',
  680. 'AWSVPCloudBlock3' : ss + 'aws3.virtual_private_cloud',
  681. 'AWSUserBlock2' : ss + 'aws3.user',
  682. 'AWSUsersBlock2' : ss + 'aws3.users',
  683. 'AWSClientBlock2' : ss + 'aws3.management_console',
  684. 'AWSMobileClientBlock2' : ss + 'aws3.mobile_client',
  685. 'AWSGenericDatabaseBlock3' : ss + 'aws3.generic_database',
  686. 'AWSDiskBlock3' : ss + 'aws3.disk',
  687. 'AWSTapeStorageBlock3' : ss + 'aws3.tape_storage',
  688. 'AWSMediaBlock2' : ss + 'aws3.multimedia',
  689. 'AWSDataCenterBlock2' : ss + 'aws3.corporate_data_center',
  690. 'AWSServerBlock2' : ss + 'aws3.traditional_server',
  691. 'AWSInternetBlock2' : ss + 'aws2.non-service_specific.internet',
  692. 'AWSForumsBlock3' : ss + 'aws3.forums',
  693. 'AWSManagementBlock2' : ss + 'aws3.management_console',
  694. 'AWSAmazonElasticCacheNode2' : ss + 'aws3.cache_node',
  695. 'AWSAmazonRedshiftDW1Cluster2' : ss + 'aws3.dense_compute_node',
  696. 'AWSAmazonRedshiftDW2Cluster2' : ss + 'aws3.dense_storage_node',
  697. 'AWSAmazonRedshiftSSDFamilyCluster2' : ss + 'aws3.dense_storage_node',
  698. 'AWSAmazonRoute53RouteTable2' : ss + 'aws3.route_table',
  699. // 'AWSExampleIAMBlock2' NA
  700. 'AWSSubnetBlock2' : ss + 'aws3.permissions',
  701. //AWS Containers
  702. 'AWSRoundedRectangleContainerBlock2' : cs, //TODO
  703. //Azure Cloud
  704. 'ACAccessControlBlock' : ss + 'azure.access_control',
  705. 'ACAPIAppsBlock' : ss + 'mscae.cloud.api_app',
  706. 'ACAPIManagementBlock' : ss + 'mscae.cloud.api_management',
  707. 'ACAppInsightsBlock' : ss + 'mscae.cloud.application_insights',
  708. 'ACAppServicesBlock' : ss + 'mscae.cloud.app_service',
  709. 'ACAutoscalingBlock' : ss + 'azure.autoscale',
  710. 'ACAzureActiveDirectoryBlock' : ss + 'azure.azure_active_directory',
  711. 'ACAzurealertBlock' : ss + 'azure.azure_alert',
  712. 'ACAzureAutomationBlock' : ss + 'azure.automation',
  713. 'ACAzureBatchBlock' : ss + 'mscae.cloud.azure_batch',
  714. 'ACAzureRedisBlock' : ss + 'azure.azure_cache',
  715. 'ACAzureFilesBlock' : ss + 'mscae.cloud.azure_files_service',
  716. 'ACAzureloadbalancerBlock' : ss + 'mscae.cloud.azure_automatic_load_balancer',
  717. 'ACAzureMarketplaceBlock' : ss + 'azure.azure_marketplace',
  718. 'ACAzureRightManagementRMSBlock' : ss + 'mscae.cloud.azure_rights_management_rms',
  719. 'ACAzureSDKBlock' : ss + 'azure.azure_sdk',
  720. 'ACAzureSearchBlock' : ss + 'mscae.cloud.azure_search',
  721. 'ACAzureSQLdatabaseBlock' : ss + 'azure.sql_database_sql_azure',
  722. 'ACAzuresubscriptionBlock' : ss + 'azure.azure_subscription',
  723. 'ACAzureWebsitesBlock' : ss + 'azure.azure_website',
  724. 'ACBackupServiceBlock' : ss + 'azure.backup_service',
  725. 'ACBitbucketcodesourceBlock' : ss + 'azure.bitbucket_code_source',
  726. 'ACBizTalkServicesBlock' : ss + 'azure.biztalk_services',
  727. 'ACCloudServiceBlock' : ss + 'azure.cloud_service',
  728. 'ACCodePlexBlock' : ss + 'azure.codeplex_code_source',
  729. // 'ACComputeBlock' NA
  730. 'ACContentDeliveryNetworkBlock' : ss + 'azure.content_delivery_network',
  731. 'ACDataFactoryBlock' : ss + 'mscae.cloud.data_factory',
  732. // 'ACDataservicesBlock' NA
  733. 'ACDocumentDBBlock' : ss + 'mscae.cloud.documentdb',
  734. 'ACDropboxcodesourceBlock' : ss + 'azure.dropbox_code_source',
  735. 'ACEventsHubBlock' : ss + 'mscae.cloud.event_hubs',
  736. 'ACExpressRouteBlock' : ss + 'azure.express_route',
  737. 'ACGitHubBlock' : ss + 'azure.github_code',
  738. 'ACGitrepositoryBlock' : ss + 'azure.git_repository',
  739. 'ACHDInsightBlock' : ss + 'mscae.cloud.hdinsight',
  740. 'ACHealthmonitoringBlock' : ss + 'azure.health_monitoring',
  741. 'ACHealthyBlock' : ss + 'azure.healthy',
  742. 'ACHybridConnectionBlock' : ss + 'mscae.cloud.hybrid_connections',
  743. 'ACBizTalkhybridconnectionBlock' : ss + 'mscae.cloud.hybrid_connection_manager',
  744. 'ACKeyVaultBlock' : ss + 'mscae.cloud.key_vault',
  745. 'ACLogicAppBlock' : ss + 'mscae.cloud.logic_app',
  746. 'ACMachineLearningBlock' : ss + 'mscae.cloud.machine_learning',
  747. 'ACMediaServicesBlock' : ss + 'azure.media_service',
  748. 'ACMicrosoftaccountBlock' : ss + 'mscae.cloud.microsoft_account',
  749. 'ACMicrosoftAzureBlock' : ss + 'mscae.cloud.microsoft_azure',
  750. 'ACMobileEngagementBlock' : ss + 'mscae.cloud.mobile_engagement',
  751. 'ACMobileServicesBlock' : ss + 'mscae.cloud.mobile_app',
  752. 'ACMultiFactorAuthBlock' : ss + 'azure.multi_factor_authentication',
  753. 'ACMySQLdatabaseBlock' : ss + 'azure.mysql_database',
  754. 'ACNotificationHubsBlock' : ss + 'azure.notification_hub',
  755. 'ACNotificationtopicBlock' : ss + 'azure.notification_topic',
  756. 'ACOperationalInsightsBlock' : ss + 'mscae.cloud.operational_insights',
  757. 'ACOSimageBlock' : ss + 'azure.operating_system_image',
  758. 'ACRemoteAppBlock' : ss + 'mscae.cloud.remoteapp',
  759. 'ACrpdRemotingfileBlock' : ss + 'azure.rdp_remoting_file',
  760. 'ACSchedulerBlock' : ss + 'azure.scheduler',
  761. 'ACServiceBusBlock' : ss + 'azure.service_bus',
  762. 'ACServiceBusQueueBlock' : ss + 'azure.service_bus_queues',
  763. 'ACServiceBusRelayBlock' : ss + 'azure.service_bus_relay',
  764. 'ACServiceBusTopicBlock' : ss + 'azure.service_bus_topics_and_subscriptions',
  765. 'ACServiceEndpointBlock' : ss + 'mscae.cloud.service_endpoint',
  766. 'ACServicepackageBlock' : ss + 'mscae.cloud.service_package',
  767. 'ACSiteRecoveryBlock' : ss + 'azure.hyper_v_recovery_manager',
  768. 'ACSQLdatabasegenericBlock' : ss + 'azure.sql_database',
  769. // 'ACSQLDatabasePremiumBlock' NA
  770. 'ACSQLdatasyncBlock' : ss + 'azure.sql_datasync',
  771. 'ACSQLreportingdeprecatedBlock' : ss + 'azure.sql_reporting',
  772. 'ACStartuptaskBlock' : ss + 'azure.startup_task',
  773. 'ACStorageAzureBlock' : ss + 'mscae.cloud.azure_storage',
  774. 'ACStorageblobBlock' : ss + 'azure.storage_blob',
  775. 'ACStoragequeueBlock' : ss + 'azure.storage_queue',
  776. 'ACStoragetableBlock' : ss + 'azure.storage_table',
  777. 'ACStorSimpleBlock' : ss + 'azure.storsimple',
  778. 'ACStreamAnalyticsBlock' : ss + 'mscae.cloud.stream_analytics',
  779. 'ACTrafficManagerBlock' : ss + 'azure.traffic_manager',
  780. 'ACAlienBlock' : ss + 'azure.unidentified_code_object',
  781. 'ACVHDBlock' : ss + 'azure.vhd',
  782. 'ACVHDdatadiskBlock' : ss + 'azure.vhd_data_disk',
  783. 'ACVirtualmachineBlock' : ss + 'azure.virtual_machine',
  784. 'ACVirtualmachinecontainerBlock' : ss + 'mscae.cloud.virtual_machine_container',
  785. 'ACVirtualnetworkBlock' : ss + 'azure.virtual_network',
  786. 'ACVisualStudioOnlineBlock' : ss + 'azure.visual_studio_online',
  787. 'ACVMsymbolonlyBlock' : ss + 'azure.virtual_machine_feature',
  788. 'ACWebJobsBlock' : ss + 'mscae.cloud.webjobs',
  789. 'ACWebroleBlock' : ss + 'azure.web_role',
  790. 'ACWebrolesBlock' : ss + 'azure.web_roles',
  791. 'ACWorkaccountBlock' : ss + 'mscae.cloud.work_account',
  792. 'ACWorkerroleBlock' : ss + 'azure.worker_role',
  793. 'ACWorkerrolesBlock' : ss + 'azure.worker_roles',
  794. 'ADNSBlock' : ss + 'mscae.cloud.azure_dns',
  795. // 'AGatewayBlock' NA
  796. 'ACLoadBalancerBlock' : ss + 'mscae.cloud.azure_load_balancer_feature',
  797. 'ACResourceGroupBlock' : ss + 'mscae.cloud.resource_group',
  798. 'ACVPNGatewayBlock' : ss + 'mscae.cloud.vpn_gateway',
  799. //Azure Enterprise
  800. 'AEActiveDirectoryFSPBlock' : ss + 'mscae.enterprise.d',
  801. 'AEADFSBlock' : ss + 'mscae.enterprise.ad_fs',
  802. 'AEAndroidPhoneBlock' : ss + 'mscae.enterprise.android_phone',
  803. 'AEappblankfortextBlock' : ss + 'mscae.enterprise.application_blank',
  804. 'AEAppGenericBlock' : ss + 'mscae.enterprise.app_generic',
  805. 'AEAppserverBlock' : ss + 'mscae.enterprise.application_server',
  806. 'AEBackuplocalBlock' : ss + 'mscae.enterprise.backup_local',
  807. 'AEBackuponlineBlock' : ss + 'mscae.enterprise.backup_online',
  808. 'AECalendarBlock' : ss + 'mscae.general.calendar',
  809. 'AECertificateBlock' : ss + 'azure.certificate',
  810. 'AEClientAppBlock' : ss + 'mscae.enterprise.client_application',
  811. 'AECloudBlock' : ss + 'mscae.enterprise.internet',
  812. 'AEClusterserverBlock' : ss + 'mscae.enterprise.cluster_server',
  813. 'AECodefileBlock' : ss + 'azure.code_file',
  814. 'AEConnectorsBlock' : ss + 'mscae.enterprise.connectors',
  815. 'AEDatabasegenericBlock' : ss + 'mscae.enterprise.database_generic',
  816. 'AEDatabaseserverBlock' : ss + 'mscae.enterprise.database_server',
  817. 'AEDatabasesyncBlock' : ss + 'mscae.enterprise.database_synchronization',
  818. 'AEDeviceBlock' : ss + 'mscae.enterprise.device',
  819. 'AEDirectaccessBlock' : ss + 'mscae.enterprise.direct_access_feature',
  820. 'AEDocumentBlock' : ss + 'mscae.enterprise.document',
  821. 'AEDomaincontrollerBlock' : ss + 'mscae.enterprise.domain_controller',
  822. 'AEEnterpriseBuildingBlock' : ss + 'azure.enterprise',
  823. 'AEFilegeneralBlock' : ss + 'azure.file',
  824. 'AEFilterBlock' : ss + 'mscae.enterprise.filter',
  825. 'AEFirewallBlock' : ss + 'mscae.enterprise.firewall',
  826. 'AEFolderBlock' : ss + 'mscae.enterprise.folder',
  827. 'AEGatewayBlock' : ss + 'mscae.enterprise.gateway',
  828. 'AEGenericcodeBlock' : ss + 'azure.code_file',
  829. 'AEGraphBlock' : ss + 'mscae.general.graph',
  830. 'AEHealthmonitoringBlock' : ss + 'azure.health_monitoring',
  831. 'AEHealthyBlock' : ss + 'azure.healthy',
  832. 'AEImportgenericBlock' : ss + 'mscae.enterprise.import_generic',
  833. 'AEInternetBlock' : ss + 'mscae.enterprise.internet',
  834. 'AEKeyboardBlock' : ss + 'mscae.enterprise.keyboard',
  835. 'AEKeypermissionsBlock' : ss + 'mscae.enterprise.key_permissions',
  836. 'AELaptopcomputerBlock' : ss + 'azure.laptop',
  837. 'AELoadbalancerBlock' : ss + 'azure.load_balancer_generic',
  838. 'AELoadTestingBlock' : ss + 'mscae.enterprise.load_testing',
  839. 'AELockprotectedBlock' : ss + 'mscae.enterprise.lock',
  840. 'AELockunprotectedBlock' : ss + 'mscae.enterprise.lock_unlocked',
  841. 'AEMaintenanceBlock' : ss + 'mscae.enterprise.maintenance',
  842. 'AEManagementconsoleBlock' : ss + 'mscae.enterprise.management_console',
  843. 'AEMessageBlock' : ss + 'azure.message',
  844. 'AEMonitorBlock' : ss + 'azure.computer',
  845. 'AEMonitorrunningappsBlock' : ss + 'mscae.enterprise.monitor_running_apps',
  846. 'AEMouseBlock' : ss + 'mscae.enterprise.mouse',
  847. 'AENetworkcardBlock' : ss + 'mscae.enterprise.network_card',
  848. 'AENotallowedBlock' : ss + 'mscae.general.not_allowed',
  849. 'AEPerformanceBlock' : ss + 'mscae.enterprise.performance',
  850. 'AEPerformancemonitorBlock' : ss + 'mscae.enterprise.performance_monitor',
  851. 'AEPhoneBlock' : ss + 'azure.mobile',
  852. 'AEPlugandplayBlock' : ss + 'mscae.enterprise.plug_and_play',
  853. 'AEPowershellscriptfileBlock' : ss + 'azure.powershell_file',
  854. 'AEProtocolstackBlock' : ss + 'mscae.enterprise.protocol_stack',
  855. 'AEQueuegeneralBlock' : ss + 'azure.queue_generic',
  856. 'AERMSconnectorBlock' : ss + 'mscae.enterprise.rms_connector',
  857. 'AERouterBlock' : ss + 'mscae.enterprise.router',
  858. 'AEScriptfileBlock' : ss + 'azure.script_file',
  859. 'AESecurevirtualmachineBlock' : ss + 'mscae.enterprise.secure_virtual_machine',
  860. 'AEServerbladeBlock' : ss + 'azure.server',
  861. 'AEServerdirectoryBlock' : ss + 'mscae.enterprise.server_directory',
  862. 'AEServerfarmBlock' : ss + 'mscae.enterprise.server_farm',
  863. 'AEServergenericBlock' : ss + 'mscae.enterprise.server_generic',
  864. 'AEServerrackBlock' : ss + 'azure.server_rack',
  865. 'AESettingsBlock' : ss + 'mscae.enterprise.settings',
  866. 'AESharedfolderBlock' : ss + 'mscae.enterprise.shared_folder',
  867. 'AESmartcardBlock' : ss + 'mscae.enterprise.smartcard',
  868. 'AEStorageBlock' : ss + 'mscae.enterprise.storage',
  869. 'AETableBlock' : ss + 'mscae.enterprise.table',
  870. 'AETabletBlock' : ss + 'azure.tablet',
  871. 'AEToolBlock' : ss + 'mscae.enterprise.tool',
  872. 'AETunnelBlock' : ss + 'mscae.general.tunnel',
  873. 'AEUnhealthyBlock' : ss + 'mscae.enterprise.unhealthy',
  874. 'AEUSBBlock' : ss + 'mscae.enterprise.usb',
  875. 'AEUserBlock' : ss + 'azure.user',
  876. 'AEVideoBlock' : ss + 'mscae.general.video',
  877. 'AEVirtualmachineBlock' : ss + 'azure.virtual_machine_feature',
  878. 'AEWebBlock' : ss + 'mscae.enterprise.web',
  879. 'AEWebserverBlock' : ss + 'mscae.enterprise.web_server',
  880. 'AEWindowsserverBlock' : ss + 'mscae.enterprise.windows_server',
  881. 'AEWirelessconnectionBlock' : ss + 'mscae.enterprise.wireless_connection',
  882. 'AEWorkstationclientBlock' : ss + 'mscae.enterprise.workstation_client',
  883. 'AEXMLwebserviceBlock' : ss + 'mscae.enterprise.xml_web_service',
  884. 'AGSAudioBlock' : ss + 'mscae.general.audio',
  885. 'AGSBugBlock' : ss + 'mscae.general.bug',
  886. 'AGSCablesettopTVboxBlock' : ss + 'mscae.general.cable_settop_tv_box',
  887. 'AGSCalendarBlock' : ss + 'mscae.general.calendar',
  888. 'AGSChartBlock' : ss + 'mscae.general.chart',
  889. 'AGSCheckmarkSuccessBlock' : ss + 'mscae.general.checkmark',
  890. 'AGSContinousCycleCircleBlock' : ss + 'mscae.general.continuous_cycle',
  891. 'AGSCrossoutFailureBlock' : ss + 'mscae.general.crossout',
  892. 'AGSCutandpasteBlock' : ss + 'mscae.general.cut_and_paste',
  893. 'AGSFolderBlock' : ss + 'mscae.enterprise.folder',
  894. 'AGSGamecontrollerBlock' : ss + 'mscae.general.game_controller',
  895. 'AGSGearsBlock' : ss + 'mscae.general.gears',
  896. 'AGSGraphBlock' : ss + 'mscae.general.graph',
  897. 'AGSLikeBlock' : ss + 'mscae.general.like',
  898. 'AGSNotallowedBlock' : ss + 'mscae.general.not_allowed',
  899. 'AGSSliderbarhorizontalBlock' : ss + 'mscae.general.slider_bar_horizontal',
  900. 'AGSSliderbarvertBlock' : ss + 'mscae.general.slider_bar_vertical',
  901. 'AGSTasklistorBacklogBlock' : ss + 'mscae.general.task_list',
  902. 'AGSTasksBlock' : ss + 'mscae.general.tasks',
  903. 'AGSTunnelBlock' : ss + 'mscae.general.tunnel',
  904. 'AGSUserBlock' : ss + 'azure.user',
  905. 'AGSVideoBlock' : ss + 'mscae.general.video',
  906. // Azure VMS
  907. // 'AVMActiveDirectoryVMBlock' NA
  908. // 'AVMActiveDirectoryVMmultiBlock' NA
  909. // 'AVMAppServerVMBlock' NA
  910. // 'AVMAppServerVMmultiBlock' NA
  911. // 'AVMDatabaseServerVMBlock' NA
  912. // 'AVMDatabaseServerVMmultiBlock' NA
  913. // 'AVMDirectoryServerVMBlock' NA
  914. // 'AVMDirectoryServerVMmultiBlock' NA
  915. // 'AVMDomainServerVMBlock' NA
  916. // 'AVMDomainServerVMmultiBlock' NA
  917. // 'AVMFileServerVMBlock' NA
  918. // 'AVMFileServerVMmultiBlock' NA
  919. // 'AVMWebServerVMBlock' NA
  920. // 'AVMWebServerVMmultiBlock' NA
  921. // 'AVMWindowsServerVMBlock' NA
  922. // 'AVMWindowsServerVMmultiBlock' NA
  923. //Cisco Basic
  924. 'Cisco_cisco_androgenous_person' : s + 'cisco.people.androgenous_person;' + c,
  925. 'Cisco_cisco_atm_switch' : s + 'cisco.switches.atm_switch;' + c,
  926. 'Cisco_cisco_cloud' : s + 'cisco.storage.cloud;strokeColor=#036897;fillColor=#ffffff',
  927. 'Cisco_cisco_fileserver' : s + 'cisco.servers.fileserver;' + c,
  928. 'Cisco_cisco_firewall' : s + 'cisco.security.firewall;' + c,
  929. 'Cisco_cisco_generic_building' : s + 'cisco.buildings.generic_building;' + c,
  930. 'Cisco_cisco_laptop' : s + 'cisco.computers_and_peripherals.laptop;' + c,
  931. 'Cisco_cisco_lock' : s + 'cisco.security.lock;' + c,
  932. 'Cisco_cisco_microwebserver' : s + 'cisco.servers.microwebserver;' + c,
  933. 'Cisco_cisco_pc' : s + 'cisco.computers_and_peripherals.pc;' + c,
  934. 'Cisco_cisco_pda' : s + 'cisco.misc.pda;' + c,
  935. 'Cisco_cisco_phone' : s + 'cisco.modems_and_phones.hootphone;' + c,
  936. 'Cisco_cisco_printer' : s + 'cisco.computers_and_peripherals.printer;' + c,
  937. 'Cisco_cisco_relational_database' : s + 'cisco.storage.relational_database;' + c,
  938. 'Cisco_cisco_router' : s + 'cisco.routers.router;' + c,
  939. 'Cisco_cisco_standing_man' : s + 'cisco.people.standing_man;' + c,
  940. 'Cisco_cisco_standing_woman' : s + 'cisco.people.standing_woman;' + c,
  941. 'Cisco_cisco_ups' : s + 'cisco.misc.ups;' + c,
  942. 'Cisco_cisco_wireless_router' : s + 'cisco.routers.wireless_router;' + c,
  943. //Cisco Extended
  944. 'Cisco_cisco_100baset_hub' : s + 'cisco.hubs_and_gateways.100baset_hub;' + c,
  945. 'Cisco_cisco_10700' : s + 'cisco.routers.10700;' + c,
  946. 'Cisco_cisco_10GE_FCoE' : s + 'cisco.controllers_and_modules.10ge_fcoe;' + c,
  947. 'Cisco_cisco_15200' : s + 'cisco.misc.15200;' + c,
  948. 'Cisco_cisco_3174__desktop_' : s + 'cisco.controllers_and_modules.3174_(desktop)_cluster_controller;' + c,
  949. 'Cisco_cisco_3200_mobile_access_router' : s + 'cisco.routers.mobile_access_router;' + c,
  950. 'Cisco_cisco_3x74__floor_' : s + 'cisco.controllers_and_modules.3x74_(floor)_cluster_controller;' + c,
  951. 'Cisco_cisco_6700_series' : s + 'cisco.misc.6700_series;' + c,
  952. 'Cisco_cisco_7500ars__7513_' : s + 'cisco.misc.7500ars_(7513);' + c,
  953. // 'Cisco_cisco_access_gateway' NA
  954. 'Cisco_cisco_accesspoint' : s + 'cisco.misc.access_point;' + c,
  955. 'Cisco_cisco_ace' : s + 'cisco.misc.ace;' + c,
  956. 'Cisco_cisco_ACS' : s + 'cisco.misc.acs;' + c,
  957. 'Cisco_cisco_adm' : s + 'cisco.misc.adm;' + c,
  958. 'Cisco_cisco_antenna' : s + 'cisco.wireless.antenna;' + c,
  959. 'Cisco_cisco_asic_processor' : s + 'cisco.misc.asic_processor;' + c,
  960. 'Cisco_cisco_ASR_1000_Series' : s + 'cisco.misc.asr_1000_series;' + c,
  961. 'Cisco_cisco_ata' : s + 'cisco.misc.ata;' + c,
  962. 'Cisco_cisco_atm_3800' : s + 'cisco.misc.atm_3800;' + c,
  963. 'Cisco_cisco_atm_fast_gigabit_etherswitch' : s + 'cisco.switches.atm_fast_gigabit_etherswitch;' + c,
  964. 'Cisco_cisco_atm_router' : s + 'cisco.routers.atm_router;' + c,
  965. 'Cisco_cisco_atm_tag_switch_router' : s + 'cisco.routers.atm_tag_switch_router;' + c,
  966. 'Cisco_cisco_avs' : s + 'cisco.misc.avs;' + c,
  967. 'Cisco_cisco_AXP' : s + 'cisco.misc.axp;' + c,
  968. // 'Cisco_cisco_bbfw_media' NA
  969. // 'Cisco_cisco_bbfw' NA
  970. 'Cisco_cisco_bbsm' : s + 'cisco.misc.bbsm;' + c,
  971. 'Cisco_cisco_branch_office' : s + 'cisco.buildings.branch_office;' + c,
  972. 'Cisco_cisco_breakout_box' : s + 'cisco.misc.breakout_box;' + c,
  973. 'Cisco_cisco_bridge' : s + 'cisco.misc.bridge;' + c,
  974. 'Cisco_cisco_broadband_router' : s + 'cisco.routers.broadcast_router;' + c,
  975. 'Cisco_cisco_bts_10200' : s + 'cisco.misc.bts_10200;' + c,
  976. 'Cisco_cisco_cable_modem' : s + 'cisco.modems_and_phones.cable_modem;' + c,
  977. 'Cisco_cisco_callmanager' : s + 'cisco.misc.call_manager;' + c,
  978. 'Cisco_cisco_car' : s + 'cisco.misc.car;' + c,
  979. 'Cisco_cisco_carrier_routing_system' : s + 'cisco.misc.carrier_routing_system;' + c,
  980. 'Cisco_cisco_cddi_fddi' : s + 'cisco.misc.cddi_fddi;' + c,
  981. 'Cisco_cisco_cdm' : s + 'cisco.misc.cdm;' + c,
  982. 'Cisco_cisco_cellular_phone' : s + 'cisco.modems_and_phones.cell_phone;' + c,
  983. 'Cisco_cisco_centri_firewall' : s + 'cisco.security.centri_firewall;' + c,
  984. 'Cisco_cisco_cisco_1000' : s + 'cisco.misc.cisco_1000;' + c,
  985. 'Cisco_cisco_cisco_asa_5500' : s + 'cisco.misc.asa_5500;' + c,
  986. 'Cisco_cisco_cisco_ca' : s + 'cisco.misc.cisco_ca;' + c,
  987. 'Cisco_cisco_cisco_file_engine' : s + 'cisco.storage.cisco_file_engine;' + c,
  988. 'Cisco_cisco_cisco_hub' : s + 'cisco.hubs_and_gateways.cisco_hub;' + c,
  989. 'Cisco_cisco_ciscosecurity' : s + 'cisco.security.cisco_security;' + c,
  990. // 'Cisco_cisco_Cisco_telepresence_manager' NA
  991. 'Cisco_cisco_cisco_unified_presence_server' : s + 'cisco.servers.cisco_unified_presence_server;' + c,
  992. 'Cisco_cisco_cisco_unityexpress' : s + 'cisco.misc.cisco_unity_express;' + c,
  993. 'Cisco_cisco_ciscoworks' : s + 'cisco.misc.cisco_works;' + c,
  994. 'Cisco_cisco_class_4_5_switch' : s + 'cisco.switches.class_4_5_switch;' + c,
  995. 'Cisco_cisco_communications_server' : s + 'cisco.servers.communications_server;' + c,
  996. 'Cisco_cisco_contact_center' : s + 'cisco.misc.contact_center;' + c,
  997. 'Cisco_cisco_content_engine__cache_director_' : s + 'cisco.directors.content_engine_(cache_director);' + c,
  998. 'Cisco_cisco_content_service_router' : s + 'cisco.routers.content_service_router;' + c,
  999. 'Cisco_cisco_content_service_switch_1100' : s + 'cisco.switches.content_service_switch_1100;' + c,
  1000. 'Cisco_cisco_content_switch_module' : s + 'cisco.controllers_and_modules.content_switch_module;' + c,
  1001. 'Cisco_cisco_content_switch' : s + 'cisco.switches.content_switch;' + c,
  1002. 'Cisco_cisco_content_transformation_engine__cte_' : s + 'cisco.misc.content_transformation_engine_(cte);' + c,
  1003. 'Cisco_cisco_cs_mars' : s + 'cisco.misc.cs-mars;' + c,
  1004. 'Cisco_cisco_csm_s' : s + 'cisco.misc.csm-s;' + c,
  1005. 'Cisco_cisco_csu_dsu' : s + 'cisco.misc.csu_dsu;' + c,
  1006. 'Cisco_cisco_CUBE' : s + 'cisco.misc.cube;' + c,
  1007. 'Cisco_cisco_detector' : s + 'cisco.misc.detector;' + c,
  1008. 'Cisco_cisco_director_class_fibre_channel_director' : s + 'cisco.directors.director-class_fibre_channel_director;' + c,
  1009. 'Cisco_cisco_directory_server' : s + 'cisco.servers.directory_server;' + c,
  1010. 'Cisco_cisco_diskette' : s + 'cisco.storage.diskette;' + c,
  1011. 'Cisco_cisco_distributed_director' : s + 'cisco.directors.distributed_director;' + c,
  1012. 'Cisco_cisco_dot_dot' : s + 'cisco.misc.dot-dot;' + c,
  1013. 'Cisco_cisco_dpt' : s + 'cisco.misc.dpt;' + c,
  1014. 'Cisco_cisco_dslam' : s + 'cisco.misc.dslam;' + c,
  1015. 'Cisco_cisco_dual_mode_ap' : s + 'cisco.misc.dual_mode;' + c,
  1016. 'Cisco_cisco_dwdm_filter' : s + 'cisco.misc.dwdm_filter;' + c,
  1017. 'Cisco_cisco_end_office' : s + 'cisco.buildings.end_office;' + c,
  1018. 'Cisco_cisco_fax' : s + 'cisco.modems_and_phones.fax;' + c,
  1019. 'Cisco_cisco_fc_storage' : s + 'cisco.storage.fc_storage;' + c,
  1020. 'Cisco_cisco_fddi_ring' : s + 'cisco.misc.fddi_ring;strokeColor=#036897;',
  1021. 'Cisco_cisco_fibre_channel_disk_subsystem' : s + 'cisco.storage.fibre_channel_disk_subsystem;' + c,
  1022. 'Cisco_cisco_fibre_channel_fabric_switch' : s + 'cisco.switches.fibre_channel_fabric_switch;' + c,
  1023. 'Cisco_cisco_file_cabinet' : s + 'cisco.storage.file_cabinet;' + c,
  1024. 'Cisco_cisco_file_server' : s + 'cisco.servers.file_server;' + c,
  1025. 'Cisco_cisco_firewall_service_module__fwsm_' : s + 'cisco.controllers_and_modules.firewall_service_module_(fwsm);' + c,
  1026. 'Cisco_cisco_front_end_processor' : s + 'cisco.misc.front_end_processor;' + c,
  1027. 'Cisco_cisco_gatekeeper' : s + 'cisco.security.gatekeeper;strokeColor=#036897;',
  1028. 'Cisco_cisco_general_applicance' : s + 'cisco.misc.general_appliance;' + c,
  1029. 'Cisco_cisco_generic_gateway' : s + 'cisco.hubs_and_gateways.generic_gateway;' + c,
  1030. 'Cisco_cisco_generic_processor' : s + 'cisco.misc.generic_processor;' + c,
  1031. 'Cisco_cisco_generic_softswitch' : s + 'cisco.switches.generic_softswitch;' + c,
  1032. 'Cisco_cisco_gigabit_switch_atm_tag_router' : s + 'cisco.routers.gigabit_switch_atm_tag_router;' + c,
  1033. 'Cisco_cisco_government_building' : s + 'cisco.buildings.government_building;' + c,
  1034. 'Cisco_cisco_Ground_terminal' : s + 'cisco.wireless.ground_terminal;' + c,
  1035. 'Cisco_cisco_guard' : s + 'cisco.security.guard;' + c,
  1036. 'Cisco_cisco_handheld' : s + 'cisco.misc.handheld;' + c,
  1037. 'Cisco_cisco_hootphone' : s + 'cisco.modems_and_phones.hootphone;' + c,
  1038. 'Cisco_cisco_host' : s + 'cisco.servers.host;' + c,
  1039. 'Cisco_cisco_hp_mini' : s + 'cisco.misc.hp_mini;' + c,
  1040. 'Cisco_cisco_h' : s + 'cisco.misc.h_323;' + c,
  1041. 'Cisco_cisco_hub' : s + 'cisco.hubs_and_gateways.hub;' + c,
  1042. 'Cisco_cisco_iad_router' : s + 'cisco.routers.iad_router;' + c,
  1043. 'Cisco_cisco_ibm_mainframe' : s + 'cisco.computers_and_peripherals.ibm_mainframe;' + c,
  1044. 'Cisco_cisco_ibm_mini_as400' : s + 'cisco.computers_and_peripherals.ibm_mini_as400;' + c,
  1045. 'Cisco_cisco_ibm_tower' : s + 'cisco.computers_and_peripherals.ibm_tower;' + c,
  1046. 'Cisco_cisco_icm' : s + 'cisco.misc.icm;' + c,
  1047. 'Cisco_cisco_ics' : s + 'cisco.misc.ics;' + c,
  1048. 'Cisco_cisco_intelliswitch_stack' : s + 'cisco.switches.intelliswitch_stack;' + c,
  1049. 'Cisco_cisco_ios_firewall' : s + 'cisco.security.ios_firewall;' + c,
  1050. 'Cisco_cisco_ios_slb' : s + 'cisco.misc.ios_slb;' + c,
  1051. 'Cisco_cisco_ip_communicator' : s + 'cisco.misc.ip_communicator;' + c,
  1052. 'Cisco_cisco_ip_dsl' : s + 'cisco.misc.ip_dsl;' + c,
  1053. 'Cisco_cisco_ip_phone' : s + 'cisco.modems_and_phones.ip_phone;' + c,
  1054. 'Cisco_cisco_ip' : s + 'cisco.misc.ip;' + c,
  1055. 'Cisco_cisco_iptc' : s + 'cisco.misc.iptc;' + c,
  1056. 'Cisco_cisco_ip_telephony_router' : s + 'cisco.routers.ip_telephony_router;' + c,
  1057. 'Cisco_cisco_iptv_content_manager' : s + 'cisco.misc.iptv_content_manager;' + c,
  1058. 'Cisco_cisco_iptv_server' : s + 'cisco.servers.iptv_server;' + c,
  1059. 'Cisco_cisco_iscsi_router' : s + 'cisco.routers.isci_router;' + c,
  1060. 'Cisco_cisco_isdn_switch' : s + 'cisco.switches.isdn_switch;' + c,
  1061. 'Cisco_cisco_itp' : s + 'cisco.misc.itp;' + c,
  1062. 'Cisco_cisco_jbod' : s + 'cisco.misc.jbod;' + c,
  1063. 'Cisco_cisco_key' : s + 'cisco.misc.key;' + c,
  1064. 'Cisco_cisco_keys' : s + 'cisco.misc.keys;' + c,
  1065. 'Cisco_cisco_lan_to_lan' : s + 'cisco.misc.lan_to_lan;' + c,
  1066. 'Cisco_cisco_layer_2_remote_switch' : s + 'cisco.switches.layer_2_remote_switch;' + c,
  1067. 'Cisco_cisco_layer_3_switch' : s + 'cisco.switches.layer_3_switch;' + c,
  1068. 'Cisco_cisco_lightweight_ap' : s + 'cisco.misc.lightweight_ap;' + c,
  1069. 'Cisco_cisco_localdirector' : s + 'cisco.directors.localdirector;' + c,
  1070. 'Cisco_cisco_longreach_cpe' : s + 'cisco.misc.longreach_cpe;' + c,
  1071. 'Cisco_cisco_macintosh' : s + 'cisco.computers_and_peripherals.macintosh;' + c,
  1072. 'Cisco_cisco_mac_woman' : s + 'cisco.people.mac_woman;' + c,
  1073. 'Cisco_cisco_man_woman' : s + 'cisco.people.man_woman;' + c,
  1074. 'Cisco_cisco_mas_gateway' : s + 'cisco.hubs_and_gateways.mas_gateway;' + c,
  1075. 'Cisco_cisco_mau' : s + 'cisco.misc.mau;' + c,
  1076. 'Cisco_cisco_mcu' : s + 'cisco.misc.mcu;' + c,
  1077. 'Cisco_cisco_mdu' : s + 'cisco.buildings.mdu;' + c,
  1078. 'Cisco_cisco_me_1100' : s + 'cisco.misc.me1100;' + c,
  1079. 'Cisco_cisco_Mediator' : s + 'cisco.misc.mediator;' + c,
  1080. 'Cisco_cisco_meetingplace' : s + 'cisco.misc.meetingplace;' + c,
  1081. 'Cisco_cisco_mesh_ap' : s + 'cisco.misc.mesh_ap;' + c,
  1082. 'Cisco_cisco_metro_1500' : s + 'cisco.misc.metro_1500;' + c,
  1083. 'Cisco_cisco_mgx_8000_multiservice_switch' : s + 'cisco.switches.mgx_8000_multiservice_switch;' + c,
  1084. 'Cisco_cisco_microphone' : s + 'cisco.computers_and_peripherals.microphone;' + c,
  1085. 'Cisco_cisco_mini_vax' : s + 'cisco.misc.mini_vax;' + c,
  1086. 'Cisco_cisco_mobile_access_ip_phone' : s + 'cisco.modems_and_phones.mobile_access_ip_phone;' + c,
  1087. 'Cisco_cisco_mobile_access_router' : s + 'cisco.routers.mobile_access_router;' + c,
  1088. 'Cisco_cisco_modem' : s + 'cisco.modems_and_phones.modem;' + c,
  1089. 'Cisco_cisco_moh_server' : s + 'cisco.servers.moh_server;' + c,
  1090. 'Cisco_cisco_MSE' : s + 'cisco.misc.mse;' + c,
  1091. 'Cisco_cisco_mulitswitch_device' : s + 'cisco.switches.multiswitch_device;' + c,
  1092. 'Cisco_cisco_multi_fabric_server_switch' : s + 'cisco.switches.multi-fabric_server_switch;' + c,
  1093. 'Cisco_cisco_multilayer_remote_switch' : s + 'cisco.switches.multilayer_remote_switch;' + c,
  1094. 'Cisco_cisco_mux' : s + 'cisco.misc.mux;' + c,
  1095. 'Cisco_cisco_MXE' : s + 'cisco.misc.mxe;' + c,
  1096. 'Cisco_cisco_nac_appliance' : s + 'cisco.misc.nac_appliance;' + c,
  1097. 'Cisco_cisco_NCE' : s + 'cisco.misc.nce;' + c,
  1098. 'Cisco_cisco_NCE_router' : s + 'cisco.routers.nce_router;' + c,
  1099. 'Cisco_cisco_netflow_router' : s + 'cisco.routers.netflow_router;' + c,
  1100. 'Cisco_cisco_netranger' : s + 'cisco.misc.netranger;' + c,
  1101. 'Cisco_cisco_netsonar' : s + 'cisco.misc.netsonar;' + c,
  1102. 'Cisco_cisco_network_management' : s + 'cisco.misc.network_management;' + c,
  1103. 'Cisco_cisco_Nexus_1000' : s + 'cisco.misc.nexus_1000;' + c,
  1104. 'Cisco_cisco_Nexus_2000' : s + 'cisco.misc.nexus_2000_fabric_extender;' + c,
  1105. 'Cisco_cisco_Nexus_5000' : s + 'cisco.misc.nexus_5000;' + c,
  1106. 'Cisco_cisco_Nexus_7000' : s + 'cisco.misc.nexus_7000;' + c,
  1107. 'Cisco_cisco_octel' : s + 'cisco.misc.octel;' + c,
  1108. 'Cisco_cisco_ons15500' : s + 'cisco.misc.ons15500;' + c,
  1109. 'Cisco_cisco_optical_amplifier' : s + 'cisco.misc.optical_amplifier;' + c,
  1110. 'Cisco_cisco_optical_services_router' : s + 'cisco.routers.optical_services_router;' + c,
  1111. 'Cisco_cisco_optical_transport' : s + 'cisco.misc.optical_transport;' + c,
  1112. 'Cisco_cisco_pad' : s + 'cisco.misc.pad_2;' + c,
  1113. 'Cisco_cisco_pad_x' : s + 'cisco.misc.pad_1;' + c,
  1114. 'Cisco_cisco_page_icon' : s + 'cisco.misc.page_icon;strokeColor=#036897;',
  1115. 'Cisco_cisco_pbx' : s + 'cisco.misc.pbx;' + c,
  1116. 'Cisco_cisco_pbx_switch' : s + 'cisco.switches.pbx_switch;' + c,
  1117. 'Cisco_cisco_pc_adapter_card' : s + 'cisco.computers_and_peripherals.pc_adapter_card;' + c,
  1118. 'Cisco_cisco_pc_man' : s + 'cisco.people.pc_man;' + c,
  1119. 'Cisco_cisco_pc_routercard' : s + 'cisco.computers_and_peripherals.pc_routercard;' + c,
  1120. 'Cisco_cisco_pc_software' : s + 'cisco.misc.pc_software;' + c,
  1121. 'Cisco_cisco_pc_video' : s + 'cisco.misc.pc_video;' + c,
  1122. 'Cisco_cisco_phone_fax' : s + 'cisco.modems_and_phones.phone-fax;' + c,
  1123. 'Cisco_cisco_pix_firewall' : s + 'cisco.security.pix_firewall;' + c,
  1124. 'Cisco_cisco_pmc' : s + 'cisco.misc.pmc;' + c,
  1125. 'Cisco_cisco_programmable_switch' : s + 'cisco.switches.programmable_switch;' + c,
  1126. 'Cisco_cisco_protocol_translator' : s + 'cisco.misc.protocol_translator;' + c,
  1127. 'Cisco_cisco_pxf' : s + 'cisco.misc.pxf;' + c,
  1128. 'Cisco_cisco_radio_tower' : s + 'cisco.wireless.radio_tower;strokeColor=#036897',
  1129. 'Cisco_cisco_ratemux' : s + 'cisco.misc.ratemux;' + c,
  1130. 'Cisco_cisco_repeater' : s + 'cisco.misc.repeater;' + c,
  1131. 'Cisco_cisco_RF_modem' : s + 'cisco.modems_and_phones.rf_modem;' + c,
  1132. 'Cisco_cisco_router_firewall' : s + 'cisco.security.router_firewall;' + c,
  1133. 'Cisco_cisco_routerin_building' : s + 'cisco.routers.router_in_building;' + c,
  1134. 'Cisco_cisco_router_with_silicon_switch' : s + 'cisco.routers.router_with_silicon_switch;' + c,
  1135. 'Cisco_cisco_route_switch_processor' : s + 'cisco.misc.route_switch_processor;' + c,
  1136. 'Cisco_cisco_rpsrps' : s + 'cisco.misc.rpsrps;' + c,
  1137. 'Cisco_cisco_running_man' : s + 'cisco.people.running_man;' + c,
  1138. 'Cisco_cisco_sattelite_dish' : s + 'cisco.wireless.satellite_dish;' + c,
  1139. 'Cisco_cisco_sattelite' : s + 'cisco.wireless.satellite;' + c,
  1140. 'Cisco_cisco_scanner' : s + 'cisco.computers_and_peripherals.scanner;' + c,
  1141. 'Cisco_cisco_server_switch' : s + 'cisco.switches.server_switch;' + c,
  1142. 'Cisco_cisco_server_with_router' : s + 'cisco.servers.server_with_router;' + c,
  1143. 'Cisco_cisco_service_control' : s + 'cisco.misc.service_control;' + c,
  1144. 'Cisco_cisco_Service_Module' : s + 'cisco.controllers_and_modules.service_module;' + c,
  1145. 'Cisco_cisco_Service_router' : s + 'cisco.routers.service_router;' + c,
  1146. 'Cisco_cisco_Services' : s + 'cisco.misc.services;' + c,
  1147. 'Cisco_cisco_Set_top_box' : s + 'cisco.misc.set_top_box;' + c,
  1148. 'Cisco_cisco_simulitlayer_switch' : s + 'cisco.switches.simultilayer_switch;' + c,
  1149. 'Cisco_cisco_sip_proxy_werver' : s + 'cisco.servers.sip_proxy_server;' + c,
  1150. 'Cisco_cisco_sitting_woman' : s + 'cisco.people.sitting_woman;' + c,
  1151. 'Cisco_cisco_small_business' : s + 'cisco.buildings.small_business;' + c,
  1152. 'Cisco_cisco_small_hub' : s + 'cisco.hubs_and_gateways.small_hub;' + c,
  1153. 'Cisco_cisco_softphone' : s + 'cisco.modems_and_phones.softphone;' + c,
  1154. 'Cisco_cisco_softswitch_pgw_mgc' : s + 'cisco.switches.softswitch_pgw_mgc;' + c,
  1155. 'Cisco_cisco_software_based_server' : s + 'cisco.servers.software_based_server;' + c,
  1156. // 'Cisco_cisco_Space_router' NA
  1157. 'Cisco_cisco_speaker' : s + 'cisco.computers_and_peripherals.speaker;' + c,
  1158. 'Cisco_cisco_ssc' : s + 'cisco.misc.ssc;' + c,
  1159. 'Cisco_cisco_ssl_terminator' : s + 'cisco.misc.ssl_terminator;' + c,
  1160. 'Cisco_cisco_standard_host' : s + 'cisco.servers.standard_host;' + c,
  1161. 'Cisco_cisco_stb' : s + 'cisco.misc.stb;' + c,
  1162. 'Cisco_cisco_storage_router' : s + 'cisco.routers.storage_router;' + c,
  1163. 'Cisco_cisco_storage_server' : s + 'cisco.servers.storage_server;' + c,
  1164. 'Cisco_cisco_stp' : s + 'cisco.misc.stp;' + c,
  1165. 'Cisco_cisco_streamer' : s + 'cisco.misc.streamer;' + c,
  1166. 'Cisco_cisco_sun_workstation' : s + 'cisco.computers_and_peripherals.workstation;' + c,
  1167. 'Cisco_cisco_supercomputer' : s + 'cisco.computers_and_peripherals.supercomputer;' + c,
  1168. 'Cisco_cisco_svx' : s + 'cisco.misc.svx;' + c,
  1169. 'Cisco_cisco_system_controller' : s + 'cisco.controllers_and_modules.system_controller;' + c,
  1170. 'Cisco_cisco_tablet' : s + 'cisco.computers_and_peripherals.tablet;' + c,
  1171. 'Cisco_cisco_tape_array' : s + 'cisco.storage.tape_array;' + c,
  1172. 'Cisco_cisco_tdm_router' : s + 'cisco.routers.tdm_router;' + c,
  1173. 'Cisco_cisco_telecommuter_house_pc' : s + 'cisco.buildings.telecommuter_house_pc;' + c,
  1174. 'Cisco_cisco_telecommuter_house' : s + 'cisco.buildings.telecommuter_house;' + c,
  1175. 'Cisco_cisco_telecommuter_icon' : s + 'cisco.misc.telecommuter_icon;' + c,
  1176. // 'Cisco_cisco_Telepresence_1000' NA
  1177. // 'Cisco_cisco_Telepresence_3000' NA
  1178. 'Cisco_cisco_Telepresence_3200' : s + 'cisco.misc.telepresence;' + c,
  1179. // 'Cisco_cisco_Telepresence_500' NA
  1180. 'Cisco_cisco_terminal' : s + 'cisco.computers_and_peripherals.terminal;' + c,
  1181. 'Cisco_cisco_token' : s + 'cisco.misc.token;strokeColor=#036897',
  1182. 'Cisco_cisco_TP_MCU' : s + 'cisco.misc.tp_mcu;' + c,
  1183. 'Cisco_cisco_transpath' : s + 'cisco.misc.transpath;' + c,
  1184. 'Cisco_cisco_truck' : s + 'cisco.misc.truck;' + c,
  1185. 'Cisco_cisco_turret' : s + 'cisco.misc.turret;' + c,
  1186. 'Cisco_cisco_tv' : s + 'cisco.misc.tv;' + c,
  1187. 'Cisco_cisco_ubr910' : s + 'cisco.misc.ubr910;' + c,
  1188. 'Cisco_cisco_umg_series' : s + 'cisco.misc.umg_series;' + c,
  1189. 'Cisco_cisco_unity_server' : s + 'cisco.servers.unity_server;' + c,
  1190. 'Cisco_cisco_universal_gateway' : s + 'cisco.hubs_and_gateways.universal_gateway;' + c,
  1191. 'Cisco_cisco_university' : s + 'cisco.buildings.university;' + c,
  1192. 'Cisco_cisco_upc' : s + 'cisco.computers_and_peripherals.upc;' + c,
  1193. 'Cisco_cisco_vault' : s + 'cisco.misc.vault;' + c,
  1194. 'Cisco_cisco_video_camera' : s + 'cisco.computers_and_peripherals.video_camera;' + c,
  1195. 'Cisco_cisco_vip' : s + 'cisco.misc.vip;' + c,
  1196. 'Cisco_cisco_virtual_layer_switch' : s + 'cisco.switches.virtual_layer_switch;' + c,
  1197. 'Cisco_cisco_virtual_switch_controller__vsc3000_' : s + 'cisco.controllers_and_modules.virtual_switch_controller_(vsc3000);' + c,
  1198. 'Cisco_cisco_voice_atm_switch' : s + 'cisco.switches.voice_atm_switch;' + c,
  1199. 'Cisco_cisco_voice_commserver' : s + 'cisco.servers.voice_commserver;' + c,
  1200. 'Cisco_cisco_voice_router' : s + 'cisco.routers.voice_router;' + c,
  1201. 'Cisco_cisco_voice_switch' : s + 'cisco.switches.voice_switch;' + c,
  1202. 'Cisco_cisco_vpn_concentrator' : s + 'cisco.misc.vpn_concentrator;' + c,
  1203. 'Cisco_cisco_vpn_gateway' : s + 'cisco.hubs_and_gateways.vpn_gateway;' + c,
  1204. 'Cisco_cisco_VSS' : s + 'cisco.misc.vss;' + c,
  1205. 'Cisco_cisco_wae' : s + 'cisco.misc.wae;' + c,
  1206. 'Cisco_cisco_wavelength_router' : s + 'cisco.routers.wavelength_router;' + c,
  1207. 'Cisco_cisco_web_browser' : s + 'cisco.computers_and_peripherals.web_browser;' + c,
  1208. 'Cisco_cisco_web_cluster' : s + 'cisco.storage.web_cluster;' + c,
  1209. 'Cisco_cisco_wi_fi_tag' : s + 'cisco.wireless.wi-fi_tag;' + c,
  1210. 'Cisco_cisco_wireless_bridge' : s + 'cisco.wireless.wireless_bridge;' + c,
  1211. 'Cisco_cisco_wireless_location_appliance' : s + 'cisco.wireless.wireless_location_appliance;' + c,
  1212. 'Cisco_cisco_wireless' : s + 'cisco.wireless.wireless;' + c,
  1213. 'Cisco_cisco_wireless_transport' : s + 'cisco.wireless.wireless_transport;' + c,
  1214. 'Cisco_cisco_wism' : s + 'cisco.misc.wism;' + c,
  1215. 'Cisco_cisco_wlan_controller' : s + 'cisco.wireless.wlan_controller;' + c,
  1216. 'Cisco_cisco_workgroup_director' : s + 'cisco.directors.workgroup_director;' + c,
  1217. 'Cisco_cisco_workgroup_switch' : s + 'cisco.switches.workgroup_switch;' + c,
  1218. 'Cisco_cisco_workstation' : s + 'cisco.computers_and_peripherals.workstation;' + c,
  1219. 'Cisco_cisco_www_server' : s + 'cisco.servers.www_server;' + c,
  1220. //Computers and Monitors
  1221. 'NET_PC' : s + 'networks.pc;fillColor=#29AAE1',
  1222. 'NET_Virtual-PC' : s + 'networks.virtual_pc;fillColor=#29AAE1',
  1223. 'NET_Terminal' : s + 'networks.terminal;fillColor=#29AAE1',
  1224. 'NET_DataPipe' : s + 'networks.bus;fillColor=#29AAE1',
  1225. 'NET_SlateDevice' : s + 'networks.tablet;fillColor=#29AAE1',
  1226. 'NET_TabletDevice' : s + 'networks.tablet;fillColor=#29AAE1',
  1227. 'NET_Laptop' : s + 'networks.laptop;fillColor=#29AAE1',
  1228. 'NET_PDA' : s + 'networks.mobile;fillColor=#29AAE1',
  1229. 'NET_CRTMonitor' : s + 'networks.monitor;fillColor=#29AAE1',
  1230. 'NET_LCDMonitor' : s + 'networks.monitor;fillColor=#29AAE1',
  1231. //Detailed Network Diagrams
  1232. // 'NET_ABSwitch' NA
  1233. // 'NET_Repeater' NA
  1234. // 'NET_DiagnosticDevice' NA
  1235. // 'NET_CardReader' NA
  1236. // 'NET_PatchPanel' NA
  1237. 'NET_RadioTower' : s + 'networks.radio_tower;fillColor=#29AAE1',
  1238. // 'NET_BiometricReader' NA
  1239. 'NET_ExternalHardDrive' : s + 'networks.external_storage;fillColor=#29AAE1',
  1240. // 'NET_WebService' NA
  1241. // 'NET_FiberOptic' NA
  1242. 'NET_SatelliteDish' : s + 'networks.satellite_dish;fillColor=#29AAE1',
  1243. 'NET_Satellite' : s + 'networks.satellite;fillColor=#29AAE1',
  1244. // 'NET_VoIPPhone' NA
  1245. // 'NET_PBX' NA
  1246. // 'NET_MLPS' NA
  1247. //Basic Network Shapes
  1248. 'NET_WirelessAccessPoint' : s + 'networks.radio_tower;fillColor=#29AAE1',
  1249. 'NET_RingNetwork' : cs, //TODO
  1250. // 'NET_Ethernet' : cs, //TODO
  1251. 'NET_Server' : s + 'networks.server;fillColor=#29AAE1',
  1252. // 'NET_ExternalMediaDrive' NA
  1253. 'NET_Mainframe' : s + 'networks.mainframe;fillColor=#29AAE1',
  1254. 'NET_Router' : s + 'networks.wireless_hub;fillColor=#29AAE1',
  1255. 'NET_Switch' : s + 'networks.switch;fillColor=#29AAE1',
  1256. 'NET_Firewall' : s + 'networks.firewall;fillColor=#29AAE1',
  1257. 'NET_User' : s + 'networks.user_male;fillColor=#29AAE1',
  1258. 'NET_CommLink' : s + 'networks.comm_link_edge;fillColor=#29AAE1',
  1259. 'NET_SuperComputer' : s + 'networks.supercomputer;fillColor=#29AAE1',
  1260. 'NET_VirtualServer' : s + 'networks.virtual_server;fillColor=#29AAE1',
  1261. 'NET_Printer' : s + 'networks.printer;fillColor=#29AAE1',
  1262. // 'NET_Plotter' NA
  1263. 'NET_Scanner' : s + 'networks.scanner;fillColor=#29AAE1',
  1264. 'NET_Copier' : s + 'networks.copier;fillColor=#29AAE1',
  1265. // 'NET_FaxMachine' NA
  1266. 'NET_MultiFunctionMachine' : s + 'networks.copier;fillColor=#29AAE1',
  1267. 'NET_Projector' : s + 'networks.video_projector;fillColor=#29AAE1',
  1268. 'NET_ProjectorScreen' : s + 'networks.video_projector_screen;fillColor=#29AAE1',
  1269. 'NET_Bridge' : s + 'networks.router;fillColor=#29AAE1',
  1270. 'NET_Hub' : s + 'networks.hub;fillColor=#29AAE1',
  1271. 'NET_Modem' : s + 'networks.modem;fillColor=#29AAE1',
  1272. 'NET_Telephone' : s + 'signs.tech.telephone_5;fillColor=#29AAE1',
  1273. 'NET_CellPhone' : s + 'networks.mobile;fillColor=#29AAE1',
  1274. 'NET_SmartPhone' : s + 'networks.mobile;fillColor=#29AAE1',
  1275. // 'NET_VideoPhone' NA
  1276. 'NET_Camera' : s + 'signs.tech.camera_2;fillColor=#29AAE1',
  1277. // 'NET_VideoCamera' NA
  1278. //Server Racks
  1279. 'RackServerRack' : s + 'rackGeneral.container;container=1;collapsible=0;childLayout=rack;marginLeft=9;marginRight=9;marginTop=21;marginBottom=22;textColor=#000000;numDisp=off',
  1280. 'RackBlank' : s + 'rackGeneral.plate;strokeColor=#666666;labelPosition=left;align=right;spacingRight=15;fillColor=#e8e8e8',
  1281. 'RackRaidArray' : s + 'rack.cisco.cisco_carrier_packet_transport_50;labelPosition=left;align=right;spacingRight=15',
  1282. 'RackServer' : s + 'rack.oracle.sunfire_x4100;labelPosition=left;align=right;spacingRight=15',
  1283. 'RackEthernetSwitch' : s + 'rack.cisco.cisco_nexus_3016_switch;labelPosition=left;align=right;spacingRight=15',
  1284. 'RackPatchPanel' : s + 'rack.general.cat5e_rack_mount_patch_panel_24_ports;strokeColor=#666666;labelPosition=left;align=right;spacingRight=15',
  1285. 'RackRouter' : s + 'rack.cisco.cisco_asr_1001_router;labelPosition=left;align=right;spacingRight=15',
  1286. 'RackMonitor' : s + 'rack.ibm.ibm_1u_flat_panel_console_kit;labelPosition=left;align=right;spacingRight=15',
  1287. 'RackKeyboard' : s + 'rack.cisco.cisco_1905_serial_integrated_services_router;labelPosition=left;align=right;spacingRight=15',
  1288. 'RackPowerStrip' : s + 'rack.dell.power_strip;labelPosition=left;align=right;spacingRight=15',
  1289. 'RackPowerSupply' : s + 'rack.cisco.cisco_web_security_appliance_s170;labelPosition=left;align=right;spacingRight=15',
  1290. 'RackBridge' : s + 'rack.cisco.cisco_nexus_5548p_switch;labelPosition=left;align=right;spacingRight=15',
  1291. 'RackTapeDrive' : s + 'rack.ibm.ibm_1754_local_console_manager;labelPosition=left;align=right;spacingRight=15',
  1292. //Network
  1293. 'Image_network_server' : 'image;image=img/lib/clip_art/computers/Server_Tower_128x128.png;flipH=1',
  1294. 'Image_network_server_file' : 'image;image=img/lib/clip_art/computers/Server_128x128.png',
  1295. 'Image_network_server_net' : 'image;image=img/lib/clip_art/networking/Print_Server_128x128.png',
  1296. 'Image_network_server_net_large' : 'image;image=img/lib/clip_art/computers/Server_128x128.png',
  1297. 'Image_network_raid' : 'image;image=img/lib/clip_art/computers/Server_Tower_128x128.png;flipH=1',
  1298. 'Image_network_raid_large' : 'image;image=img/lib/clip_art/computers/Server_Tower_128x128.png;flipH=1',
  1299. 'Image_network_rack_server' : 'image;image=img/lib/clip_art/computers/Server_Rack_128x128.png',
  1300. 'Image_network_rack_tape' : 'image;image=img/lib/clip_art/computers/Server_Rack_Partial_128x128.png',
  1301. 'Image_network_printer_small' : 'image;image=img/lib/clip_art/computers/Printer_128x128.png;flipH=1',
  1302. 'Image_network_printer_large' : 'image;image=img/lib/clip_art/computers/Printer_128x128.png;flipH=1',
  1303. 'Image_network_printer_multipurpose' : 'image;image=img/lib/clip_art/computers/Printer_Commercial_128x128.png;flipH=1',
  1304. 'Image_network_copier_small' : 'image;image=img/lib/clip_art/computers/Printer_Commercial_128x128.png',
  1305. 'Image_network_copier_large' : 'image;image=img/lib/clip_art/computers/Printer_Commercial_128x128.png',
  1306. // 'Image_network_printer_largeformat' NA
  1307. 'Image_network_router' : 'image;image=img/lib/clip_art/networking/Router_128x128.png',
  1308. 'Image_network_router_wireless' : 'image;image=img/lib/clip_art/networking/Wireless_Router_128x128.png',
  1309. 'Image_network_ups' : 'image;image=img/lib/clip_art/networking/UPS_128x128.png',
  1310. //Electronics
  1311. // 'Image_electronics_speakers_2' NA
  1312. // 'Image_electronics_scanner_slide' NA
  1313. // 'Image_electronics_speakers_2_1' NA
  1314. // 'Image_electronics_speakers_5_1' NA
  1315. 'Image_electronics_lcd' : 'image;image=img/lib/clip_art/computers/Monitor_128x128.png',
  1316. 'Image_electronics_pda' : 'image;image=img/lib/clip_art/telecommunication/Palm_Treo_128x128.png',
  1317. 'Image_electronics_drive_cardreader' : 'image;image=img/lib/clip_art/finance/Credit_Card_128x128.png',
  1318. 'Image_electronics_camcorder' : 'image;image=img/lib/clip_art/networking/Ip_Camera_128x128.png',
  1319. // 'Image_electronics_headset' NA
  1320. // 'Image_electronics_calculator_simple' NA
  1321. // 'Image_electronics_scanner_flatbed' NA
  1322. 'Image_electronics_printer_photo' : 'image;image=img/lib/clip_art/computers/Printer_128x128.png;flipH=1',
  1323. // 'Image_electronics_scanner_photo' NA
  1324. // 'Image_electronics_projector' NA
  1325. 'Image_electronics_drive_firewire' : 'image;image=img/lib/clip_art/computers/Harddrive_128x128.png;flipH=1',
  1326. 'Image_electronics_drive_usb' : 'image;image=img/lib/clip_art/computers/Harddrive_128x128.png;flipH=1',
  1327. 'Image_electronics_modem_external' : 'image;image=img/lib/clip_art/networking/Modem_128x128.png;flipH=1',
  1328. // 'Image_electronics_tv_tuner_external' NA
  1329. // 'Image_electronics_mp3' NA
  1330. // 'Image_electronics_sound_box' NA
  1331. 'Image_electronics_lcd_wide' : 'image;image=img/lib/clip_art/computers/Monitor_128x128.png',
  1332. //Audio Equipment
  1333. // 'Image_audio_speakers_2' NA
  1334. // 'Image_audio_speakers_2_1' NA
  1335. // 'Image_audio_speakers_5_1' NA
  1336. // 'Image_audio_record_player' NA
  1337. // 'Image_audio_headset' NA
  1338. //Electrical
  1339. 'EE_Amplifier' : s + 'electrical.abstract.amplifier',
  1340. 'EE_OpAmp' : s + 'electrical.abstract.operational_amp_1', //TODO
  1341. 'EE_ControlledAmp' : s + 'electrical.abstract.controlled_amplifier', //TODO
  1342. 'EE_Multiplexer' : s + 'electrical.abstract.mux', //TODO
  1343. 'EE_Demultiplexer' : s + 'electrical.abstract.demux;', //TODO
  1344. 'EE_Capacitor1' : s + 'electrical.capacitors.capacitor_1', //TODO
  1345. 'EE_Capacitor2' : s + 'electrical.capacitors.capacitor_3', //TODO
  1346. 'EE_Diode' : s + 'electrical.diodes.diode', //TODO
  1347. 'EE_Resistor' : s + 'electrical.resistors.resistor_2', //TODO
  1348. 'EE_VarResistor' : s + 'electrical.resistors.variable_resistor_2',
  1349. 'EE_Potentiometer' : s + 'electrical.resistors.potentiometer_2', //TODO
  1350. 'EE_ProtGround' : s + 'electrical.signal_sources.protective_earth',
  1351. 'EE_SignalGround' : s + 'electrical.signal_sources.signal_ground',
  1352. 'EE_Transformer' : s + 'electrical.inductors.transformer_1',
  1353. 'EE_Inductor' : s + 'electrical.inductors.inductor_3', //TODO
  1354. 'EE_Variable Inductor' : s + 'electrical.inductors.variable_inductor', //TODO
  1355. 'EE_TwoWaySwitch' : s + 'electrical.electro-mechanical.2-way_switch',
  1356. 'EE_OnOffSwitch' : s + 'electrical.electro-mechanical.simple_switch',
  1357. 'EE_Loudspeaker' : s + 'electrical.electro-mechanical.loudspeaker',
  1358. 'EE_Motor' : s + 'electrical.electro-mechanical.motor_1', //TODO
  1359. 'EE_LED1' : s + 'electrical.opto_electronics.led_2',
  1360. 'EE_Lightbulb' : s + 'electrical.miscellaneous.light_bulb',
  1361. 'EE_IntegratedCircuit' : cs, //TODO
  1362. //Power Sources
  1363. 'EE_AcSource' : s + 'electrical.signal_sources.ac_source;strokeWidth=1', //TODO
  1364. 'EE_VoltageSource' : s + 'electrical.signal_sources.dc_source_3', //TODO
  1365. 'EE_CurrentSource' : s + 'electrical.signal_sources.dc_source_2;direction=north', //TODO
  1366. 'EE_ControlledCurrentSource' : s + 'electrical.signal_sources.dependent_source_2;direction=west', //TODO
  1367. 'EE_ControlledVoltageSource' : s + 'electrical.signal_sources.dependent_source_3', //TODO
  1368. 'EE_DcSource1' : s + 'electrical.miscellaneous.monocell_battery;flipH=1;verticalLabelPosition=bottom;verticalAlign=top',
  1369. 'EE_DcSource2' : s + 'electrical.miscellaneous.multicell_battery;flipH=1;verticalLabelPosition=bottom;verticalAlign=top',
  1370. 'EE_Vss' : s + 'electrical.signal_sources.vss2;verticalLabelPosition=top;verticalAlign=bottom;fontSize=24',
  1371. 'EE_Vdd' : s + 'electrical.signal_sources.vdd;verticalLabelPosition=bottom;verticalAlign=top',
  1372. //Transistors
  1373. 'EE_BJT_NPN1' : s + 'electrical.transistors.pnp_transistor_1',
  1374. 'EE_BJT_PNP1' : s + 'electrical.transistors.npn_transistor_1',
  1375. 'EE_JFET_P' : s + 'electrical.transistors.p-channel_jfet_1;flipV=1',
  1376. 'EE_JFET_N' : s + 'electrical.transistors.n-channel_jfet_1',
  1377. 'EE_MOSFET_P1' : s + 'electrical.mosfets1.mosfet_ic_p;flipV=1',
  1378. 'EE_MOSFET_P2' : s + 'electrical.mosfets1.mosfet_p_no_bulk',
  1379. 'EE_MOSFET_P3' : s + 'electrical.mosfets1.p-channel_mosfet_1;flipV=1',
  1380. 'EE_MOSFET_N1' : s + 'electrical.mosfets1.mosfet_ic_n',
  1381. 'EE_MOSFET_N2' : s + 'electrical.mosfets1.mosfet_n_no_bulk',
  1382. 'EE_MOSFET_N3' : s + 'electrical.mosfets1.n-channel_mosfet_1',
  1383. //Relays
  1384. // 'EE_SPST' NA
  1385. // 'EE_SPDT' NA
  1386. // 'EE_DPST' NA
  1387. // 'EE_DPDT' NA
  1388. //Logic Gates
  1389. 'EE_AND' : s + 'electrical.logic_gates.and',
  1390. 'EE_OR' : s + 'electrical.logic_gates.or',
  1391. 'EE_Inverter' : s + 'electrical.logic_gates.inverter',
  1392. 'EE_NAND' : s + 'electrical.logic_gates.nand',
  1393. 'EE_NOR' : s + 'electrical.logic_gates.nor',
  1394. 'EE_XOR' : s + 'electrical.logic_gates.xor',
  1395. 'EE_NXOR' : s + 'electrical.logic_gates.xnor',
  1396. 'EE_DTypeRSFlipFlop' : s + 'electrical.logic_gates.d_type_rs_flip-flop',
  1397. 'EE_DTypeFlipFlop' : s + 'electrical.logic_gates.d_type_flip-flop',
  1398. 'EE_DTypeFlipFlopWithClear' : s + 'electrical.logic_gates.d_type_flip-flop_with_clear',
  1399. 'EE_RSLatch' : s + 'electrical.logic_gates.rs_latch',
  1400. 'EE_SyncRSLatch' : s + 'electrical.logic_gates.synchronous_rs_latch',
  1401. 'EE_TTypeFlipFlop' : s + 'electrical.logic_gates.t_type_flip-flop',
  1402. //Miscellaneous
  1403. 'EE_Plus' : s + 'ios7.misc.flagged',
  1404. 'EE_Negative' : 'shape=line',
  1405. 'EE_InverterContact' : 'shape=ellipse',
  1406. 'EE_Voltmeter' : s + 'electrical.instruments.voltmeter',
  1407. 'EE_Ammeter' : s + 'electrical.instruments.ampermeter',
  1408. 'EE_SineWave' : s + 'electrical.waveforms.sine_wave',
  1409. 'EE_Sawtooth' : s + 'electrical.waveforms.sawtooth',
  1410. 'EE_SquareWave' : s + 'electrical.waveforms.square_wave',
  1411. //Messaging Systems
  1412. 'EIChannelBlock' : s + 'eip.messageChannel',
  1413. // 'EIMessageChannelBlock' NA
  1414. 'EIMessageBlock' : cs, //TODO
  1415. 'EIMessageRouterBlock' : s + 'eip.content_based_router',
  1416. 'EIMessageTranslatorBlock' : s + 'eip.message_translator',
  1417. 'EIMessageEndpointBlock' : cs, //TODO
  1418. //Messaging Channels
  1419. // 'EIPublishSubscribeChannelBlock' NA
  1420. // 'EIDatatypeChannelBlock' NA
  1421. // 'EIInvalidMessageChannelBlock' NA
  1422. // 'EIDeadLetterChannelBlock' NA
  1423. // 'EIGuaranteedDeliveryBlock' NA
  1424. // 'EIChannelAdapterBlock' NA
  1425. 'EIMessagingBridgeBlock' : s + 'eip.messaging_bridge',
  1426. // 'EIMessageBusBlock' NA
  1427. //Message Construction
  1428. 'EICommandMessageBlock' : cs, //TODO
  1429. 'EIDocumentMessageBlock' : cs, //TODO
  1430. 'EIEventMessageBlock' : cs, //TODO
  1431. // 'EIEventMessageBlock' NA
  1432. // 'EIRequestReplyBlock' NA
  1433. // 'EIReturnAddressBlock' NA
  1434. // 'EICorrelationIDBlock' NA
  1435. // 'EIMessageSequenceBlock' NA
  1436. // 'EIMessageExpirationBlock' NA
  1437. //Message Routing
  1438. 'EIContentBasedRouterBlock' : s + 'eip.content_based_router',
  1439. 'EIMessageFilterBlock' : s + 'eip.message_filter',
  1440. 'EIDynamicRouterBlock' : s + 'eip.dynamic_router',
  1441. 'EIRecipientListBlock' : s + 'eip.recipient_list',
  1442. 'EISplitterBlock' : s + 'eip.splitter',
  1443. 'EIAggregatorBlock' : s + 'eip.aggregator',
  1444. 'EIResequencerBlock' : s + 'eip.resequencer',
  1445. 'EIComposedMessageBlock' : s + 'eip.composed_message_processor',
  1446. 'EIRoutingSlipBlock' : s + 'eip.routing_slip',
  1447. 'EIProcessManagerBlock' : s + 'eip.process_manager',
  1448. 'EIMessageBrokerBlock' : cs, //TODO
  1449. //Message Transformation
  1450. 'EIEnvelopeWrapperBlock' : s + 'eip.envelope_wrapper',
  1451. 'EIContentEnricherBlock' : s + 'eip.content_enricher',
  1452. 'EIContentFilterBlock' : s + 'eip.content_filter',
  1453. 'EIClaimCheckBlock' : s + 'eip.claim_check',
  1454. 'EINormalizerBlock' : s + 'eip.normalizer',
  1455. //Messaging Endpoints
  1456. 'EIMessagingGatewayBlock' : s + 'eip.messaging_gateway',
  1457. 'EITransactionalClientBlock' : s + 'eip.transactional_client',
  1458. 'EIPollingConsumerBlock' : s + 'eip.polling_consumer',
  1459. 'EIEventDrivenConsumerBlock' : s + 'eip.event_driven_consumer',
  1460. 'EICompetingConsumersBlock' : s + 'eip.competing_consumers',
  1461. 'EIMessageDispatcherBlock' : s + 'eip.message_dispatcher',
  1462. 'EISelectiveConsumerBlock' : s + 'eip.selective_consumer',
  1463. // 'EIDurableSubscriberBlock' NA
  1464. 'EIServiceActivatorBlock' : s + 'eip.service_activator',
  1465. //System Management
  1466. // 'EIControlBusBlock' NA
  1467. 'EIDetourBlock' : s + 'eip.detour',
  1468. 'EIWireTapBlock' : s + 'eip.wire_tap',
  1469. 'EIMessageHistoryBlock' : cs, //TODO
  1470. 'EIMessageStoreBlock' : s + 'eip.message_store',
  1471. 'EISmartProxyBlock' : s + 'eip.smart_proxy',
  1472. 'EITestMessageBlock' : s + 'eip.test_message',
  1473. 'EIChannelPurgerBlock' : s + 'eip.channel_purger',
  1474. //Google Cloud Platform
  1475. 'GCPIconComputeEngineBlock' : ss + 'gcp.compute.compute_engine',
  1476. 'GCPIconAppEngineBlock' : ss + 'gcp.compute.app_engine',
  1477. 'GCPIconContainerEngineBlock' : ss + 'gcp.compute.container_engine',
  1478. 'GCPIconContainerRegistryBlock' : ss + 'gcp.compute.container_registry',
  1479. 'GCPIconCloudFunctionsBlock' : ss + 'gcp.compute.cloud_functions',
  1480. 'GCPIconCloudStorageBlock' : ss + 'gcp.storage_databases.cloud_storage',
  1481. 'GCPIconCloudSQLBlock' : ss + 'gcp.storage_databases.cloud_sql',
  1482. 'GCPIconCloudBigtableBlock' : ss + 'gcp.storage_databases.cloud_bigtable',
  1483. 'GCPIconCloudDatastoreBlock' : ss + 'gcp.storage_databases.cloud_datastore',
  1484. 'GCPIconPersistentDiskBlock' : ss + 'gcp.storage_databases.persistent_disk',
  1485. 'GCPIconCloudVirtualNetworkBlock' : ss + 'gcp.networking.cloud_virtual_network',
  1486. 'GCPIconCloudLoadBalancingBlock' : ss + 'gcp.networking.cloud_load_balancing',
  1487. 'GCPIconCloudCDNBlock' : ss + 'gcp.networking.cloud_cdn',
  1488. 'GCPIconCloudInterconnectBlock' : ss + 'gcp.networking.cloud_interconnect',
  1489. 'GCPIconCloudDNSBlock' : ss + 'gcp.networking.cloud_dns',
  1490. 'GCPIconBigQueryBlock' : ss + 'gcp.big_data.bigquery',
  1491. 'GCPIconCloudDataflowBlock' : ss + 'gcp.big_data.cloud_dataflow',
  1492. 'GCPIconCloudDataprocBlock' : ss + 'gcp.big_data.cloud_dataproc',
  1493. 'GCPIconCloudDatalabBlock' : ss + 'gcp.big_data.cloud_datalab',
  1494. 'GCPIconCloudPubSubBlock' : ss + 'gcp.big_data.cloud_pubsub',
  1495. 'GCPIconGenomicsBlock' : ss + 'gcp.big_data.genomics',
  1496. 'GCPIconCloudMachineLearningServicesBlock' : ss + 'gcp.machine_learning.cloud_machine_learning',
  1497. 'GCPIconVisionAPIBlock' : ss + 'gcp.machine_learning.vision_api',
  1498. 'GCPIconSpeechAPIBlock' : ss + 'gcp.machine_learning.speech_api',
  1499. 'GCPIconNaturalLanguageAPIBlock' : ss + 'gcp.machine_learning.natural_language_api',
  1500. 'GCPIconTranslateAPIBlock' : ss + 'gcp.machine_learning.translation_api',
  1501. 'GCPIconStackdriverOverviewBlock' : ss + 'gcp.management_tools.stackdriver',
  1502. 'GCPIconMonitoringBlock' : ss + 'gcp.management_tools.monitoring',
  1503. // 'GCPIconLoggingBlock' NA
  1504. 'GCPIconErrorReportingBlock' : ss + 'gcp.management_tools.error_reporting',
  1505. 'GCPIconTraceBlock' : ss + 'gcp.management_tools.trace',
  1506. 'GCPIconDebuggerBlock' : ss + 'gcp.management_tools.debugger',
  1507. 'GCPIconDeploymentManagerBlock' : ss + 'gcp.management_tools.deployment_manager',
  1508. 'GCPIconCloudEndpointsBlock' : ss + 'gcp.management_tools.cloud_endpoints',
  1509. 'GCPIconCloudToolsForPowerShellBlock' : ss + 'gcp.developer_tools.cloud_tools_for_powershell',
  1510. 'GCPIconCloudToolsForVisualStudioBlock' : ss + 'gcp.developer_tools.cloud_tools_for_visual_studio',
  1511. 'GCPIconCloudIAMBlock' : ss + 'gcp.identity_and_security.cloud_iam',
  1512. 'GCPIconGCPLogoBlock' : ss + 'gcp.extras.generic_gcp',
  1513. 'GCPIconBlankBlock' : ss + 'gcp.extras.blue_hexagon',
  1514. //Equation
  1515. 'Equation' : cs, //TODO
  1516. //Walls
  1517. 'fpWall' : '',
  1518. //Rooms
  1519. //Doors & Windows
  1520. 'fpWindow' : s + 'floorplan.window',
  1521. 'fpOpening' : 'shape=rect',
  1522. 'fpDoor' : s + 'floorplan.doorLeft;flipV=1', //TODO
  1523. 'fpDoubleDoor' : s + 'floorplan.doorDouble;flipV=1', //TODO
  1524. //Stairs
  1525. 'fpStairs' : s + 'floorplan.stairs;direction=north',
  1526. 'fpStairsDirectional' : s + 'floorplan.stairs;direction=north',
  1527. 'fpStairsCurved' : cs, //TODO
  1528. 'fpStairsCurvedWide' : cs, //TODO
  1529. //Desks
  1530. // 'fpDeskEndSegment' NA
  1531. 'fpDeskLongSegment' : '',
  1532. 'fpDeskShortSegment' : '',
  1533. // 'fpDeskSmallCornerSegment' NA
  1534. 'fpDeskLargeCornerSegment' : s + 'floorplan.desk_corner',
  1535. // 'fpDeskMediumCornerSegment' NA
  1536. // 'fpDeskRoundedLSegment' NA
  1537. // 'fpDeskRoundedCornerSegment' NA
  1538. //Cubicle walls
  1539. 'fpCubiclePanel' : s + 'floorplan.wall;wallThickness=3',
  1540. 'fpCubicleWorkstation' : s + 'floorplan.wallU;wallThickness=3',
  1541. 'fpCubicleCorner5x5' : s + 'floorplan.wallCorner;wallThickness=3',
  1542. 'fpCubicleCorner6x6' : s + 'floorplan.wallCorner;wallThickness=3',
  1543. 'fpCubicleCorner8x8' : s + 'floorplan.wallCorner;wallThickness=3',
  1544. 'fpCubicleCorner8x6' : s + 'floorplan.wallCorner;wallThickness=3',
  1545. 'fpCubicleCornerOpen6x4' : s + 'floorplan.wallCorner;wallThickness=3',
  1546. 'fpCubicleDouble14x8' : s + 'floorplan.wallU;wallThickness=3',
  1547. 'fpCubicleEnclosed11x9' : s + 'floorplan.wallU;wallThickness=3',
  1548. //Tables & Chairs
  1549. 'fpTableConferenceOval' : 'shape=ellipse',
  1550. 'fpTableConferenceBoat' : '',
  1551. 'fpTableConferenceRectangle' : '',
  1552. 'fpTableDiningRound' : 'shape=ellipse',
  1553. 'fpTableDiningSquare' : '',
  1554. 'fpChairOffice' : s + 'floorplan.office_chair',
  1555. 'fpChairExecutive' : s + 'floorplan.office_chair',
  1556. 'fpChairLobby' : s + 'floorplan.office_chair',
  1557. 'fpChairDining' : s + 'floorplan.chair',
  1558. 'fpChairBarstool' : 'shape=ellipse',
  1559. //Cubicles - Prebuilt
  1560. //Tables - Prebuilt
  1561. //Cabinets - we don't have corresponding stencils, just rounded rectangles
  1562. 'fpCabinetBasic' : '',
  1563. // 'fpCabinetCornerLarge' NA
  1564. 'fpCabinetDoubleWide' : '',
  1565. 'fpCabinetDoubleWithShelves' : '',
  1566. 'fpCabinetShelvesBasic' : '',
  1567. 'fpCabinetShelvesDouble' : '',
  1568. 'fpCabinetBasicWithShelves' : '',
  1569. 'fpCabinetsAboveDeskShelves' : '',
  1570. //Restroom
  1571. 'fpRestroomToiletPrivate' : s + 'floorplan.toilet',
  1572. 'fpRestroomToiletPublic' : s + 'floorplan.toilet',
  1573. // 'fpRestroomBidet' NA
  1574. 'fpRestroomLights' : cs, //TODO
  1575. 'fpRestroomSinks' : cs, //TODO
  1576. // 'fpRestroomGrabBar' NA
  1577. 'fpRestroomBathtub' : s + 'floorplan.bathtub;direction=south',
  1578. 'fpRestroomShower' : s + 'floorplan.shower;flipH=1',
  1579. // 'fpRestroomCornerSink' NA
  1580. 'fpRestroomPedastalSink' : s + 'floorplan.sink_1',
  1581. 'fpRestroomCountertop' : '',
  1582. 'fpRestroomMirror' : 'shape=line;strokeWidth=3',
  1583. // 'fpDresserOrnateMirror' NA
  1584. // 'fpRestroomToiletPaper' NA
  1585. // 'fpRestroomStalls' NA
  1586. //Beds
  1587. 'fpBedDouble' : s + 'floorplan.bed_double',
  1588. 'fpBedSingle' : s + 'floorplan.bed_single',
  1589. 'fpBedQueen' : s + 'floorplan.bed_double',
  1590. 'fpBedKing' : s + 'floorplan.bed_double',
  1591. 'fpBedDoubleWithTrundle' : s + 'floorplan.bed_double',
  1592. 'fpBedBunk' : s + 'floorplan.bed_double',
  1593. // 'fpBedBunkL' NA
  1594. // 'fpBedCrib' NA
  1595. 'fpBedBassinet' : s + 'pid.fittings.compensator',
  1596. //Dressers
  1597. // 'fpDresserChest' NA
  1598. // 'fpDresserMirrorDresser' NA
  1599. // 'fpClosetRod' NA
  1600. // 'fpDresserOrnateMirror' NA
  1601. //Appliances
  1602. 'fpApplianceWasher' : '',
  1603. 'fpApplianceDryer' : '',
  1604. 'fpApplianceWaterHeater' : 'shape=ellipse',
  1605. // 'fpApplianceRefrigerator' NA
  1606. 'fpApplianceStoveOven' : s + 'floorplan.range_1',
  1607. 'fpStoveOvenSixBurner' : s + 'floorplan.range_2',
  1608. 'fpApplianceDishwasher' : '',
  1609. //Kitchen
  1610. 'fpKitchenSink' : s + 'floorplan.sink_2',
  1611. 'fpKitchenDoubleSink' : s + 'floorplan.sink_double',
  1612. 'fpKitchenCountertop' : '',
  1613. 'fpKitchenCountertopCorner' : s + 'floorplan.desk_corner',
  1614. //Couches
  1615. 'fpCouchLoveSeat' : s + 'floorplan.couch',
  1616. 'fpCouchSofa' : s + 'floorplan.couch',
  1617. // 'fpCouchSectional' NA
  1618. 'fpCouchOttoman' : '',
  1619. // 'fpCouchPillow' NA
  1620. //Technology
  1621. 'fpMiscDesktopComputer' : s + 'floorplan.workstation',
  1622. 'fpMiscLaptopComputer' : s + 'floorplan.laptop',
  1623. 'fpComputerMonitor' : s + 'floorplan.flat_tv',
  1624. 'fpCRTTelevision' : s + 'floorplan.flat_tv',
  1625. // 'fpMiscProjector' NA
  1626. // 'fpMiscProjectorScreen' NA
  1627. //Misc Floorplan
  1628. 'fpMiscIndoorPlant' : s + 'floorplan.plant',
  1629. // 'fpMiscPodium' NA
  1630. 'fpPiano' : s + 'floorplan.piano',
  1631. // 'fpPianoBench' : 'absoluteArcSize=1;arcSize=' + arcSize + ';rounded=1',
  1632. //Equipment
  1633. 'PEAxialCompressor' : s + 'pid.compressors.centrifugal_compressor_-_turbine_driven',
  1634. 'PECentrifugalCompressor' : s + 'pid.compressors.centrifugal_compressor',
  1635. 'PECentrifugalCompressor2' : s + 'pid.compressors.centrifugal_compressor_-_turbine_driven',
  1636. // 'PECentrifugalCompressor3' NA
  1637. 'PEReciprocationCompressor' : s + 'pid.compressors.reciprocating_compressor',
  1638. 'PERotaryCompressorBlock' : s + 'pid.compressors.rotary_compressor',
  1639. 'PERotaryCompressor2Block' : s + 'pid.compressors.compressor_and_silencers',
  1640. 'PEConveyorBlock' : s + 'pid2misc.conveyor',
  1641. // 'PEOverheadConveyorBlock' NA
  1642. // 'PEScraperConveyorBlock' NA
  1643. // 'PEScrewConveyorBlock' NA
  1644. // 'PEPositiveDisplacementBlock' NA
  1645. // 'PEPositiveDisplacement2' NA
  1646. 'PEElevator1Block' : s + 'pid.misc.bucket_elevator;flipH=1',
  1647. // 'PEElevator2Block' NA
  1648. // 'PEHoistBlock' NA
  1649. // 'PESkipHoistBlock' NA
  1650. // 'PEMotorBlock' NA
  1651. // 'PEDieselMotorBlock' NA
  1652. // 'PEElectricMotorBlock' NA
  1653. // 'PELiquidRingVacuumBlock' NA
  1654. // 'PETurbineDriverBlock' NA
  1655. // 'PEDoubleFlowTurbineBlock' NA
  1656. 'PEAgitatorMixerBlock' : s + 'pid.agitators.agitator_(propeller)',
  1657. 'PEDrumBlock' : s + 'pid.vessels.drum_or_condenser',
  1658. 'PETankEquipmentBlock' : s + 'pid.vessels.tank',
  1659. // 'PECentrifugalBlower' NA
  1660. // 'PEAlkylationBlock' NA
  1661. // 'PEBoomLoaderBlock' NA
  1662. // 'PEFluidCatalyticCrackingBlock' NA
  1663. // 'PEFluidCookingBlock' NA
  1664. // 'PEFluidizedReactorBlock' NA
  1665. // 'PETubularBlock' NA
  1666. // 'PEReformerBlock' NA
  1667. 'PEMixingReactorBlock' : s + 'pid.vessels.mixing_reactor',
  1668. // 'PEHydrodesulferizationBlock' NA
  1669. // 'PEHydrocrackingBlock' NA
  1670. 'PEPlateTowerBlock' : s + 'pid2misc.column;columnType=baffle',
  1671. 'PEPackedTowerBlock' : s + 'pid2misc.column;columnType=fixed',
  1672. // 'PEAutomaticStokerBlock' NA
  1673. // 'PEOilBurnerBlock' NA
  1674. // 'PECounterflowForcedDraftBlock' NA
  1675. // 'PECounterflowNaturalDraftBlock' NA
  1676. // 'PECrossflowInductedBlock' NA
  1677. 'PEFurnaceBlock' : s + 'pid.vessels.furnace',
  1678. // 'PEChimneyTowerBlock' NA
  1679. //Piping
  1680. 'PEOneToMany' : cs, //TODO
  1681. 'PEMultilines' : cs, //TODO
  1682. 'PEMidArrow' : 'shape=triangle',
  1683. 'PEButtWeld' : s + 'sysml.x',
  1684. 'PETopToTop' : s + 'pid.vessels.container,_tank,_cistern',
  1685. // 'PESonicSignal' NA
  1686. 'PENuclear' : s + 'electrical.waveforms.sine_wave',
  1687. // 'PEPneumatic' NA
  1688. // 'PEHydraulicSignalLine' NA
  1689. 'PEMechanicalLink' : 'shape=ellipse',
  1690. 'PESolderedSolvent' : 'shape=ellipse',
  1691. 'PEDoubleContainment' : 'shape=hexagon',
  1692. 'PEFlange' : s + 'pid.piping.double_flange',
  1693. 'PEFlange2' : s + 'pid.piping.flange_in;flipH=1',
  1694. 'PEEndCap' : s + 'pid.piping.cap',
  1695. 'PEEndCap2' : s + 'pid.vessels.container,_tank,_cistern;direction=north',
  1696. 'PEBreather' : s + 'pid.piping.breather',
  1697. 'PEElectronicallyInsulated' : s + 'pid.piping.double_flange',
  1698. 'PEReducer' : s + 'pid.piping.concentric_reducer',
  1699. 'PEInlineMixer' : s + 'pid.piping.in-line_mixer',
  1700. // 'PESeparator' NA
  1701. // 'PEBurstingDisc' NA
  1702. 'PEFlameArrester' : s + 'pid.piping.flame_arrestor',
  1703. // 'PEFlameArrester2' NA
  1704. 'PEDetonationArrester' : s + 'pid.piping.detonation_arrestor',
  1705. // 'PEDrainSilencer' NA
  1706. 'PETriangleSeparator' : 'shape=triangle;direction=west',
  1707. // 'PETriangleSeparator2' NA
  1708. 'PETundish' : s + 'ios7.misc.left',
  1709. 'PEOpenVent' : s + 'pid.vessels.vent_(bent)',
  1710. // 'PESiphonDrain' NA
  1711. 'PERemovableSpool' : s + 'pid.piping.removable_spool',
  1712. 'PEYTypeStrainer' : s + 'pid.piping.y-type_strainer',
  1713. 'PEDiverterValve' : s + 'pid.piping.diverter_valve',
  1714. 'PEPulsationDampener' : s + 'pid.piping.pulsation_dampener',
  1715. 'PEDuplexStrainer' : s + 'pid.piping.duplex_strainer',
  1716. 'PEBasketStrainer' : s + 'pid.piping.basket_strainer',
  1717. 'PEVentSilencer' : s + 'pid.piping.vent_silencer',
  1718. 'PEInlineSilencer' : s + 'pid.piping.in-line_silencer',
  1719. 'PESteamTrap' : s + 'pid.piping.steam_trap',
  1720. 'PEDesuperheater' : s + 'pid.piping.desuper_heater',
  1721. 'PEEjectorOrEductor' : s + 'pid.fittings.injector',
  1722. 'PEExhaustHead' : s + 'pid.piping.exhaust_head',
  1723. 'PERotaryValve' : s + 'pid.piping.rotary_valve',
  1724. 'PEExpansionJoint' : s + 'pid.piping.expansion_joint',
  1725. //Vessels
  1726. 'PEVesselBlock' : cs, //TODO
  1727. 'PEOpenTankBlock' : s + 'pid.vessels.container,_tank,_cistern', //TODO
  1728. 'PEOpenTopTank' : s + 'pid.vessels.container,_tank,_cistern',
  1729. 'PEClosedTankBlock' : cs, //TODO
  1730. 'PEStorageSphereBlock' : s + 'pid.vessels.storage_sphere',
  1731. 'PEColumnBlock' : s + 'pid.vessels.pressurized_vessel', //TODO
  1732. 'PEBagBlock' : s + 'pid.vessels.bag',
  1733. 'PEGasCylinderBlock' : s + 'pid.vessels.gas_bottle',
  1734. 'PEGasHolderBlock' : s + 'pid.vessels.gas_holder',
  1735. 'PEClarifierBlock' : s + 'pid.vessels.bunker_(conical_bottom)',
  1736. // 'PETankBlock' NA
  1737. 'PETrayColumnBlock' : s + 'pid2misc.column;columnType=tray',
  1738. 'PEReactionVesselBlock' : s + 'pid.vessels.reactor',
  1739. 'PEBin' : s + 'pid.vessels.tank_(conical_bottom)',
  1740. 'PEDomeRoofTank' : s + 'pid.vessels.tank_(dished_roof)',
  1741. 'PEConeRoofTank' : s + 'pid.vessels.tank_(conical_roof)',
  1742. // 'PEInternalFloatingRoof' NA
  1743. // 'PEDoubleWallTank' NA
  1744. // 'PEOnionTank' NA
  1745. //Heat Exchangers
  1746. 'PEBoilerBlock' : s + 'pid.misc.boiler_(dome)',
  1747. 'PEEquipmentBoilerBlock' : s + 'pid.misc.boiler_(dome)',
  1748. 'PEReboilerBlock' : s + 'pid.heat_exchangers.reboiler',
  1749. 'PECondenserBlock' : s + 'pid.heat_exchangers.heat_exchanger_(straight_tubes)',
  1750. 'PEEquipmentCondenserBlock' : s + 'pid.heat_exchangers.condenser',
  1751. // 'PEEvaporativeCondenserBlock' NA
  1752. 'PECoolingTowerBlock' : s + 'pid.misc.cooling_tower',
  1753. 'PEHeatExchangerBlock' : s + 'pid.heat_exchangers.shell_and_tube_heat_exchanger_1',
  1754. // 'PEAirCooledExchangerBlock' NA
  1755. 'PEHairpinExchangerBlock' : s + 'pid.heat_exchangers.hairpin_exchanger',
  1756. 'PEPlateAndFrameHeatExchangerBlock' : s + 'pid.heat_exchangers.plate_and_frame_heat_exchanger',
  1757. 'PESpiralHeatExchanger' : s + 'pid.heat_exchangers.spiral_heat_exchanger',
  1758. 'PEUTubeHeatExchangerBlock' : s + 'pid.heat_exchangers.u-tube_heat_exchanger',
  1759. 'PEDoublePipeHeatBlock' : s + 'pid.heat_exchangers.double_pipe_heat_exchanger',
  1760. 'PEShellAndTubeHeat1Block' : s + 'pid.heat_exchangers.shell_and_tube_heat_exchanger_1',
  1761. 'PEShellAndTubeHeat2Block' : s + 'pid.heat_exchangers.shell_and_tube_heat_exchanger_2',
  1762. 'PEShellAndTubeHeat3Block' : s + 'pid.heat_exchangers.shell_and_tube_heat_exchanger_1;direction=north',
  1763. 'PESinglePassHeatBlock' : s + 'pid.heat_exchangers.single_pass_heat_exchanger',
  1764. 'PEHeaterBlock' : s + 'pid.heat_exchangers.heater',
  1765. //Pumps
  1766. 'PEEjectorInjectorBlock' : s + 'pid.fittings.injector',
  1767. 'PECompressorTurbineBlock' : s + 'pid.engines.turbine;flipH=1', //TODO
  1768. // 'PEMotorDrivenTurbineBlock' NA
  1769. 'PETripleFanBlades2Block' : s + 'pid2misc.fan;fanType=common',
  1770. 'PEFanBlades2Block' : s + 'pid2misc.fan;fanType=common', //TODO
  1771. 'PECentrifugalPumpBlock' : s + 'pid.pumps.centrifugal_pump_1', //TODO
  1772. 'PECentrifugalPump' : s + 'pid.pumps.centrifugal_pump_1',
  1773. 'PECentrifugalPump2' : s + 'pid.pumps.centrifugal_pump_2',
  1774. 'PECentrifugalPump3' : s + 'pid.pumps.centrifugal_pump_1;flipH=1',
  1775. 'PEGearPumpBlock' : s + 'pid.pumps.gear_pump',
  1776. 'PEHorizontalPump' : s + 'pid.pumps.horizontal_pump',
  1777. 'PEProgressiveCavityPump' : s + 'pid.pumps.cavity_pump;flipH=1;flipV=1',
  1778. 'PEScrewPump' : s + 'pid.pumps.screw_pump',
  1779. 'PEScrewPump2' : s + 'pid.pumps.screw_pump_2;flipH=1',
  1780. 'PESumpPump' : s + 'pid.pumps.sump_pump',
  1781. 'PEVacuumPump' : s + 'pid.pumps.vacuum_pump',
  1782. 'PEVerticalPump' : s + 'pid.pumps.vertical_pump',
  1783. 'PEVerticalPump2' : s + 'pid.pumps.vertical_pump',
  1784. //Instruments
  1785. 'PEIndicatorBlock' : s + 'pid2inst.discInst;mounting=room', //TODO
  1786. 'PEIndicator2Block' : s + 'pid2inst.indicator;mounting=room;indType=inst', //TODO
  1787. 'PEIndicator3Block' : s + 'pid2inst.discInst;mounting=field',
  1788. 'PEIndicator4Block' : s + 'pid2inst.indicator;mounting=field;indType=inst',
  1789. // 'PEIndicator5Block' NA
  1790. 'PESharedIndicatorBlock' : s + 'pid2inst.sharedCont;mounting=room', //TODO
  1791. 'PESharedIndicator2Block' : s + 'pid2inst.indicator;mounting=room;indType=ctrl', //TODO
  1792. // 'PEComputerIndicatorBlock' NA
  1793. 'PEProgrammableIndicatorBlock' : s + 'pid2inst.progLogCont;mounting=room', //TODO
  1794. //Valves
  1795. 'PEGateValveBlock' : s + 'pid2valves.valve;valveType=gate', //TODO
  1796. 'PEGlobeValveBlock' : s + 'pid2valves.valve;valveType=globe', //TODO
  1797. 'PEControlValveBlock' : s + 'pid2valves.valve;valveType=gate;actuator=diaph', //TODO
  1798. 'PENeedleValveBlock' : s + 'pid2valves.valve;valveType=needle',
  1799. // 'PEButterflyValveBlock' NA
  1800. 'PEButterflyValve2Block' : s + 'pid2valves.valve;valveType=butterfly',
  1801. // 'PEBallValveBlock' NA
  1802. 'PEDiaphragmBlock' : s + 'pid2valves.valve;valveType=ball',
  1803. // 'PEPlugValveBlock' NA
  1804. 'PECheckValveBlock' : s + 'pid2valves.valve;valveType=check',
  1805. 'PECheckValve2Block' : s + 'pid2valves.valve;valveType=check',
  1806. 'PEAngleValveBlock' : s + 'pid2valves.valve;valveType=angle;actuator=none',
  1807. 'PEAngleGlobeValveBlock' : s + 'pid2valves.valve;valveType=angleGlobe;actuator=man;flipH=1', //TODO
  1808. 'PEPoweredValveBlock' : s + 'pid2valves.valve;valveType=gate;actuator=digital', //TODO
  1809. 'PEFloatOperatedValveBlock' : s + 'pid2valves.valve;valveType=gate;actuator=singActing',
  1810. // 'PENeedleValve2Block' NA
  1811. 'PEThreeWayValveBlock' : s + 'pid2valves.valve;valveType=threeWay;actuator=none',
  1812. // 'PEFourWayValveBlock' NA
  1813. // 'PEGaugeBlock' NA
  1814. 'PEBleederValveBlock' : s + 'pid2valves.blockBleedValve;actuator=none',
  1815. // 'PEOrificeBlock' NA
  1816. 'PERotameterBlock' : s + 'pid.flow_sensors.rotameter;flipH=1',
  1817. //Venn Gradient
  1818. 'VennGradientColor1' : 'shape=ellipse;fillOpacity=35',
  1819. 'VennGradientColor2' : 'shape=ellipse;fillOpacity=35',
  1820. 'VennGradientColor3' : 'shape=ellipse;fillOpacity=35',
  1821. 'VennGradientColor4' : 'shape=ellipse;fillOpacity=35',
  1822. 'VennGradientColor5' : 'shape=ellipse;fillOpacity=35',
  1823. 'VennGradientColor6' : 'shape=ellipse;fillOpacity=35',
  1824. 'VennGradientColor7' : 'shape=ellipse;fillOpacity=35',
  1825. 'VennGradientColor8' : 'shape=ellipse;fillOpacity=35',
  1826. //Venn Plain
  1827. 'VennPlainColor1' : 'shape=ellipse;fillOpacity=35',
  1828. 'VennPlainColor2' : 'shape=ellipse;fillOpacity=35',
  1829. 'VennPlainColor3' : 'shape=ellipse;fillOpacity=35',
  1830. 'VennPlainColor4' : 'shape=ellipse;fillOpacity=35',
  1831. 'VennPlainColor5' : 'shape=ellipse;fillOpacity=35',
  1832. 'VennPlainColor6' : 'shape=ellipse;fillOpacity=35',
  1833. 'VennPlainColor7' : 'shape=ellipse;fillOpacity=35',
  1834. 'VennPlainColor8' : 'shape=ellipse;fillOpacity=35',
  1835. //iOS Devices
  1836. 'iOS7DeviceiPhone5Portrait' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1837. 'iOS7DeviceiPhone5Landscape' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1838. 'iOS7DeviceiPadPortrait' : s + 'ios.iPad;bgStyle=bgGreen', //TODO
  1839. 'iOS7DeviceiPadLandscape' : s + 'ios.iPad;bgStyle=bgGreen', //TODO
  1840. 'iOS7DeviceiPhone6Portrait' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1841. 'iOS7DeviceiPhone6Landscape' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1842. 'iOS7DeviceiPhone6PlusPortrait' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1843. 'iOS7DeviceiPhone6PlusLandscape' : s + 'ios.iPhone;bgStyle=bgGreen', //TODO
  1844. //iPhone Elements
  1845. 'iOS7StatusBariPhone' : s + 'ios7ui.appBar',
  1846. // 'iOS7NavBariPhone' NA
  1847. 'iOS7TabsiPhone' : cs, //TODO
  1848. 'iOS7iPhoneActionSheet' : cs, //TODO
  1849. 'iOS7iPhoneKeyboard' : s + 'ios7.misc.keyboard_(letters)',
  1850. 'iOS7TableView' : cs, //TODO
  1851. //iPad Elements
  1852. 'iOS7StatusBariPad' : s + 'ios7ui.appBar',
  1853. 'iOS7NavBariPad' : cs, //TODO
  1854. 'iOS7TabsiPad' : cs, //TODO
  1855. 'iOS7iPadActionSheet' : cs, //TODO
  1856. 'iOS7iPadKeyboard' : s + 'ios7.misc.keyboard_(letters)',
  1857. // 'iOS7SplitView'
  1858. // 'iOS7iPadPopover'
  1859. //Common Elements
  1860. 'iOS7AlertDialog' : cs, //TODO
  1861. 'iOS7ProgressBar' : s + 'ios7ui.downloadBar', //TODO
  1862. 'iOS7Slider' : s + 'ios7ui.searchBox', //TODO
  1863. 'iOS7SearchBar' : s + 'ios7ui.searchBox',
  1864. 'iOS7Button' : '',
  1865. 'iOS7TextField' : '',
  1866. 'iOS7TextView' : '',
  1867. 'iOS7SegmentedControl' : cs, //TODO
  1868. 'iOS7Toggle' : s + 'ios7ui.onOffButton;buttonState=on;strokeColor=#38D145;strokeColor2=#aaaaaa;fillColor=#38D145;fillColor2=#ffffff', //TODO
  1869. 'iOS7Stepper' : s + 'ios7.misc.adjust;fillColor=#ffffff;gradientColor=none',
  1870. 'iOS7PageControls' : s + 'ios7ui.pageControl;fillColor=#666666;strokeColor=#bbbbbb', //TODO
  1871. 'iOS7Block' : '',
  1872. 'iOS7DatePicker' : cs, //TODO
  1873. 'iOS7TimePicker' : cs, //TODO
  1874. 'iOS7CountdownPicker' : cs, //TODO
  1875. //iOS Icons
  1876. 'iOS7IconArrow left' : s + 'ios7.misc.left',
  1877. 'iOS7IconArrow' : s + 'ios7.misc.right',
  1878. 'iOS7IconArrow up' : s + 'ios7.misc.up',
  1879. 'iOS7IconArrow down' : s + 'ios7.misc.down',
  1880. 'iOS7IconWifi' : s + 'ios7.icons.wifi',
  1881. 'iOS7IconBluetooth' : s + 'ios7.icons.bluetooth',
  1882. 'iOS7IconBattery' : s + 'ios7.icons.battery',
  1883. 'iOS7IconSiri' : s + 'ios7.icons.microphone',
  1884. 'iOS7IconCheck' : s + 'ios7.icons.select',
  1885. 'iOS7IconCreate' : s + 'ios7.icons.add',
  1886. 'iOS7IconInfo' : s + 'ios7.icons.info',
  1887. 'iOS7IconLocation' : s + 'ios7.icons.location_2',
  1888. 'iOS7IconQuestion' : s + 'ios7.icons.help',
  1889. 'iOS7IconSearch' : s + 'ios7.icons.looking_glass',
  1890. 'iOS7IconToolbox' : s + 'ios7.icons.briefcase',
  1891. 'iOS7IconOptions' : s + 'ios7.icons.options',
  1892. 'iOS7IconShare' : s + 'ios7.icons.share',
  1893. 'iOS7IconTyping' : s + 'ios7.icons.message',
  1894. 'iOS7IconCopy' : s + 'ios7.icons.folders_2',
  1895. 'iOS7IconChat' : s + 'ios7.icons.messages',
  1896. 'iOS7IconOrganize' : s + 'ios7.icons.folder',
  1897. 'iOS7IconTrash' : s + 'ios7.icons.trashcan',
  1898. 'iOS7IconReply' : s + 'ios7.icons.back',
  1899. 'iOS7IconArchive' : s + 'ios7.icons.box',
  1900. 'iOS7IconCompose' : s + 'ios7.icons.compose',
  1901. 'iOS7IconSend' : s + 'ios7.icons.pointer',
  1902. 'iOS7IconDrawer' : s + 'ios7.icons.storage',
  1903. 'iOS7IconMail' : s + 'ios7.icons.mail',
  1904. 'iOS7IconDocument' : s + 'ios7.icons.document',
  1905. 'iOS7IconFlag' : s + 'ios7.icons.flag',
  1906. 'iOS7IconBookmarks' : s + 'ios7.icons.book',
  1907. 'iOS7IconGlasses' : s + 'ios7.icons.glasses',
  1908. 'iOS7IconFiles' : s + 'ios7.icons.folders',
  1909. 'iOS7IconDownloads' : s + 'ios7.icons.down',
  1910. 'iOS7IconLock' : s + 'ios7.icons.locked',
  1911. // 'iOS7IconUnlock' NA
  1912. 'iOS7IconCloud' : s + 'ios7.icons.cloud',
  1913. // 'iOS7IconCloud-lock' NA
  1914. 'iOS7IconOrientation Lock' : s + 'ios7.icons.orientation_lock',
  1915. // 'iOS7IconNotification' NA
  1916. 'iOS7IconContacts' : s + 'ios7.icons.user',
  1917. 'iOS7IconGlobal' : s + 'ios7.icons.globe',
  1918. 'iOS7IconSettings' : s + 'ios7.icons.settings',
  1919. 'iOS7IconAirplay' : s + 'ios7.icons.move_to_folder',
  1920. 'iOS7IconCamera' : s + 'ios7.icons.camera',
  1921. 'iOS7IconAirplane' : s + 'signs.transportation.airplane_6;direction=south',
  1922. 'iOS7IconCalculator' : s + 'ios7.icons.calculator',
  1923. 'iOS7IconPreferences' : s + 'ios7.icons.most_viewed',
  1924. 'iOS7IconPhone' : s + 'signs.tech.telephone_3',
  1925. 'iOS7IconKeypad' : s + 'ios7.icons.keypad',
  1926. 'iOS7IconVoicemail' : s + 'ios7.icons.tape',
  1927. 'iOS7IconStar' : s + 'ios7.icons.star',
  1928. 'iOS7IconMost Viewed' : s + 'ios7.icons.most_viewed',
  1929. 'iOS7IconVideo' : s + 'ios7.icons.video_conversation',
  1930. 'iOS7IconVolumne Controls' : s + 'ios7.icons.volume',
  1931. 'iOS7IconLocation pin' : s + 'ios7.icons.location',
  1932. 'iOS7IconCalendar' : s + 'ios7.icons.calendar',
  1933. 'iOS7IconAlarm' : s + 'ios7.icons.alarm_clock',
  1934. 'iOS7IconClock' : s + 'ios7.icons.clock',
  1935. 'iOS7IconTimer' : s + 'ios7.icons.gauge',
  1936. 'iOS7IconVolume down' : s + 'ios7.icons.silent',
  1937. 'iOS7IconVolume' : s + 'ios7.icons.volume_2',
  1938. 'iOS7IconVolume up' : s + 'ios7.icons.loud',
  1939. 'iOS7IconRepeat' : s + 'ios7.icons.reload',
  1940. 'iOS7IconRewind' : s + 'ios7.icons.backward',
  1941. 'iOS7IconPlay' : s + 'ios7.icons.play',
  1942. 'iOS7IconPause' : s + 'ios7.icons.pause',
  1943. 'iOS7IconFast forward' : s + 'ios7.icons.forward',
  1944. // 'iOS7IconArtists' NA
  1945. // 'iOS7IconPlaylist' NA
  1946. 'iOS7IconControls' : s + 'ios7.icons.controls',
  1947. // 'iOS7IconShuffle' NA
  1948. 'iOS7IconPrivacy' : s + 'ios7.icons.privacy',
  1949. 'iOS7IconLink' : s + 'ios7.icons.link',
  1950. 'iOS7IconLight' : s + 'ios7.icons.flashlight',
  1951. 'iOS7IconBrightness' : s + 'ios7.icons.sun',
  1952. 'iOS7IconHeart' : s + 'ios7.icons.heart',
  1953. 'iOS7IconJava' : s + 'ios7.icons.cup',
  1954. 'iOS7IconBox' : s + 'ios7.icons.bag',
  1955. 'iOS7IconEye' : s + 'ios7.icons.eye',
  1956. 'iOS7IconDo not disturb' : s + 'ios7.icons.moon',
  1957. //iOS Activity
  1958. // 'iOS7ActivityAdd bookmark' NA
  1959. // 'iOS7ActivityAdd to home screen' NA
  1960. // 'iOS7ActivityAdd to reading list' NA
  1961. // 'iOS7ActivityAirplay' NA
  1962. // 'iOS7ActivityAssign to contact' NA
  1963. // 'iOS7ActivityCopy' NA
  1964. // 'iOS7ActivityPrint' NA
  1965. // 'iOS7ActivitySlideshow' NA
  1966. // 'iOS7ActivityUse as wallpaper' NA
  1967. //UI Containers
  1968. 'UI2BrowserBlock' : s + 'mockup.containers.browserWindow;mainText=,', //TODO
  1969. 'UI2WindowBlock' : s + 'mockup.containers.window;strokeColor2=#008cff;strokeColor3=#c4c4c4;fontColor=#666666;mainText=',
  1970. 'UI2DialogBlock' : cs, //TODO
  1971. 'UI2AreaBlock' : '',
  1972. 'UI2ElementBlock' : '',
  1973. 'UI2AccordionBlock' : cs, //TODO
  1974. 'UI2TabBarContainerBlock' : cs, //TODO
  1975. 'UI2TabBar2ContainerBlock' : cs, //TODO
  1976. 'UI2VTabBarContainerBlock' : cs, //TODO
  1977. 'UI2VScrollBlock' : s + 'mockup.navigation.scrollBar;direction=north',
  1978. 'UI2HScrollBlock' : s + 'mockup.navigation.scrollBar',
  1979. 'UI2VerticalSplitterBlock' : s + 'mockup.forms.splitter;direction=north',
  1980. 'UI2HorizontalSplitterBlock' : s + 'mockup.forms.splitter',
  1981. //UI Widgets
  1982. 'UI2ImageBlock' : s + 'mockup.graphics.simpleIcon',
  1983. 'UI2VideoBlock' : s + 'mockup.containers.videoPlayer;barHeight=30',
  1984. 'UI2AudioBlock' : s + 'mockup.misc.playbackControls',
  1985. 'UI2MapBlock' : s + 'mockup.misc.map',
  1986. // 'UI2CalendarBlock' NA
  1987. 'UI2BarChartBlock' : s + 'mockup.graphics.barChart;strokeColor=none;strokeColor2=none',
  1988. 'UI2ColumnChartBlock' : s + 'mockup.graphics.columnChart;strokeColor=none;strokeColor2=none',
  1989. 'UI2LineChartBlock' : s + 'mockup.graphics.lineChart;strokeColor=none',
  1990. 'UI2PieChartBlock' : s + 'mockup.graphics.pieChart;parts=10,20,35',
  1991. 'UI2WebcamBlock' : s + 'mockup.containers.userMale',
  1992. 'UI2CaptchaBlock' : s + 'mockup.text.captcha;mainText=',
  1993. // 'Image_ui_formatting_toolbar2'
  1994. //UI Input
  1995. 'UI2ButtonBlock' : 'rounded=1;arcSize=25;',
  1996. 'UI2CheckBoxBlock' : cs, //TODO
  1997. 'UI2HorizontalCheckBoxBlock' : cs, //TODO
  1998. 'UI2RadioBlock' : cs, //TODO
  1999. 'UI2HorizontalRadioBlock' : cs, //TODO
  2000. 'UI2ColorPickerBlock' : s + 'mockup.forms.colorPicker;chosenColor=#aaddff',
  2001. 'UI2TextInputBlock' : '',
  2002. 'UI2SelectBlock' : s + 'mockup.forms.comboBox;strokeColor=#999999;fillColor=#ddeeff;align=left;fillColor2=#aaddff;mainText=;fontColor=#666666',
  2003. 'UI2VSliderBlock' : s + 'mockup.forms.horSlider;sliderStyle=basic;sliderPos=20;handleStyle=circle;direction=north',
  2004. 'UI2HSliderBlock' : s + 'mockup.forms.horSlider;sliderStyle=basic;sliderPos=20;handleStyle=circle',
  2005. // 'UI2DatePickerBlock' NA
  2006. 'UI2SearchBlock' : s + 'mockup.forms.searchBox;mainText=;flipH=1',
  2007. 'UI2NumericStepperBlock' : s + 'mockup.forms.spinner;spinLayout=right;spinStyle=normal;adjStyle=triangle;fillColor=#000000;mainText=',
  2008. 'UI2TableBlock' : cs, //TODO
  2009. //UI Menus
  2010. 'UI2ButtonBarBlock' : cs, //TODO
  2011. 'UI2VerticalButtonBarBlock' : cs, //TODO
  2012. 'UI2LinkBarBlock' : cs, //TODO
  2013. 'UI2BreadCrumbsBlock' : cs, //TODO
  2014. 'UI2MenuBarBlock' : cs, //TODO
  2015. 'UI2AtoZBlock' : s + 'mockup.text.alphanumeric;linkText=;fontStyle=4',
  2016. 'UI2PaginationBlock' : s + 'mockup.navigation.pagination;linkText=;fontStyle=4',
  2017. 'UI2ContextMenuBlock' : cs, //TODO
  2018. 'UI2TreePaneBlock' : cs, //TODO
  2019. 'UI2PlaybackControlsBlock' : s + 'mockup.misc.playbackControls;fillColor=#ffffff;strokeColor=#999999;fillColor2=#99ddff;strokeColor2=none;fillColor3=#ffffff;strokeColor3=none',
  2020. 'Image_ui_formatting_toolbar' : s + 'mockup.menus_and_buttons.font_style_selector_2',
  2021. //UI Misc
  2022. 'UI2ProgressBarBlock' : s + 'mockup.misc.progressBar;fillColor2=#888888;barPos=25',
  2023. 'UI2HelpIconBlock' : s + 'mockup.misc.help_icon',
  2024. 'UI2BraceNoteBlock' : s + 'mockup.markup.curlyBrace;direction=north', //TODO
  2025. 'UI2TooltipBlock' : s + 'basic.rectangular_callout;flipV=1', //TODO
  2026. 'UI2CalloutBlock' : 'shape=ellipse',
  2027. 'UI2AlertBlock' : cs, //TODO
  2028. //iOS 6 iPad Elements
  2029. 'Image_ipad_ipad' : s + 'ios.iPad;bgStyle=bgGreen',
  2030. 'iPadGrayBackgroundBlock' : '',
  2031. 'Image_ipad_top_bar' : s + 'ios.iTopBar2;opacity=50;fillColor=#999999;strokeColor=#cccccc',
  2032. // 'Image_ipad_bar_gray' : '',
  2033. // 'Image_ipad_bar_semi_trans_black' : '',
  2034. // 'Image_ipad_bar_black' : '',
  2035. // 'Image_ipad_safari_top' NA
  2036. 'Image_ipad_search' : s + 'mockup.forms.searchBox;mainText=;flipH=1',
  2037. 'Image_ipad_alert_dialog' : cs, //TODO
  2038. 'Image_ipad_dialog' : cs, //TODO
  2039. 'Image_ipad_popover' : s + 'ios.iOption;barPos=50;pointerPos=top;buttonText=',
  2040. 'Image_ipad_table' : cs, //TODO
  2041. 'Image_ipad_vtab' : cs, //TODO
  2042. //iOS 6 iPad Controls
  2043. 'Image_ipad_button_black' : '',
  2044. 'Image_ipad_button_blue' : '',
  2045. 'Image_ipad_button_grayblue' : '',
  2046. 'Image_ipad_button_red' : '',
  2047. 'Image_ipad_back_button_gray' : s + 'ios.iButtonBack;buttonText=;fillColor=#eeeeee;fillColor2=#aaaaaa',
  2048. 'Image_ipad_back_button_black' : s + 'ios.iButtonBack;buttonText=;fillColor=#888888;fillColor2=#000000',
  2049. 'Image_ipad_sort_handle' : s + 'ios7.icons.options',
  2050. 'Image_ipad_dropdown' : s + 'ios.iComboBox;buttonText=;fillColor=#dddddd;fillColor2=#3D5565',
  2051. 'Image_ipad_email_name' : '',
  2052. 'Image_ipad_prev_next' : s + 'ios.iPrevNext;strokeColor=#444444;fillColor=#dddddd;fillColor2=#3D5565;fillColor3=#ffffff',
  2053. 'Image_ipad_keyboard_portrait' : s + 'ios.iKeybLett',
  2054. 'Image_ipad_keyboard_landscape' : s + 'ios.iKeybLett',
  2055. 'Image_ipad_large_tabbed_button' : cs, //TODO
  2056. 'Image_ipad_sort_button' : cs, //TODO
  2057. 'Image_ipad_tab_bar' : cs, //TODO
  2058. 'Image_ipad_slider' : s + 'ios.iSlider;barPos=20',
  2059. // 'Image_ipad_switch_off'
  2060. //iOS 6 iPad Icons
  2061. 'Image_ipad_add_icon_blue' : s + 'ios.iAddIcon;fillColor=#8BbEff;fillColor2=#135Ec8;strokeColor=#ffffff',
  2062. 'Image_ipad_add_icon_green' : s + 'ios.iAddIcon;fillColor=#7AdF78;fillColor2=#1A9917;strokeColor=#ffffff',
  2063. 'Image_ipad_remove_icon' : s + 'ios.iDeleteIcon;fillColor=#e8878E;fillColor2=#BD1421;strokeColor=#ffffff',
  2064. 'Image_ipad_arrow_icon' : s + 'ios.iArrowIcon;fillColor=#8BbEff;fillColor2=#135Ec8;strokeColor=#ffffff',
  2065. 'Image_ipad_arrow' : s + 'ios7.misc.more',
  2066. 'Image_ipad_checkmark' : s + 'ios7.misc.check',
  2067. 'Image_ipad_check_off' : 'shape=ellipse', //TODO
  2068. 'Image_ipad_location_dot' : 'shape=ellipse',
  2069. 'Image_ipad_mark_as_read' : 'shape=ellipse',
  2070. 'Image_ipad_pin_green' : s + 'ios.iPin;fillColor2=#00dd00;fillColor3=#004400;strokeColor=#006600',
  2071. 'Image_ipad_pin_red' : s + 'ios.iPin;fillColor2=#dd0000;fillColor3=#440000;strokeColor=#660000',
  2072. 'Image_ipad_radio_off' : 'shape=ellipse', //TODO
  2073. 'Image_ipad_checkbox_off' : 'absoluteArcSize=1;arcSize=' + arcSize + ';rounded=1', //TODO
  2074. 'Image_ipad_indicator' : 'absoluteArcSize=1;arcSize=' + arcSize + ';rounded=1;fillColor=#e8878E;gradientColor=#BD1421;strokeColor=#ffffff',
  2075. //iOS 6 iPhone Elements
  2076. 'Image_iphone_iphone_4' : s + 'ios.iPhone;bg=bgGreen',
  2077. 'Image_iphone_bg_black' : '',
  2078. 'Image_iphone_bg_gray' : '',
  2079. 'Image_iphone_bg_stripe_drk' : s + 'ios.iBgStriped;strokeColor=#18211b;fillColor=#5D7585;strokeColor2=#657E8F',
  2080. 'Image_iphone_bg_stripe_lt' : s + 'ios.iBgStriped;strokeColor=#18211b;fillColor=#5D7585;strokeColor2=#657E8F',
  2081. 'Image_iphone_bg_white' : '',
  2082. 'Image_iphone_top_bar_app' : s + 'ios.iAppBar',
  2083. 'Image_iphone_top_bar_home' : s + 'ios.iTopBar2;opacity=50;fillColor=#999999;strokeColor=#cccccc;strokeWidth=1',
  2084. 'Image_iphone_bar_top' : '',
  2085. 'Image_iphone_bar_semi_trans_black' : '',
  2086. 'Image_iphone_bar_semi_trans_blue' : '',
  2087. 'Image_iphone_search' : s + 'mockup.forms.searchBox;mainText=;flipH=1',
  2088. 'Image_iphone_table' : cs, //TODO
  2089. 'Image_iphone_table_w_buttons' : cs, //TODO
  2090. 'Image_iphone_table_w_icons' : cs, //TODO
  2091. 'Image_iphone_list' : cs, //TODO
  2092. // 'Image_iphone_safari_top' NA
  2093. // 'Image_iphone_safari_bottom' NA
  2094. 'Image_iphone_gray_grad_list' : '', //TODO
  2095. // 'Image_iphone_alert_bar' NA
  2096. // 'Image_iphone_alert_dialog' : cs, //TODO
  2097. 'Image_iphone_dialog' : cs, //TODO
  2098. 'Image_iphone_scroll_pane' : cs, //TODO
  2099. 'Image_iphone_alpha_list' : s + 'ios.iAlphaList',
  2100. //iOS 6 iPhone Controls
  2101. 'Image_iphone_button_black' : '',
  2102. 'Image_iphone_button_blue' : '',
  2103. 'Image_iphone_button_grayblue' : '',
  2104. 'Image_iphone_button_red' : '',
  2105. 'Image_iphone_button_lg_light' : '',
  2106. 'Image_iphone_button_lg_dark' : '',
  2107. 'Image_iphone_button_lg_green' : '',
  2108. 'Image_iphone_button_lg_red' : '',
  2109. 'Image_iphone_button_lg_yellow' : '',
  2110. 'Image_iphone_button_xl_green' : '',
  2111. 'Image_iphone_back_button' : s + 'ios.iButtonBack;strokeColor=#444444;buttonText=;fillColor=#dddddd;fillColor2=#3D5565',
  2112. 'Image_iphone_prev_next' : s + 'ios.iPrevNext;strokeColor=#444444;fillColor=#dddddd;fillColor2=#3D5565;fillColor3=#ffffff',
  2113. 'Image_iphone_sort_handle' : s + 'ios7.icons.options',
  2114. 'Image_iphone_slider' : s + 'ios.iSlider;barPos=60',
  2115. 'Image_iphone_dropdown' : s + 'ios.iComboBox;buttonText=;fillColor=#dddddd;fillColor2=#3D5565',
  2116. 'Image_iphone_email_name' : '',
  2117. 'Image_iphone_switch_off' : s + 'android.switch_off;fillColor=#666666', //TODO
  2118. 'Image_iphone_keyboard_button_blue' : '',
  2119. 'Image_iphone_keyboard_letters' : s + 'ios.iKeybLett',
  2120. 'Image_iphone_keyboard_landscape' : s + 'ios.iKeybLett',
  2121. 'Image_iphone_large_tabbed_button' : cs, //TODO
  2122. 'Image_iphone_sort_button' : cs, //TODO
  2123. 'Image_iphone_tab_bar' : cs, //TODO
  2124. 'Image_iphone_picker_multi' : cs, //TODO
  2125. 'Image_iphone_picker_web' : cs, //TODO
  2126. //iOS 6 iPhone Icons
  2127. 'Image_iphone_add_icon_blue' : s + 'ios.iAddIcon;fillColor=#8BbEff;fillColor2=#135Ec8;strokeColor=#ffffff',
  2128. 'Image_iphone_add_icon_green' : s + 'ios.iAddIcon;fillColor=#7AdF78;fillColor2=#1A9917;strokeColor=#ffffff',
  2129. 'Image_iphone_remove_icon' : s + 'ios.iDeleteIcon;fillColor=#e8878E;fillColor2=#BD1421;strokeColor=#ffffff',
  2130. 'Image_iphone_arrow_icon' : s + 'ios.iArrowIcon;fillColor=#8BbEff;fillColor2=#135Ec8;strokeColor=#ffffff',
  2131. 'Image_iphone_arrow' : s + 'ios7.misc.more',
  2132. 'Image_iphone_checkmark' : s + 'ios7.misc.check',
  2133. 'Image_iphone_check_off' : 'shape=ellipse', //TODO
  2134. 'Image_iphone_location_dot' : 'shape=ellipse',
  2135. 'Image_iphone_mark_as_read' : 'shape=ellipse',
  2136. 'Image_iphone_pin_green' : s + 'ios.iPin;fillColor2=#00dd00;fillColor3=#004400;strokeColor=#006600',
  2137. 'Image_iphone_pin_red' : s + 'ios.iPin;fillColor2=#dd0000;fillColor3=#440000;strokeColor=#660000',
  2138. 'Image_iphone_radio_off' : 'shape=ellipse', //TODO
  2139. 'Image_iphone_checkbox_off' : '', //TODO
  2140. 'Image_iphone_indicator' : 'fillColor=#e8878E;gradientColor=#BD1421;strokeColor=#ffffff',
  2141. 'Image_iphone_thread_count' : ''
  2142. };
  2143. function convertText(props)
  2144. {
  2145. var text = (props.Text != null) ? props.Text :
  2146. ((props.Value != null) ? props.Value :
  2147. props.Lane_0);
  2148. var text2 = null;
  2149. if (text == null && props.State != null)
  2150. {
  2151. if (props.State.t != null)
  2152. {
  2153. text = props.State;
  2154. }
  2155. }
  2156. else if (text == null && props.Note != null)
  2157. {
  2158. if (props.Note.t != null)
  2159. {
  2160. text = props.Note;
  2161. }
  2162. }
  2163. else if (props.t != null)
  2164. {
  2165. text = props;
  2166. }
  2167. if (text == null && props.TextAreas != null)
  2168. {
  2169. if (props.TextAreas.Text != null)
  2170. {
  2171. if (props.TextAreas.Text.Value != null)
  2172. {
  2173. if (props.TextAreas.Text.Value.t != null)
  2174. {
  2175. text = props.TextAreas.Text.Value;
  2176. }
  2177. }
  2178. }
  2179. }
  2180. // TODO: Convert text object to HTML
  2181. if (text != null)
  2182. {
  2183. if (text.t != null)
  2184. {
  2185. text.t = text.t.replace(/</g, '&lt;');
  2186. text.t = text.t.replace(/>/g, '&gt;');
  2187. return text.t;
  2188. }
  2189. if (text.Value != null)
  2190. {
  2191. if (text.Value.t != null)
  2192. {
  2193. text.Value.t = text.Value.t.replace(/</g, '&lt;');
  2194. text.Value.t = text.Value.t.replace(/>/g, '&gt;');
  2195. return text.Value.t;
  2196. }
  2197. }
  2198. }
  2199. return (text2 != null) ? text2 : '';
  2200. };
  2201. function getAction(obj)
  2202. {
  2203. if (obj.Action != null)
  2204. {
  2205. return obj.Action;
  2206. }
  2207. return obj;
  2208. };
  2209. function getTextM(properties)
  2210. {
  2211. if (properties.Text != null)
  2212. {
  2213. if (properties.Text.m != null)
  2214. {
  2215. return properties.Text.m;
  2216. }
  2217. }
  2218. else if(properties.TextAreas != null)
  2219. {
  2220. if (properties.TextAreas.Text != null)
  2221. {
  2222. if (properties.TextAreas.Text.Value != null)
  2223. {
  2224. if (properties.TextAreas.Text.Value.m != null)
  2225. {
  2226. return properties.TextAreas.Text.Value.m;
  2227. }
  2228. }
  2229. }
  2230. }
  2231. else if (properties.m != null)
  2232. {
  2233. return properties.m;
  2234. }
  2235. return null;
  2236. }
  2237. function getLabelStyle(properties)
  2238. {
  2239. var style = getFontSize(properties) +
  2240. getFontColor(properties) +
  2241. getFontStyle(properties) +
  2242. getTextAlignment(properties) +
  2243. getTextLeftSpacing(properties) +
  2244. getTextRightSpacing(properties) +
  2245. getTextTopSpacing(properties) +
  2246. getTextBottomSpacing(properties) +
  2247. getTextGlobalSpacing(properties) +
  2248. getTextVerticalAlignment(properties);
  2249. return style;
  2250. }
  2251. function getFontSize(properties)
  2252. {
  2253. //adds font size
  2254. var isV = false;
  2255. var m = getTextM(properties);
  2256. if (m != null)
  2257. {
  2258. var i = 0;
  2259. while ((!isV) && (i < m.length))
  2260. {
  2261. var currM = m[i];
  2262. if (currM.n == 's')
  2263. {
  2264. if (currM.v != null)
  2265. {
  2266. isV = true;
  2267. return 'fontSize=' + Math.round(currM.v * scale) + ';';
  2268. }
  2269. }
  2270. i++;
  2271. }
  2272. }
  2273. if (isV == 0)
  2274. {
  2275. return 'fontSize=10;';
  2276. }
  2277. return '';
  2278. }
  2279. function getFontColor(properties)
  2280. {
  2281. //adds font color
  2282. var isC = false;
  2283. var m = getTextM(properties);
  2284. if (m != null)
  2285. {
  2286. var i = 0;
  2287. while ((!isC) && (i < m.length))
  2288. {
  2289. var currM = m[i];
  2290. if (currM.n == 'c')
  2291. {
  2292. if (currM.v != null)
  2293. {
  2294. isC = true;
  2295. var currV = currM.v;
  2296. if (currV.charAt(0) != '#')
  2297. {
  2298. currV = '#' + currV;
  2299. }
  2300. var currV = currV.substring(0, 7);
  2301. return mxConstants.STYLE_FONTCOLOR + '=' + currV + ';';
  2302. }
  2303. }
  2304. i++;
  2305. }
  2306. }
  2307. return '';
  2308. }
  2309. function getFontStyle(properties)
  2310. {
  2311. var m = getTextM(properties);
  2312. if (m != null)
  2313. {
  2314. var fontStyle = 0;
  2315. //check for bold text
  2316. var isBT = false;
  2317. if (m != null)
  2318. {
  2319. var i = 0;
  2320. while ((!isBT) && (i < m.length))
  2321. {
  2322. var currM = m[i];
  2323. if (currM.n == 'b')
  2324. {
  2325. if (currM.v != null && currM.v)
  2326. {
  2327. isBT = true;
  2328. fontStyle += 1;
  2329. }
  2330. }
  2331. i++;
  2332. }
  2333. }
  2334. //check for italic text
  2335. var isIT = false;
  2336. if (m != null)
  2337. {
  2338. var i = 0;
  2339. while ((!isIT) && (i < m.length))
  2340. {
  2341. var currM = m[i];
  2342. if (currM.n == 'i')
  2343. {
  2344. if (currM.v != null && currM.v)
  2345. {
  2346. isIT = true;
  2347. fontStyle += 2;
  2348. }
  2349. }
  2350. i++;
  2351. }
  2352. }
  2353. //check for underline text
  2354. var isUT = false;
  2355. if (m != null)
  2356. {
  2357. var i = 0;
  2358. while ((!isUT) && (i < m.length))
  2359. {
  2360. var currM = m[i];
  2361. if (currM.n == 'u')
  2362. {
  2363. if (currM.v != null && currM.v)
  2364. {
  2365. isUT = true;
  2366. fontStyle += 4;
  2367. }
  2368. }
  2369. i++;
  2370. }
  2371. }
  2372. if (fontStyle > 0)
  2373. {
  2374. return 'fontStyle=' + fontStyle + ';';
  2375. }
  2376. }
  2377. return '';
  2378. }
  2379. function getTextAlignment(properties)
  2380. {
  2381. var m = getTextM(properties);
  2382. //adds text alignment
  2383. var isA = false;
  2384. if (m != null)
  2385. {
  2386. var i = 0;
  2387. while ((!isA) && (i < m.length))
  2388. {
  2389. var currM = m[i];
  2390. if (currM.n == 'a')
  2391. {
  2392. if (currM.v != null)
  2393. {
  2394. isA = true;
  2395. return 'align=' + currM.v + ';';
  2396. }
  2397. }
  2398. i++;
  2399. }
  2400. }
  2401. // if (!isA)
  2402. // {
  2403. // return createStyle(mxConstants.STYLE_ALIGN, properties.TextAlign, 'center');
  2404. // }
  2405. return 'align=center;';
  2406. }
  2407. function getTextLeftSpacing(properties)
  2408. {
  2409. var m = getTextM(properties);
  2410. if (m != null)
  2411. {
  2412. //adds left spacing
  2413. var i = 0;
  2414. while (i < m.length)
  2415. {
  2416. var currM = m[i];
  2417. if (currM.n == 'il')
  2418. {
  2419. if (currM.v != null)
  2420. {
  2421. return 'spacingLeft=' + currM.v * 0.6 + ';';
  2422. }
  2423. }
  2424. else if (currM.n == 's' && getTextAlignment(properties) != 'align=center;')
  2425. {
  2426. if (currM.v != null)
  2427. {
  2428. return 'spacingLeft=' + currM.v * 0.6 + ';';
  2429. }
  2430. }
  2431. i++;
  2432. }
  2433. }
  2434. return '';
  2435. }
  2436. function getTextRightSpacing(properties)
  2437. {
  2438. //adds right spacing
  2439. var isIR = false;
  2440. var m = getTextM(properties);
  2441. if (m != null)
  2442. {
  2443. var i = 0;
  2444. while ((!isIR) && (i < m.length))
  2445. {
  2446. var currM = m[i];
  2447. if (currM.n == 'ir')
  2448. {
  2449. if (currM.v != null)
  2450. {
  2451. isIR = true;
  2452. return 'spacingRight=' + currM.v + ';';
  2453. }
  2454. }
  2455. i++;
  2456. }
  2457. }
  2458. return '';
  2459. }
  2460. function getTextTopSpacing(properties)
  2461. {
  2462. //adds top spacing
  2463. var isMT = false;
  2464. var m = getTextM(properties);
  2465. if (m != null)
  2466. {
  2467. var i = 0;
  2468. while ((!isMT) && (i < m.length))
  2469. {
  2470. var currM = m[i];
  2471. if (currM.n == 'mt')
  2472. {
  2473. if (currM.v != null)
  2474. {
  2475. isMT = true;
  2476. return 'spacingTop=' + currM.v + ';';
  2477. }
  2478. }
  2479. i++;
  2480. }
  2481. }
  2482. return '';
  2483. }
  2484. function getTextBottomSpacing(properties)
  2485. {
  2486. //adds bottom spacing
  2487. var isMB = false;
  2488. var m = getTextM(properties);
  2489. if (m != null)
  2490. {
  2491. var i = 0;
  2492. while ((!isMB) && (i < m.length))
  2493. {
  2494. var currM = m[i];
  2495. if (currM.n == 'mb')
  2496. {
  2497. if (currM.v != null)
  2498. {
  2499. isMB = true;
  2500. return 'spacingBottom=' + currM.v + ';';
  2501. }
  2502. }
  2503. i++;
  2504. }
  2505. }
  2506. return '';
  2507. }
  2508. function getTextGlobalSpacing(properties)
  2509. {
  2510. //adds global spacing
  2511. if (typeof properties.InsetMargin === 'number')
  2512. {
  2513. return 'spacing=' + parseInt(properties.InsetMargin) + ';';
  2514. }
  2515. return '';
  2516. }
  2517. function getTextVerticalAlignment(properties)
  2518. {
  2519. // adds text vertical alignment
  2520. if (properties.Text_VAlign != null)
  2521. {
  2522. if (typeof properties.Text_VAlign === 'string')
  2523. {
  2524. return 'verticalAlign=' + properties.Text_VAlign + ';';
  2525. }
  2526. }
  2527. return createStyle(mxConstants.STYLE_VERTICAL_ALIGN, properties.TextVAlign, 'middle');
  2528. }
  2529. function getStrokeColor(properties, action)
  2530. {
  2531. if (!hardStroke.includes(action.Class))
  2532. {
  2533. if (properties.LineWidth == 0)
  2534. {
  2535. return mxConstants.STYLE_STROKECOLOR + '=none;';
  2536. }
  2537. else
  2538. {
  2539. return createStyle(mxConstants.STYLE_STROKECOLOR, properties.LineColor.substring(0, 7), '#000000');
  2540. }
  2541. }
  2542. else
  2543. {
  2544. if (action.Class.substring(0,4) == 'Venn')
  2545. {
  2546. return createStyle(mxConstants.STYLE_STROKECOLOR, properties.FillColor.substring(0, 7), '#FFFFFF');
  2547. }
  2548. }
  2549. return '';
  2550. }
  2551. function getOpacity(properties, action)
  2552. {
  2553. var style = '';
  2554. if (!hardOpacity.includes(action.Class))
  2555. {
  2556. style += createStyle(mxConstants.STYLE_OPACITY, properties.Opacity, '100');
  2557. }
  2558. if (typeof properties.LineColor === 'string')
  2559. {
  2560. if (properties.LineColor.length > 7)
  2561. {
  2562. var sOpac = "0x" + properties.LineColor.substring(properties.LineColor.length - 2, properties.LineColor.length);
  2563. style += 'strokeOpacity=' + Math.round(parseInt(sOpac) / 2.55) + ';';
  2564. }
  2565. }
  2566. if (typeof properties.FillColor === 'string')
  2567. {
  2568. if (properties.FillColor.length > 7)
  2569. {
  2570. var fOpac = "0x" + properties.FillColor.substring(properties.FillColor.length - 2, properties.FillColor.length);
  2571. style += 'fillOpacity=' + Math.round(parseInt(fOpac) / 2.55) + ';';
  2572. }
  2573. }
  2574. return style;
  2575. }
  2576. function getRounded(properties, action)
  2577. {
  2578. //rounding check
  2579. if (properties.Rounding != null && !hardRound.includes(action.Class))
  2580. {
  2581. if (properties.Rounding > 0)
  2582. {
  2583. return 'rounded=1;absoluteArcSize=1;arcSize=' + properties.Rounding * 0.6 + ';';
  2584. }
  2585. }
  2586. else if (properties.Rounding == null && hardDefRound.includes(action.Class))
  2587. {
  2588. return 'rounded=1;absoluteArcSize=1;arcSize=8;'
  2589. }
  2590. return '';
  2591. }
  2592. function getRotation(properties, action, cell)
  2593. {
  2594. // Converts rotation
  2595. if (properties.Rotation != null)
  2596. {
  2597. // KNOWN: TextRotation currently ignored
  2598. var deg = mxUtils.toDegree(parseFloat(properties.Rotation));
  2599. // Fixes the case for horizontal swimlanes where we use horizontal=0
  2600. // and Lucid uses rotation
  2601. if (action.Class == 'AdvancedSwimLaneBlockRotated')
  2602. {
  2603. deg += 90;
  2604. cell.geometry.rotate90();
  2605. }
  2606. else if (rccw.includes(action.Class))
  2607. {
  2608. deg -= 90;
  2609. cell.geometry.rotate90();
  2610. cell.geometry.rotate90();
  2611. cell.geometry.rotate90();
  2612. }
  2613. if (deg != 0)
  2614. {
  2615. return 'rotation=' + deg + ';';
  2616. }
  2617. }
  2618. return '';
  2619. }
  2620. function getFlipH(properties)
  2621. {
  2622. if (properties.FlipX)
  2623. {
  2624. return 'flipH=1;';
  2625. }
  2626. return '';
  2627. }
  2628. function getFlipV(properties)
  2629. {
  2630. if (properties.FlipY)
  2631. {
  2632. return 'flipV=1;';
  2633. }
  2634. return '';
  2635. }
  2636. function getShadow(properties)
  2637. {
  2638. // Shadow is mapped simple shadow style
  2639. if (properties.Shadow != null)
  2640. {
  2641. return mxConstants.STYLE_SHADOW + '=1;';
  2642. }
  2643. return '';
  2644. }
  2645. function getFillColor(properties, action)
  2646. {
  2647. // Gradients and fill color
  2648. if (properties.FillColor != null)
  2649. {
  2650. if (!hardFill.includes(action.Class))
  2651. {
  2652. if (typeof properties.FillColor === 'object')
  2653. {
  2654. if (properties.FillColor.cs != null && properties.FillColor.cs.length > 1)
  2655. {
  2656. return createStyle(mxConstants.STYLE_FILLCOLOR, properties.FillColor.cs[0].c.substring(0, 7)) + createStyle(mxConstants.STYLE_GRADIENTCOLOR, properties.FillColor.cs[1].c.substring(0, 7));
  2657. }
  2658. }
  2659. else if (typeof properties.FillColor === 'string')
  2660. {
  2661. return createStyle(mxConstants.STYLE_FILLCOLOR, properties.FillColor.substring(0, 7), '#FFFFFF');
  2662. }
  2663. else
  2664. {
  2665. return createStyle(mxConstants.STYLE_FILLCOLOR, 'none');
  2666. }
  2667. }
  2668. }
  2669. return '';
  2670. }
  2671. function getStrokeStyle(properties)
  2672. {
  2673. // Stroke style
  2674. if (properties.StrokeStyle == 'dashed')
  2675. {
  2676. return 'dashed=1;';
  2677. }
  2678. else if (properties.StrokeStyle == 'dotted')
  2679. {
  2680. return 'dashed=1;dashPattern=1 4;';
  2681. }
  2682. return '';
  2683. }
  2684. function getStrokeWidth(properties)
  2685. {
  2686. return createStyle(mxConstants.STYLE_STROKEWIDTH, parseFloat(properties.LineWidth) * scale, '1');
  2687. }
  2688. function getImage(properties, action)
  2689. {
  2690. // Converts images
  2691. if (action.Class == 'ImageSearchBlock2')
  2692. {
  2693. return 'image=' + properties.URL + ';';
  2694. }
  2695. return '';
  2696. }
  2697. function updateCell(cell, obj)
  2698. {
  2699. var a = getAction(obj);
  2700. if (a != null)
  2701. {
  2702. var s = styleMap[a.Class] + ';';
  2703. if (s != null)
  2704. {
  2705. cell.style += s;
  2706. }
  2707. else if (a.Class != null)
  2708. {
  2709. // console.log('no mapping', a.Class);
  2710. }
  2711. var p = (a.Properties != null) ? a.Properties : a;
  2712. if (p != null)
  2713. {
  2714. //adds label
  2715. cell.value = convertText(p);
  2716. cell.style += getFontSize(p) +
  2717. getFontColor(p) +
  2718. getFontStyle(p) +
  2719. getTextAlignment(p, cell) +
  2720. getTextLeftSpacing(p) +
  2721. getTextRightSpacing(p) +
  2722. getTextTopSpacing(p) +
  2723. getTextBottomSpacing(p) +
  2724. getTextGlobalSpacing(p) +
  2725. getTextVerticalAlignment(p) +
  2726. getStrokeColor(p, a) +
  2727. getOpacity(p, a) +
  2728. getRounded(p, a) +
  2729. getRotation(p, a, cell) +
  2730. getFlipH(p) +
  2731. getFlipV(p) +
  2732. getShadow(p) +
  2733. getFillColor(p, a) +
  2734. getStrokeStyle(p) +
  2735. getStrokeWidth(p) +
  2736. getImage(p, a);
  2737. // Edge style
  2738. if (cell.edge)
  2739. {
  2740. cell.style += 'rounded=1;arcSize=' + arcSize + ';';
  2741. if (p.Shape != 'diagonal')
  2742. {
  2743. if (p.ElbowPoints != null)
  2744. {
  2745. cell.geometry.points = [];
  2746. for (var i = 0; i < p.ElbowPoints.length; i++)
  2747. {
  2748. cell.geometry.points.push(new mxPoint(Math.round(p.ElbowPoints[i].x * scale + dx),
  2749. Math.round(p.ElbowPoints[i].y * scale + dy)));
  2750. }
  2751. }
  2752. else if (p.Shape == 'elbow')
  2753. {
  2754. if (p.Endpoint1.Block != null && p.Endpoint1.Block != null)
  2755. {
  2756. cell.style += 'edgeStyle=orthogonalEdgeStyle;';
  2757. }
  2758. else
  2759. {
  2760. cell.style += 'edgeStyle=elbowEdgeStyle;';
  2761. }
  2762. }
  2763. else if (p.Endpoint1.Block != null && p.Endpoint1.Block != null)
  2764. {
  2765. cell.style += 'edgeStyle=orthogonalEdgeStyle;';
  2766. if (p.Shape == 'curve')
  2767. {
  2768. cell.style += 'curved=1;';
  2769. }
  2770. }
  2771. }
  2772. if (p.Endpoint1.Style != null)
  2773. {
  2774. cell.style += 'startArrow=' + edgeStyleMap[p.Endpoint1.Style] + ';';
  2775. }
  2776. if (p.Endpoint2.Style != null)
  2777. {
  2778. cell.style += 'endArrow=' + edgeStyleMap[p.Endpoint2.Style].replace(/startSize/g, 'endSize') + ';';
  2779. }
  2780. // Anchor points and arrows
  2781. // TODO: Convert waypoints, elbowPoints
  2782. updateEndpoint(cell, p.Endpoint1, true);
  2783. updateEndpoint(cell, p.Endpoint2, false);
  2784. }
  2785. }
  2786. }
  2787. };
  2788. function createVertex(obj)
  2789. {
  2790. var p = getAction(obj).Properties;
  2791. var b = p.BoundingBox;
  2792. if (obj.Class != null && obj.Class.substring(0, 3) === "AWS")
  2793. {
  2794. b.h = b.h - 20;
  2795. }
  2796. v = new mxCell('', new mxGeometry(Math.round(b.x * scale + dx), Math.round(b.y * scale + dy),
  2797. Math.round(b.w * scale), Math.round(b.h * scale)), vertexStyle);
  2798. v.vertex = true;
  2799. updateCell(v, obj);
  2800. return v;
  2801. };
  2802. function createEdge(obj)
  2803. {
  2804. var e = new mxCell('', new mxGeometry(0, 0, 100, 100), edgeStyle);
  2805. e.geometry.relative = true;
  2806. e.edge = true;
  2807. updateCell(e, obj);
  2808. // Adds text labels
  2809. var a = getAction(obj);
  2810. var p = a.Properties;
  2811. var ta = (p != null) ? p.TextAreas : obj.TextAreas;
  2812. if (ta != null)
  2813. {
  2814. var count = 0;
  2815. while (ta['t' + count] != null)
  2816. {
  2817. var tmp = ta['t' + count];
  2818. e = insertLabel(tmp, e);
  2819. count++;
  2820. }
  2821. var count = 1;
  2822. while (ta['m' + count] != null)
  2823. {
  2824. var tmp = ta['m' + count];
  2825. e = insertLabel(tmp, e, obj);
  2826. count++;
  2827. }
  2828. if (ta.Text != null)
  2829. {
  2830. e = insertLabel(ta, e, obj);
  2831. }
  2832. var ta = (p != null) ? p.TextAreas : obj.TextAreas;
  2833. if (ta.Message != null)
  2834. {
  2835. e = insertLabel(ta.Message, e, obj);
  2836. }
  2837. }
  2838. return e;
  2839. }
  2840. function insertLabel(textArea, e, obj)
  2841. {
  2842. var x = (parseFloat(textArea.Location) - 0.5) * 2;
  2843. var lab = new mxCell(convertText(textArea), new mxGeometry(x, 0, 0, 0), labelStyle);
  2844. lab.geometry.relative = true
  2845. lab.vertex = true;
  2846. e.insert(lab);
  2847. return e;
  2848. };
  2849. function createStyle(key, prop, defaultValue, fn)
  2850. {
  2851. if (prop != null && fn != null)
  2852. {
  2853. prop = fn(prop);
  2854. }
  2855. if (prop != null && prop != defaultValue)
  2856. {
  2857. return key + '=' + prop + ';';
  2858. }
  2859. return '';
  2860. };
  2861. function updateEndpoint(cell, endpoint, source)
  2862. {
  2863. if (endpoint != null)
  2864. {
  2865. if (endpoint.LinkX != null && endpoint.LinkY != null)
  2866. {
  2867. cell.style += ((source) ? 'exitX' : 'entryX') + '=' + endpoint.LinkX + ';' +
  2868. ((source) ? 'exitY' : 'entryY') + '=' + endpoint.LinkY + ';' +
  2869. ((source) ? 'exitPerimeter' : 'entryPerimeter') + '=0;';
  2870. }
  2871. }
  2872. };
  2873. var hideObj = function(key, groups, hidden)
  2874. {
  2875. if (!hidden.includes(key))
  2876. {
  2877. hidden.push(key);
  2878. }
  2879. if (key in groups)
  2880. {
  2881. var obj = groups[key];
  2882. obj.id = key;
  2883. if (obj.Members != null)
  2884. {
  2885. for (var key2 in obj.Members)
  2886. {
  2887. hidden = hideObj(key2, groups, hidden);
  2888. }
  2889. }
  2890. }
  2891. return hidden;
  2892. };
  2893. EditorUi.prototype.pasteLucidChart = function(g, dx, dy, crop)
  2894. {
  2895. // Creates a new graph, inserts cells and returns XML for insert
  2896. var graph = this.editor.graph;
  2897. graph.getModel().beginUpdate();
  2898. try
  2899. {
  2900. var select = [];
  2901. var lookup = {};
  2902. var queue = [];
  2903. //collect IDs that are part of groups and hidden
  2904. var hidden = [];
  2905. var i = 0;
  2906. if (g.Groups != null)
  2907. {
  2908. for (var key in g.Groups)
  2909. {
  2910. var obj = g.Groups[key];
  2911. obj.id = key;
  2912. if (obj.Hidden == true && obj.Members != null)
  2913. {
  2914. if (!hidden.includes(key))
  2915. {
  2916. hidden.push(key);
  2917. }
  2918. for (var key2 in obj.Members)
  2919. {
  2920. hidden = hideObj(key2, g.Groups, hidden);
  2921. }
  2922. }
  2923. }
  2924. }
  2925. // Vertices first (populates lookup table for connecting edges)
  2926. if (g.Blocks != null)
  2927. {
  2928. for (var key in g.Blocks)
  2929. {
  2930. var obj = g.Blocks[key];
  2931. obj.id = key;
  2932. if (!hidden.includes(key))
  2933. {
  2934. var created = false;
  2935. if (styleMap[obj.Class] != null)
  2936. {
  2937. if (styleMap[obj.Class] == 'mxCompositeShape')
  2938. {
  2939. lookup[obj.id] = addCompositeShape(obj);
  2940. queue.push(obj);
  2941. created = true;
  2942. }
  2943. }
  2944. if (!created)
  2945. {
  2946. lookup[obj.id] = createVertex(obj);
  2947. queue.push(obj);
  2948. }
  2949. }
  2950. }
  2951. }
  2952. else
  2953. {
  2954. for (var i = 0; i < g.Objects.length; i++)
  2955. {
  2956. var obj = g.Objects[i];
  2957. if (obj.IsBlock && obj.Action != null && obj.Action.Properties != null)
  2958. {
  2959. lookup[obj.id] = createVertex(obj);
  2960. }
  2961. queue.push(obj);
  2962. }
  2963. }
  2964. // Sorts all cells by ZOrder
  2965. queue.sort(function(a, b)
  2966. {
  2967. a = getAction(a);
  2968. b = getAction(b);
  2969. if (a.Properties != null)
  2970. {
  2971. if (b.Properties != null)
  2972. {
  2973. return a.Properties.ZOrder - b.Properties.ZOrder;
  2974. }
  2975. }
  2976. return 0;
  2977. });
  2978. function addLine(obj, p)
  2979. {
  2980. var src = (p.Endpoint1.Block != null) ? lookup[p.Endpoint1.Block] : null;
  2981. var trg = (p.Endpoint2.Block != null) ? lookup[p.Endpoint2.Block] : null;
  2982. var e = createEdge(obj);
  2983. if (src == null && p.Endpoint1 != null)
  2984. {
  2985. e.geometry.setTerminalPoint(new mxPoint(Math.round(p.Endpoint1.x * scale),
  2986. Math.round(p.Endpoint1.y * scale)), true);
  2987. }
  2988. if (trg == null && p.Endpoint2 != null)
  2989. {
  2990. e.geometry.setTerminalPoint(new mxPoint(Math.round(p.Endpoint2.x * scale),
  2991. Math.round(p.Endpoint2.y * scale)), false);
  2992. }
  2993. select.push(graph.addCell(e, null, null, src, trg));
  2994. };
  2995. // Inserts cells in ZOrder and connects edges via lookup
  2996. for (var i = 0; i < queue.length; i++)
  2997. {
  2998. var obj = queue[i];
  2999. var v = lookup[obj.id];
  3000. if (v != null)
  3001. {
  3002. select.push(graph.addCell(v));
  3003. }
  3004. else if (obj.IsLine && obj.Action != null && obj.Action.Properties != null)
  3005. {
  3006. var p = obj.Action.Properties;
  3007. addLine(obj, p);
  3008. }
  3009. }
  3010. if (g.Lines != null)
  3011. {
  3012. for (var key in g.Lines)
  3013. {
  3014. if (!hidden.includes(key))
  3015. {
  3016. var obj = g.Lines[key];
  3017. addLine(obj, obj);
  3018. }
  3019. }
  3020. }
  3021. if (crop && dx != null && dy != null)
  3022. {
  3023. if (graph.isGridEnabled())
  3024. {
  3025. dx = graph.snap(dx);
  3026. dy = graph.snap(dy);
  3027. }
  3028. var bounds = graph.getBoundingBoxFromGeometry(select, true);
  3029. if (bounds != null)
  3030. {
  3031. graph.moveCells(select, dx - bounds.x, dy - bounds.y);
  3032. }
  3033. }
  3034. graph.setSelectionCells(select);
  3035. }
  3036. finally
  3037. {
  3038. graph.getModel().endUpdate();
  3039. }
  3040. if (!graph.isSelectionEmpty())
  3041. {
  3042. graph.scrollCellToVisible(graph.getSelectionCell());
  3043. if (this.hoverIcons != null)
  3044. {
  3045. this.hoverIcons.update(graph.view.getState(graph.getSelectionCell()));
  3046. }
  3047. }
  3048. };
  3049. function addCompositeShape(obj)
  3050. {
  3051. var a = getAction(obj);
  3052. var p = a.Properties;
  3053. var b = p.BoundingBox;
  3054. var w = Math.round(b.w * scale);
  3055. var h = Math.round(b.h * scale);
  3056. var x = Math.round(b.x * scale + dx);
  3057. var y = Math.round(b.y * scale + dy);
  3058. v = new mxCell('', new mxGeometry(x, y, w, h), vertexStyle);
  3059. v.vertex = true;
  3060. switch (obj.Class)
  3061. {
  3062. case 'BraceNoteBlock' :
  3063. var isRightBrace = false;
  3064. if (p.BraceDirection != null)
  3065. {
  3066. if (p.BraceDirection == 'Right')
  3067. {
  3068. isRightBrace = true;
  3069. }
  3070. }
  3071. var brace = null;
  3072. var label = null;
  3073. if (isRightBrace)
  3074. {
  3075. brace = new mxCell('', new mxGeometry(w - h * 0.125, 0, h * 0.125, h), 'shape=curlyBracket;rounded=1;');
  3076. label = new mxCell('', new mxGeometry(0, 0, w - h * 0.125, h), 'strokeColor=none;fillColor=none;');
  3077. }
  3078. else
  3079. {
  3080. brace = new mxCell('', new mxGeometry(0, 0, h * 0.125, h), 'shape=curlyBracket;rounded=1;flipH=1;');
  3081. label = new mxCell('', new mxGeometry(h * 0.125, 0, w - h * 0.125, h), 'strokeColor=none;fillColor=none;');
  3082. }
  3083. v.style = "strokeColor=none;fillColor=none;"
  3084. v.style += getRotation(p, a, v);
  3085. brace.vertex = true;
  3086. v.insert(brace);
  3087. brace.style += getStrokeColor(p, a) +
  3088. getOpacity(p, a) +
  3089. getShadow(p) +
  3090. getStrokeStyle(p) +
  3091. getStrokeWidth(p);
  3092. label.vertex = true;
  3093. label.value = convertText(p);
  3094. v.insert(label);
  3095. label.style += getFontSize(p) +
  3096. getFontColor(p) +
  3097. getFontStyle(p) +
  3098. getTextAlignment(p, label) +
  3099. getTextLeftSpacing(p) +
  3100. getTextRightSpacing(p) +
  3101. getTextTopSpacing(p) +
  3102. getTextBottomSpacing(p) +
  3103. getTextGlobalSpacing(p) +
  3104. getTextVerticalAlignment(p);
  3105. break;
  3106. case 'AdvancedSwimLaneBlockRotated' :
  3107. case 'AdvancedSwimLaneBlock' :
  3108. var lanesNum = 0;
  3109. if (p.Lanes != null)
  3110. {
  3111. lanesNum = p.Lanes.length;
  3112. }
  3113. v.style = "strokeColor=none;fillColor=none;"
  3114. var totalOffset = 0; //relative
  3115. var lane = new Array();
  3116. for (var i = 0; i < lanesNum; i++)
  3117. {
  3118. var currOffset = parseFloat(p.Lanes[i].p);
  3119. lane.push(new mxCell('', new mxGeometry(w * totalOffset, 0, w * currOffset, h), 'shape=swimlane;startSize=25;'));
  3120. lane[i].vertex = true;
  3121. v.insert(lane[i]);
  3122. lane[i].value = convertText(p["Lane_" + i]);
  3123. lane[i].style += getFontSize(p["Lane_" + i]) +
  3124. getFontColor(p["Lane_" + i]) +
  3125. getFontStyle(p["Lane_" + i]) +
  3126. getTextAlignment(p["Lane_" + i], lane[i]) +
  3127. getTextLeftSpacing(p["Lane_" + i]) +
  3128. getTextRightSpacing(p["Lane_" + i]) +
  3129. getTextTopSpacing(p["Lane_" + i]) +
  3130. getTextBottomSpacing(p["Lane_" + i]) +
  3131. getTextGlobalSpacing(p["Lane_" + i]) +
  3132. getTextVerticalAlignment(p["Lane_" + i]) +
  3133. getStrokeColor(p, a) +
  3134. getOpacity(p, a) +
  3135. getRounded(p, a) +
  3136. getRotation(p, a, lane[i]) +
  3137. getFlipH(p) +
  3138. getFlipV(p) +
  3139. getShadow(p) +
  3140. getFillColor(p, a) +
  3141. getStrokeStyle(p) +
  3142. getStrokeWidth(p);
  3143. totalOffset += currOffset;
  3144. }
  3145. break;
  3146. case 'AndroidDevice' :
  3147. if (p.AndroidDeviceName != null)
  3148. {
  3149. v.style = "fillColor=#000000;strokeColor=#000000;";
  3150. var background = null;
  3151. var keyboard = null;
  3152. var statusBar = null;
  3153. if (p.AndroidDeviceName == 'Tablet' || p.AndroidDeviceName == 'Mini Tablet')
  3154. {
  3155. v.style += "shape=mxgraph.android.tab2;"
  3156. background = new mxCell('', new mxGeometry(w * 0.112, h * 0.077, w * 0.77, h * 0.85), '');
  3157. if (p.KeyboardShown)
  3158. {
  3159. keyboard = new mxCell('', new mxGeometry(w * 0.112, h * 0.727, w * 0.77, h * 0.2), 'shape=mxgraph.android.keyboard;');
  3160. }
  3161. if (!p.FullScreen)
  3162. {
  3163. statusBar = new mxCell('', new mxGeometry(w * 0.112, h * 0.077, w * 0.77, h * 0.03), 'shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize=' + h * 0.015 + ';');
  3164. }
  3165. }
  3166. else if (p.AndroidDeviceName == 'Large Phone' || p.AndroidDeviceName == 'Phone')
  3167. {
  3168. v.style += "shape=mxgraph.android.phone2;"
  3169. background = new mxCell('', new mxGeometry(w * 0.04, h * 0.092, w * 0.92, h * 0.816), '');
  3170. if (p.KeyboardShown)
  3171. {
  3172. keyboard = new mxCell('', new mxGeometry(w * 0.04, h * 0.708, w * 0.92, h * 0.2), 'shape=mxgraph.android.keyboard;');
  3173. }
  3174. if (!p.FullScreen)
  3175. {
  3176. statusBar = new mxCell('', new mxGeometry(w * 0.04, h * 0.092, w * 0.92, h * 0.03), 'shape=mxgraph.android.statusBar;strokeColor=#33b5e5;fillColor=#000000;fontColor=#33b5e5;fontSize=' + h * 0.015 + ';');
  3177. }
  3178. }
  3179. background.vertex = true;
  3180. v.insert(background);
  3181. if (p.Scheme == "Dark")
  3182. {
  3183. background.style += "fillColor=#111111;"
  3184. }
  3185. else if (p.Scheme == "Light")
  3186. {
  3187. background.style += "fillColor=#ffffff;"
  3188. }
  3189. if (keyboard != null)
  3190. {
  3191. keyboard.vertex = true;
  3192. v.insert(keyboard);
  3193. }
  3194. if (statusBar != null)
  3195. {
  3196. statusBar.vertex = true;
  3197. v.insert(statusBar);
  3198. }
  3199. }
  3200. break;
  3201. case 'AndroidAlertDialog' :
  3202. var dialog = new mxCell('', new mxGeometry(0, 0, w, 30), 'strokeColor=none;fillColor=none;spacingLeft=9;');
  3203. dialog.vertex = true;
  3204. v.insert(dialog);
  3205. var line = new mxCell('', new mxGeometry(0, 25, w, 10), 'shape=line;strokeColor=#33B5E5;');
  3206. line.vertex = true;
  3207. v.insert(line);
  3208. var dialogText = new mxCell('', new mxGeometry(0, 30, w, h - 30), 'strokeColor=none;fillColor=none;verticalAlign=top;');
  3209. dialogText.vertex = true;
  3210. v.insert(dialogText);
  3211. var cancelButton = new mxCell('', new mxGeometry(0, h - 25, w * 0.5, 25), 'fillColor=none;');
  3212. cancelButton.vertex = true;
  3213. v.insert(cancelButton);
  3214. var okButton = new mxCell('', new mxGeometry(w * 0.5, h - 25, w * 0.5, 25), 'fillColor=none;');
  3215. okButton.vertex = true;
  3216. v.insert(okButton);
  3217. dialog.value = convertText(p.DialogTitle);
  3218. dialog.style += getLabelStyle(p.DialogTitle);
  3219. dialogText.value = convertText(p.DialogText);
  3220. dialogText.style += getLabelStyle(p.DialogText);
  3221. cancelButton.value = convertText(p.Button_0);
  3222. cancelButton.style += getLabelStyle(p.Button_0);
  3223. okButton.value = convertText(p.Button_1);
  3224. okButton.style += getLabelStyle(p.Button_1);
  3225. if (p.Scheme == 'Dark')
  3226. {
  3227. v.style += 'strokeColor=#353535;fillColor=#282828;shadow=1;';
  3228. cancelButton.style += 'strokeColor=#353535;';
  3229. okButton.style += 'strokeColor=#353535;';
  3230. }
  3231. else
  3232. {
  3233. v.style += 'strokeColor=none;fillColor=#ffffff;shadow=1;';
  3234. cancelButton.style += 'strokeColor=#E2E2E2;';
  3235. okButton.style += 'strokeColor=#E2E2E2;';
  3236. }
  3237. break;
  3238. case 'AndroidDateDialog' :
  3239. case 'AndroidTimeDialog' :
  3240. var dialog = new mxCell('', new mxGeometry(0, 0, w, 30), 'strokeColor=none;fillColor=none;spacingLeft=9;');
  3241. dialog.vertex = true;
  3242. v.insert(dialog);
  3243. dialog.value = convertText(p.DialogTitle);
  3244. dialog.style += getLabelStyle(p.DialogTitle);
  3245. var line = new mxCell('', new mxGeometry(0, 25, w, 10), 'shape=line;strokeColor=#33B5E5;');
  3246. line.vertex = true;
  3247. v.insert(line);
  3248. var cancelButton = new mxCell('', new mxGeometry(0, h - 25, w * 0.5, 25), 'fillColor=none;');
  3249. cancelButton.vertex = true;
  3250. v.insert(cancelButton);
  3251. cancelButton.value = convertText(p.Button_0);
  3252. cancelButton.style += getLabelStyle(p.Button_0);
  3253. var okButton = new mxCell('', new mxGeometry(w * 0.5, h - 25, w * 0.5, 25), 'fillColor=none;');
  3254. okButton.vertex = true;
  3255. v.insert(okButton);
  3256. okButton.value = convertText(p.Button_1);
  3257. okButton.style += getLabelStyle(p.Button_1);
  3258. var triangle1 = new mxCell('', new mxGeometry(w * 0.5 - 4, 41, 8, 4), 'shape=triangle;direction=north;');
  3259. triangle1.vertex = true;
  3260. v.insert(triangle1);
  3261. var triangle2 = new mxCell('', new mxGeometry(w * 0.25 - 4, 41, 8, 4), 'shape=triangle;direction=north;');
  3262. triangle2.vertex = true;
  3263. v.insert(triangle2);
  3264. var triangle3 = new mxCell('', new mxGeometry(w * 0.75 - 4, 41, 8, 4), 'shape=triangle;direction=north;');
  3265. triangle3.vertex = true;
  3266. v.insert(triangle3);
  3267. var prevDate1 = new mxCell('', new mxGeometry(w * 0.375, 50, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3268. prevDate1.vertex = true;
  3269. v.insert(prevDate1);
  3270. prevDate1.value = convertText(p.Label_1);
  3271. prevDate1.style += getLabelStyle(p.Label_1);
  3272. var prevDate2 = new mxCell('', new mxGeometry(w * 0.125, 50, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3273. prevDate2.vertex = true;
  3274. v.insert(prevDate2);
  3275. prevDate2.value = convertText(p.Label_0);
  3276. prevDate2.style += getLabelStyle(p.Label_0);
  3277. var prevDate3 = null;
  3278. if (obj.Class == 'AndroidDateDialog')
  3279. {
  3280. prevDate3 = new mxCell('', new mxGeometry(w * 0.625, 50, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3281. prevDate3.vertex = true;
  3282. v.insert(prevDate3);
  3283. prevDate3.value = convertText(p.Label_2);
  3284. prevDate3.style += getLabelStyle(p.Label_2);
  3285. }
  3286. var line1 = new mxCell('', new mxGeometry(w * 0.43, 60, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3287. line1.vertex = true;
  3288. v.insert(line1);
  3289. var line2 = new mxCell('', new mxGeometry(w * 0.18, 60, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3290. line2.vertex = true;
  3291. v.insert(line2);
  3292. var line3 = new mxCell('', new mxGeometry(w * 0.68, 60, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3293. line3.vertex = true;
  3294. v.insert(line3);
  3295. var date1 = new mxCell('', new mxGeometry(w * 0.375, 65, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3296. date1.vertex = true;
  3297. v.insert(date1);
  3298. date1.value = convertText(p.Label_4);
  3299. date1.style += getLabelStyle(p.Label_4);
  3300. var sep = null;
  3301. if (obj.Class == 'AndroidTimeDialog')
  3302. {
  3303. sep = new mxCell('', new mxGeometry(w * 0.3, 65, w * 0.1, 15), 'strokeColor=none;fillColor=none;');
  3304. sep.vertex = true;
  3305. v.insert(sep);
  3306. sep.value = convertText(p.Label_Colon);
  3307. sep.style += getLabelStyle(p.Label_Colon);
  3308. }
  3309. var date2 = new mxCell('', new mxGeometry(w * 0.125, 65, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3310. date2.vertex = true;
  3311. v.insert(date2);
  3312. date2.value = convertText(p.Label_3);
  3313. date2.style += getLabelStyle(p.Label_3);
  3314. var date3 = new mxCell('', new mxGeometry(w * 0.625, 65, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3315. date3.vertex = true;
  3316. v.insert(date3);
  3317. date3.value = convertText(p.Label_5);
  3318. date3.style += getLabelStyle(p.Label_5);
  3319. var line4 = new mxCell('', new mxGeometry(w * 0.43, 75, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3320. line4.vertex = true;
  3321. v.insert(line4);
  3322. var line5 = new mxCell('', new mxGeometry(w * 0.18, 75, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3323. line5.vertex = true;
  3324. v.insert(line5);
  3325. var line6 = new mxCell('', new mxGeometry(w * 0.68, 75, w * 0.14, 10), 'shape=line;strokeColor=#33B5E5;');
  3326. line6.vertex = true;
  3327. v.insert(line6);
  3328. var nextDate1 = new mxCell('', new mxGeometry(w * 0.375, 80, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3329. nextDate1.vertex = true;
  3330. v.insert(nextDate1);
  3331. nextDate1.value = convertText(p.Label_7);
  3332. nextDate1.style += getLabelStyle(p.Label_7);
  3333. var nextDate2 = new mxCell('', new mxGeometry(w * 0.125, 80, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3334. nextDate2.vertex = true;
  3335. v.insert(nextDate2);
  3336. nextDate2.value = convertText(p.Label_6);
  3337. nextDate2.style += getLabelStyle(p.Label_6);
  3338. var nextDate3 = new mxCell('', new mxGeometry(w * 0.625, 80, w * 0.2, 15), 'strokeColor=none;fillColor=none;');
  3339. nextDate3.vertex = true;
  3340. v.insert(nextDate3);
  3341. nextDate3.value = convertText(p.Label_8);
  3342. nextDate3.style += getLabelStyle(p.Label_8);
  3343. var triangle4 = new mxCell('', new mxGeometry(w * 0.5 - 4, 99, 8, 4), 'shape=triangle;direction=south;');
  3344. triangle4.vertex = true;
  3345. v.insert(triangle4);
  3346. var triangle5 = new mxCell('', new mxGeometry(w * 0.25 - 4, 99, 8, 4), 'shape=triangle;direction=south;');
  3347. triangle5.vertex = true;
  3348. v.insert(triangle5);
  3349. var triangle6 = new mxCell('', new mxGeometry(w * 0.75 - 4, 99, 8, 4), 'shape=triangle;direction=south;');
  3350. triangle6.vertex = true;
  3351. v.insert(triangle6);
  3352. if (p.Scheme == 'Dark')
  3353. {
  3354. v.style += 'strokeColor=#353535;fillColor=#282828;shadow=1;';
  3355. cancelButton.style += 'strokeColor=#353535;';
  3356. okButton.style += 'strokeColor=#353535;';
  3357. triangle1.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3358. triangle2.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3359. triangle3.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3360. triangle4.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3361. triangle5.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3362. triangle6.style += 'strokeColor=none;fillColor=#7E7E7E;';
  3363. }
  3364. else
  3365. {
  3366. v.style += 'strokeColor=none;fillColor=#ffffff;shadow=1;';
  3367. cancelButton.style += 'strokeColor=#E2E2E2;';
  3368. okButton.style += 'strokeColor=#E2E2E2;';
  3369. triangle1.style += 'strokeColor=none;fillColor=#939393;';
  3370. triangle2.style += 'strokeColor=none;fillColor=#939393;';
  3371. triangle3.style += 'strokeColor=none;fillColor=#939393;';
  3372. triangle4.style += 'strokeColor=none;fillColor=#939393;';
  3373. triangle5.style += 'strokeColor=none;fillColor=#939393;';
  3374. triangle6.style += 'strokeColor=none;fillColor=#939393;';
  3375. }
  3376. break;
  3377. case 'AndroidListItems' :
  3378. var itemFullH = h;
  3379. var startH = 0;
  3380. if (p.ShowHeader)
  3381. {
  3382. startH = 8;
  3383. var header = new mxCell('', new mxGeometry(0, 0, w, startH), 'strokeColor=none;fillColor=none;');
  3384. header.vertex = true;
  3385. v.insert(header);
  3386. header.value = convertText(p.Header);
  3387. header.style += getLabelStyle(p.Header);
  3388. itemFullH -= startH;
  3389. var lineH = new mxCell('', new mxGeometry(0, startH - 2, w, 4), 'shape=line;strokeColor=#999999;');
  3390. lineH.vertex = true;
  3391. v.insert(lineH);
  3392. }
  3393. var numItems = parseInt(p.Items);
  3394. if (numItems > 0)
  3395. {
  3396. itemFullH = itemFullH / numItems;
  3397. }
  3398. var item = new Array();
  3399. var line = new Array();
  3400. for (var i = 0; i < numItems; i++)
  3401. {
  3402. item[i] = new mxCell('', new mxGeometry(0, startH + i * itemFullH, w, itemFullH), 'strokeColor=none;fillColor=none;');
  3403. item[i].vertex = true;
  3404. v.insert(item[i]);
  3405. item[i].value = convertText(p["Item_" + i]);
  3406. item[i].style += getLabelStyle(p["Item_" + i]);
  3407. if (i > 0)
  3408. {
  3409. line[i] = new mxCell('', new mxGeometry(0, startH + i * itemFullH - 2, w, 4), 'shape=line;');
  3410. line[i].vertex = true;
  3411. v.insert(line[i]);
  3412. if (p.Scheme == 'Dark')
  3413. {
  3414. line[i].style += 'strokeColor=#ffffff;';
  3415. }
  3416. else
  3417. {
  3418. line[i].style += 'strokeColor=#D9D9D9;';
  3419. }
  3420. }
  3421. }
  3422. if (p.Scheme == 'Dark')
  3423. {
  3424. v.style += 'strokeColor=none;fillColor=#111111;';
  3425. }
  3426. else
  3427. {
  3428. v.style += 'strokeColor=none;fillColor=#ffffff;';
  3429. }
  3430. break;
  3431. case 'AndroidTabs' :
  3432. var numTabs = parseInt(p.Tabs);
  3433. var tabFullW = w;
  3434. if (numTabs > 0)
  3435. {
  3436. tabFullW = tabFullW / numTabs;
  3437. }
  3438. var tab = new Array();
  3439. var line = new Array();
  3440. for (var i = 0; i < numTabs; i++)
  3441. {
  3442. tab[i] = new mxCell('', new mxGeometry(i * tabFullW, 0, tabFullW, h), 'strokeColor=none;fillColor=none;');
  3443. tab[i].vertex = true;
  3444. v.insert(tab[i]);
  3445. tab[i].value = convertText(p["Tab_" + i]);
  3446. tab[i].style += getLabelStyle(p["Tab_" + i]);
  3447. if (i > 0)
  3448. {
  3449. line[i] = new mxCell('', new mxGeometry(i * tabFullW - 2, h * 0.2, 4, h * 0.6), 'shape=line;direction=north;');
  3450. line[i].vertex = true;
  3451. v.insert(line[i]);
  3452. if (p.Scheme == 'Dark')
  3453. {
  3454. line[i].style += 'strokeColor=#484848;';
  3455. }
  3456. else
  3457. {
  3458. line[i].style += 'strokeColor=#CCCCCC;';
  3459. }
  3460. }
  3461. }
  3462. var selectedMarker = new mxCell('', new mxGeometry(p.Selected * tabFullW + 2, h - 3, tabFullW - 4, 3), 'strokeColor=none;fillColor=#33B5E5;');
  3463. selectedMarker.vertex = true;
  3464. v.insert(selectedMarker);
  3465. if (p.Scheme == 'Dark')
  3466. {
  3467. v.style += 'strokeColor=none;fillColor=#333333;';
  3468. }
  3469. else
  3470. {
  3471. v.style += 'strokeColor=none;fillColor=#DDDDDD;';
  3472. }
  3473. break;
  3474. case 'AndroidProgressBar' :
  3475. v = new mxCell('', new mxGeometry(Math.round(x), Math.round(y + h * 0.25), Math.round(w), Math.round(h * 0.5)), vertexStyle);
  3476. v.vertex = true;
  3477. var progressBar = new mxCell('', new mxGeometry(0, 0, w * p.BarPosition, Math.round(h * 0.5)), 'strokeColor=none;fillColor=#33B5E5;');
  3478. progressBar.vertex = true;
  3479. v.insert(progressBar);
  3480. if (p.Scheme == 'Dark')
  3481. {
  3482. v.style += 'strokeColor=none;fillColor=#474747;';
  3483. }
  3484. else
  3485. {
  3486. v.style += 'strokeColor=none;fillColor=#BBBBBB;';
  3487. }
  3488. break;
  3489. case 'AndroidImageBlock' :
  3490. if (p.Scheme == 'Dark')
  3491. {
  3492. v.style += 'shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#7E7E7E;fillColor=#111111;';
  3493. }
  3494. else
  3495. {
  3496. v.style += 'shape=mxgraph.mockup.graphics.simpleIcon;strokeColor=#939393;fillColor=#ffffff;';
  3497. }
  3498. break;
  3499. case 'AndroidTextBlock' :
  3500. if (p.Scheme == 'Dark')
  3501. {
  3502. if (p.ShowBorder)
  3503. {
  3504. v.style += 'fillColor=#111111;strokeColor=#ffffff;';
  3505. }
  3506. else
  3507. {
  3508. v.style += 'fillColor=#111111;strokeColor=none;';
  3509. }
  3510. }
  3511. else
  3512. {
  3513. if (p.ShowBorder)
  3514. {
  3515. v.style += 'fillColor=#ffffff;strokeColor=#000000;';
  3516. }
  3517. else
  3518. {
  3519. v.style += 'fillColor=#ffffff;strokeColor=none;';
  3520. }
  3521. }
  3522. v.value = convertText(p.Label);
  3523. v.style += getLabelStyle(p.Label);
  3524. break;
  3525. case 'AndroidActionBar' :
  3526. v.style += 'strokeColor=none;';
  3527. switch (p.BarBackground)
  3528. {
  3529. case 'Blue' :
  3530. v.style += 'fillColor=#002E3E;';
  3531. break;
  3532. case 'Gray' :
  3533. v.style += 'fillColor=#DDDDDD;';
  3534. break;
  3535. case 'Dark Gray' :
  3536. v.style += 'fillColor=#474747;';
  3537. break;
  3538. case 'White' :
  3539. v.style += 'fillColor=#ffffff;';
  3540. break;
  3541. }
  3542. if (p.HighlightShow)
  3543. {
  3544. var highlight = null;
  3545. if (p.HighlightTop)
  3546. {
  3547. highlight = new mxCell('', new mxGeometry(0, 0, w, 2), 'strokeColor=none;');
  3548. }
  3549. else
  3550. {
  3551. highlight = new mxCell('', new mxGeometry(0, h - 2, w, 2), 'strokeColor=none;');
  3552. }
  3553. highlight.vertex = true;
  3554. v.insert(highlight);
  3555. switch (p.HighlightColor)
  3556. {
  3557. case 'Blue' :
  3558. highlight.style += 'fillColor=#33B5E5;';
  3559. break;
  3560. case 'Dark Gray' :
  3561. highlight.style += 'fillColor=#B0B0B0;';
  3562. break;
  3563. case 'White' :
  3564. highlight.style += 'fillColor=#ffffff;';
  3565. break;
  3566. }
  3567. }
  3568. if (p.VlignShow)
  3569. {
  3570. var vLine = new mxCell('', new mxGeometry(20, 5, 2, h - 10), 'shape=line;direction=north;');
  3571. vLine.vertex = true;
  3572. v.insert(vLine);
  3573. switch (p.VlignColor)
  3574. {
  3575. case 'Blue' :
  3576. vLine.style += 'strokeColor=#244C5A;';
  3577. break;
  3578. case 'White' :
  3579. vLine.style += 'strokeColor=#ffffff;';
  3580. break;
  3581. }
  3582. }
  3583. break;
  3584. case 'AndroidButton' :
  3585. v.value = convertText(p.Label);
  3586. v.style += getLabelStyle(p.Label) + 'shape=partialRectangle;left=0;right=0;';
  3587. if (p.Scheme == 'Dark')
  3588. {
  3589. v.style += 'fillColor=#474747;strokeColor=#C6C5C6;bottom=0;';
  3590. }
  3591. else
  3592. {
  3593. v.style += 'fillColor=#DFE0DF;strokeColor=#C6C5C6;top=0;';
  3594. }
  3595. break;
  3596. case 'AndroidTextBox' :
  3597. v.value = convertText(p.Label);
  3598. v.style += getLabelStyle(p.Label);
  3599. var underline = new mxCell('', new mxGeometry(2, h - 6, w - 4, 4), 'shape=partialRectangle;top=0;fillColor=none;');
  3600. underline.vertex = true;
  3601. v.insert(underline);
  3602. if (p.Scheme == 'Dark')
  3603. {
  3604. v.style += 'fillColor=#111111;strokeColor=none;';
  3605. }
  3606. else
  3607. {
  3608. v.style += 'fillColor=#ffffff;strokeColor=none;';
  3609. }
  3610. if (p.TextFocused)
  3611. {
  3612. underline.style += 'strokeColor=#33B5E5;';
  3613. }
  3614. else
  3615. {
  3616. underline.style += 'strokeColor=#A9A9A9;';
  3617. }
  3618. break;
  3619. case 'AndroidRadioButton' :
  3620. var dot = null;
  3621. if (p.Checked)
  3622. {
  3623. dot = new mxCell('', new mxGeometry(w * 0.15, h * 0.15, w * 0.7, h * 0.7), 'shape=ellipse;fillColor=#33B5E5;strokeWidth=0.6;');
  3624. dot.vertex = true;
  3625. v.insert(dot);
  3626. }
  3627. if (p.Scheme == 'Dark')
  3628. {
  3629. v.style += 'shape=ellipse;strokeWidth=0.6;strokeColor=#272727;';
  3630. if (p.Checked)
  3631. {
  3632. dot.style += 'strokeColor=#1F5C73;';
  3633. v.style += 'fillColor=#193C49;';
  3634. }
  3635. else
  3636. {
  3637. v.style += 'fillColor=#111111;';
  3638. }
  3639. }
  3640. else
  3641. {
  3642. v.style += 'shape=ellipse;strokeWidth=0.6;fillColor=#ffffff;strokeColor=#5C5C5C;';
  3643. if (p.Checked)
  3644. {
  3645. dot.style += 'strokeColor=#999999;';
  3646. }
  3647. }
  3648. break;
  3649. case 'AndroidCheckBox' :
  3650. var check = null;
  3651. if (p.Checked)
  3652. {
  3653. check = new mxCell('', new mxGeometry(w * 0.25, - h * 0.05, w, h * 0.8), 'shape=mxgraph.ios7.misc.check;strokeColor=#33B5E5;strokeWidth=2;');
  3654. check.vertex = true;
  3655. v.insert(check);
  3656. }
  3657. if (p.Scheme == 'Dark')
  3658. {
  3659. v.style += 'strokeWidth=0.6;strokeColor=#272727;fillColor=#111111;';
  3660. }
  3661. else
  3662. {
  3663. v.style += 'strokeWidth=0.6;strokeColor=#5C5C5C;fillColor=#ffffff;';
  3664. }
  3665. break;
  3666. case 'AndroidToggle' :
  3667. if (p.Scheme == 'Dark')
  3668. {
  3669. if (p.Checked)
  3670. {
  3671. v.style += 'shape=mxgraph.android.switch_on;fillColor=#666666;';
  3672. }
  3673. else
  3674. {
  3675. v.style += 'shape=mxgraph.android.switch_off;fillColor=#666666;';
  3676. }
  3677. }
  3678. else
  3679. {
  3680. if (p.Checked)
  3681. {
  3682. v.style += 'shape=mxgraph.android.switch_on;fillColor=#E6E6E6;';
  3683. }
  3684. else
  3685. {
  3686. v.style += 'shape=mxgraph.android.switch_off;fillColor=#E6E6E6;';
  3687. }
  3688. }
  3689. break;
  3690. case 'AndroidSlider' :
  3691. v.style += 'shape=mxgraph.android.progressScrubberFocused;dx=' + p.BarPosition + ';fillColor=#33b5e5;';
  3692. break;
  3693. case 'iOSSegmentedControl' :
  3694. var numTabs = parseInt(p.Tabs);
  3695. var tabFullW = w;
  3696. v.style += 'strokeColor=none;fillColor=none;';
  3697. if (numTabs > 0)
  3698. {
  3699. tabFullW = tabFullW / numTabs;
  3700. }
  3701. var tab = new Array();
  3702. var line = new Array();
  3703. for (var i = 0; i < numTabs; i++)
  3704. {
  3705. tab[i] = new mxCell('', new mxGeometry(i * tabFullW, 0, tabFullW, h), 'strokeColor=' + p.FillColor + ';');
  3706. tab[i].vertex = true;
  3707. v.insert(tab[i]);
  3708. tab[i].value = convertText(p["Tab_" + i]);
  3709. tab[i].style += getLabelStyle(p["Tab_" + i]);
  3710. if (p.Selected == i)
  3711. {
  3712. tab[i].style += getFillColor(p, a);
  3713. }
  3714. else
  3715. {
  3716. tab[i].style += 'fillColor=none;';
  3717. }
  3718. }
  3719. break;
  3720. case 'iOSSlider' :
  3721. v.style += 'shape=mxgraph.ios7ui.slider;strokeColor=' + p.FillColor + ';fillColor=#ffffff;strokeWidth=2;barPos=' + p.BarPosition * 100 + ';';
  3722. break;
  3723. case 'iOSProgressBar':
  3724. v = new mxCell('', new mxGeometry(Math.round(x), Math.round(y + h * 0.25), Math.round(w), Math.round(h * 0.5)), vertexStyle + 'strokeColor=none;fillColor=#B5B5B5;');
  3725. v.vertex = true;
  3726. var progressBar = new mxCell('', new mxGeometry(0, 0, w * p.BarPosition, Math.round(h * 0.5)), 'strokeColor=none;' + getFillColor(p, a));
  3727. progressBar.vertex = true;
  3728. v.insert(progressBar);
  3729. break;
  3730. case 'iOSPageControls' :
  3731. v.style += 'shape=mxgraph.ios7ui.pageControl;' + getFillColor(p, a) + 'strokeColor=#D6D6D6;';
  3732. break;
  3733. case 'iOSStatusBar' :
  3734. v.style += 'shape=mxgraph.ios7ui.appBar;' + getFillColor(p, a) + 'strokeColor=#000000;';
  3735. var text1 = new mxCell(convertText(p.Text), new mxGeometry(w * 0.35, 0, w * 0.3, h), 'strokeColor=none;fillColor=none;');
  3736. text1.vertex = true;
  3737. v.insert(text1);
  3738. text1.style += getLabelStyle(p.Text);
  3739. var text2 = new mxCell(convertText(p.Carrier), new mxGeometry(w * 0.09, 0, w * 0.2, h), 'strokeColor=none;fillColor=none;');
  3740. text2.vertex = true;
  3741. v.insert(text2);
  3742. text2.style += getLabelStyle(p.Carrier);
  3743. break;
  3744. case 'iOSSearchBar' :
  3745. v.style += 'strokeColor=none;' +
  3746. getFillColor(p, a) +
  3747. getOpacity(p, a) +
  3748. getRounded(p, a) +
  3749. getLabelStyle(p.Search);
  3750. v.value = convertText(p.Search);
  3751. var icon1 = new mxCell('', new mxGeometry(w * 0.3, h * 0.3, h * 0.4, h * 0.4), 'shape=mxgraph.ios7.icons.looking_glass;strokeColor=#000000;fillColor=none;');
  3752. icon1.vertex = true;
  3753. v.insert(icon1);
  3754. break;
  3755. case 'iOSNavBar' :
  3756. v.style += 'shape=partialRectangle;top=0;right=0;left=0;strokeColor=#979797;' + getFillColor(p, a) + getOpacity(p, a) + getLabelStyle(p.Title);
  3757. v.value = convertText(p.Title);
  3758. var text1 = new mxCell(convertText(p.LeftText), new mxGeometry(w * 0.03, 0, w * 0.3, h), 'strokeColor=none;fillColor=none;');
  3759. text1.vertex = true;
  3760. v.insert(text1);
  3761. text1.style += getLabelStyle(p.LeftText);
  3762. var text2 = new mxCell(convertText(p.RightText), new mxGeometry(w * 0.65, 0, w * 0.3, h), 'strokeColor=none;fillColor=none;');
  3763. text2.vertex = true;
  3764. v.insert(text2);
  3765. text2.style += getLabelStyle(p.RightText);
  3766. var icon1 = new mxCell('', new mxGeometry(w * 0.02, h * 0.2, h * 0.3, h * 0.5), 'shape=mxgraph.ios7.misc.left;strokeColor=#007AFF;strokeWidth=2;');
  3767. icon1.vertex = true;
  3768. v.insert(icon1);
  3769. break;
  3770. case 'iOSTabs' :
  3771. var numTabs = parseInt(p.Tabs);
  3772. var tabFullW = w;
  3773. v.style += 'shape=partialRectangle;right=0;left=0;bottom=0;strokeColor=#979797;' + getFillColor(p, a) + getOpacity(p, a);
  3774. if (numTabs > 0)
  3775. {
  3776. tabFullW = tabFullW / numTabs;
  3777. }
  3778. var tab = new Array();
  3779. var line = new Array();
  3780. for (var i = 0; i < numTabs; i++)
  3781. {
  3782. tab[i] = new mxCell('', new mxGeometry(i * tabFullW, 0, tabFullW, h), 'strokeColor=none;');
  3783. tab[i].vertex = true;
  3784. v.insert(tab[i]);
  3785. tab[i].value = convertText(p["Tab_" + i]);
  3786. tab[i].style += getFontSize(p["Tab_" + i]);
  3787. tab[i].style +=
  3788. getFontColor(p["Tab_" + i]) +
  3789. getFontStyle(p["Tab_" + i]) +
  3790. getTextAlignment(p["Tab_" + i]) +
  3791. getTextLeftSpacing(p["Tab_" + i]) +
  3792. getTextRightSpacing(p["Tab_" + i]) +
  3793. getTextTopSpacing(p["Tab_" + i]) +
  3794. getTextBottomSpacing(p["Tab_" + i]) +
  3795. getTextGlobalSpacing(p["Tab_" + i]);
  3796. tab[i].style += 'verticalAlign=bottom;';
  3797. if (p.Selected == i)
  3798. {
  3799. tab[i].style += 'fillColor=#BBBBBB;';
  3800. }
  3801. else
  3802. {
  3803. tab[i].style += 'fillColor=none;';
  3804. }
  3805. }
  3806. break;
  3807. case 'iOSDatePicker' :
  3808. var firstDate1 = new mxCell('', new mxGeometry(0, 0, w * 0.5, h * 0.2), 'strokeColor=none;fillColor=none;');
  3809. firstDate1.vertex = true;
  3810. v.insert(firstDate1);
  3811. firstDate1.value = convertText(p.Option11);
  3812. firstDate1.style += getLabelStyle(p.Option11);
  3813. var firstDate2 = new mxCell('', new mxGeometry(w * 0.5, 0, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3814. firstDate2.vertex = true;
  3815. v.insert(firstDate2);
  3816. firstDate2.value = convertText(p.Option21);
  3817. firstDate2.style += getLabelStyle(p.Option21);
  3818. var firstDate3 = new mxCell('', new mxGeometry(w * 0.65, 0, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3819. firstDate3.vertex = true;
  3820. v.insert(firstDate3);
  3821. firstDate3.value = convertText(p.Option31);
  3822. firstDate3.style += getLabelStyle(p.Option31);
  3823. var secondDate1 = new mxCell('', new mxGeometry(0, h * 0.2, w * 0.5, h * 0.2), 'strokeColor=none;fillColor=none;');
  3824. secondDate1.vertex = true;
  3825. v.insert(secondDate1);
  3826. secondDate1.value = convertText(p.Option12);
  3827. secondDate1.style += getLabelStyle(p.Option12);
  3828. var secondDate2 = new mxCell('', new mxGeometry(w * 0.5, h * 0.2, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3829. secondDate2.vertex = true;
  3830. v.insert(secondDate2);
  3831. secondDate2.value = convertText(p.Option22);
  3832. secondDate2.style += getLabelStyle(p.Option22);
  3833. var secondDate3 = new mxCell('', new mxGeometry(w * 0.65, h * 0.2, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3834. secondDate3.vertex = true;
  3835. v.insert(secondDate3);
  3836. secondDate3.value = convertText(p.Option32);
  3837. secondDate3.style += getLabelStyle(p.Option32);
  3838. var currDate1 = new mxCell('', new mxGeometry(0, h * 0.4, w * 0.5, h * 0.2), 'strokeColor=none;fillColor=none;');
  3839. currDate1.vertex = true;
  3840. v.insert(currDate1);
  3841. currDate1.value = convertText(p.Option13);
  3842. currDate1.style += getLabelStyle(p.Option13);
  3843. var currDate2 = new mxCell('', new mxGeometry(w * 0.5, h * 0.4, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3844. currDate2.vertex = true;
  3845. v.insert(currDate2);
  3846. currDate2.value = convertText(p.Option23);
  3847. currDate2.style += getLabelStyle(p.Option23);
  3848. var currDate3 = new mxCell('', new mxGeometry(w * 0.65, h * 0.4, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3849. currDate3.vertex = true;
  3850. v.insert(currDate3);
  3851. currDate3.value = convertText(p.Option33);
  3852. currDate3.style += getLabelStyle(p.Option33);
  3853. var currDate4 = new mxCell('', new mxGeometry(w * 0.80, h * 0.4, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3854. currDate4.vertex = true;
  3855. v.insert(currDate4);
  3856. currDate4.value = convertText(p.Option43);
  3857. currDate4.style += getLabelStyle(p.Option43);
  3858. var fourthDate1 = new mxCell('', new mxGeometry(0, h * 0.6, w * 0.5, h * 0.2), 'strokeColor=none;fillColor=none;');
  3859. fourthDate1.vertex = true;
  3860. v.insert(fourthDate1);
  3861. fourthDate1.value = convertText(p.Option14);
  3862. fourthDate1.style += getLabelStyle(p.Option14);
  3863. var fourthDate2 = new mxCell('', new mxGeometry(w * 0.5, h * 0.6, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3864. fourthDate2.vertex = true;
  3865. v.insert(fourthDate2);
  3866. fourthDate2.value = convertText(p.Option24);
  3867. fourthDate2.style += getLabelStyle(p.Option24);
  3868. var fourthDate3 = new mxCell('', new mxGeometry(w * 0.65, h * 0.6, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3869. fourthDate3.vertex = true;
  3870. v.insert(fourthDate3);
  3871. fourthDate3.value = convertText(p.Option34);
  3872. fourthDate3.style += getLabelStyle(p.Option34);
  3873. var fourthDate4 = new mxCell('', new mxGeometry(w * 0.8, h * 0.6, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3874. fourthDate4.vertex = true;
  3875. v.insert(fourthDate4);
  3876. fourthDate4.value = convertText(p.Option44);
  3877. fourthDate4.style += getLabelStyle(p.Option44);
  3878. var fifthDate1 = new mxCell('', new mxGeometry(0, h * 0.8, w * 0.5, h * 0.2), 'strokeColor=none;fillColor=none;');
  3879. fifthDate1.vertex = true;
  3880. v.insert(fifthDate1);
  3881. fifthDate1.value = convertText(p.Option15);
  3882. fifthDate1.style += getLabelStyle(p.Option15);
  3883. var fifthDate2 = new mxCell('', new mxGeometry(w * 0.5, h * 0.8, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3884. fifthDate2.vertex = true;
  3885. v.insert(fifthDate2);
  3886. fifthDate2.value = convertText(p.Option25);
  3887. fifthDate2.style += getLabelStyle(p.Option25);
  3888. var fifthDate3 = new mxCell('', new mxGeometry(w * 0.65, h * 0.8, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3889. fifthDate3.vertex = true;
  3890. v.insert(fifthDate3);
  3891. fifthDate3.value = convertText(p.Option35);
  3892. fifthDate3.style += getLabelStyle(p.Option35);
  3893. var line1 = new mxCell('', new mxGeometry(0, h * 0.4 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  3894. line1.vertex = true;
  3895. v.insert(line1);
  3896. var line2 = new mxCell('', new mxGeometry(0, h * 0.6 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  3897. line2.vertex = true;
  3898. v.insert(line2);
  3899. v.style += getFillColor(p, a) + getOpacity(p, a) + 'strokeColor=none;';
  3900. break;
  3901. case 'iOSTimePicker' :
  3902. var firstDate1 = new mxCell('', new mxGeometry(0, 0, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3903. firstDate1.vertex = true;
  3904. v.insert(firstDate1);
  3905. firstDate1.value = convertText(p.Option11);
  3906. firstDate1.style += getLabelStyle(p.Option11);
  3907. var firstDate2 = new mxCell('', new mxGeometry(w * 0.25, 0, w * 0.3, h * 0.2), 'strokeColor=none;fillColor=none;');
  3908. firstDate2.vertex = true;
  3909. v.insert(firstDate2);
  3910. firstDate2.value = convertText(p.Option21);
  3911. firstDate2.style += getLabelStyle(p.Option21);
  3912. var secondDate1 = new mxCell('', new mxGeometry(0, h * 0.2, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3913. secondDate1.vertex = true;
  3914. v.insert(secondDate1);
  3915. secondDate1.value = convertText(p.Option12);
  3916. secondDate1.style += getLabelStyle(p.Option12);
  3917. var secondDate2 = new mxCell('', new mxGeometry(w * 0.25, h * 0.2, w * 0.3, h * 0.2), 'strokeColor=none;fillColor=none;');
  3918. secondDate2.vertex = true;
  3919. v.insert(secondDate2);
  3920. secondDate2.value = convertText(p.Option22);
  3921. secondDate2.style += getLabelStyle(p.Option22);
  3922. var currDate1 = new mxCell('', new mxGeometry(0, h * 0.4, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3923. currDate1.vertex = true;
  3924. v.insert(currDate1);
  3925. currDate1.value = convertText(p.Option13);
  3926. currDate1.style += getLabelStyle(p.Option13);
  3927. var currDate2 = new mxCell('', new mxGeometry(w * 0.25, h * 0.4, w * 0.3, h * 0.2), 'strokeColor=none;fillColor=none;');
  3928. currDate2.vertex = true;
  3929. v.insert(currDate2);
  3930. currDate2.value = convertText(p.Option23);
  3931. currDate2.style += getLabelStyle(p.Option23);
  3932. var currDate4 = new mxCell('', new mxGeometry(w * 0.7, h * 0.4, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3933. currDate4.vertex = true;
  3934. v.insert(currDate4);
  3935. currDate4.value = convertText(p.Option33);
  3936. currDate4.style += getLabelStyle(p.Option33);
  3937. var fourthDate1 = new mxCell('', new mxGeometry(0, h * 0.6, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3938. fourthDate1.vertex = true;
  3939. v.insert(fourthDate1);
  3940. fourthDate1.value = convertText(p.Option14);
  3941. fourthDate1.style += getLabelStyle(p.Option14);
  3942. var fourthDate2 = new mxCell('', new mxGeometry(w * 0.25, h * 0.6, w * 0.3, h * 0.2), 'strokeColor=none;fillColor=none;');
  3943. fourthDate2.vertex = true;
  3944. v.insert(fourthDate2);
  3945. fourthDate2.value = convertText(p.Option24);
  3946. fourthDate2.style += getLabelStyle(p.Option24);
  3947. var fourthDate4 = new mxCell('', new mxGeometry(w * 0.7, h * 0.6, w * 0.15, h * 0.2), 'strokeColor=none;fillColor=none;');
  3948. fourthDate4.vertex = true;
  3949. v.insert(fourthDate4);
  3950. fourthDate4.value = convertText(p.Option34);
  3951. fourthDate4.style += getLabelStyle(p.Option34);
  3952. var fifthDate1 = new mxCell('', new mxGeometry(0, h * 0.8, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3953. fifthDate1.vertex = true;
  3954. v.insert(fifthDate1);
  3955. fifthDate1.value = convertText(p.Option15);
  3956. fifthDate1.style += getLabelStyle(p.Option15);
  3957. var fifthDate2 = new mxCell('', new mxGeometry(w * 0.25, h * 0.8, w * 0.3, h * 0.2), 'strokeColor=none;fillColor=none;');
  3958. fifthDate2.vertex = true;
  3959. v.insert(fifthDate2);
  3960. fifthDate2.value = convertText(p.Option25);
  3961. fifthDate2.style += getLabelStyle(p.Option25);
  3962. var line1 = new mxCell('', new mxGeometry(0, h * 0.4 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  3963. line1.vertex = true;
  3964. v.insert(line1);
  3965. var line2 = new mxCell('', new mxGeometry(0, h * 0.6 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  3966. line2.vertex = true;
  3967. v.insert(line2);
  3968. v.style += getFillColor(p, a) + getOpacity(p, a) + 'strokeColor=none;';
  3969. break;
  3970. case 'iOSCountdownPicker' :
  3971. var firstDate3 = new mxCell('', new mxGeometry(w * 0.45, 0, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  3972. firstDate3.vertex = true;
  3973. v.insert(firstDate3);
  3974. firstDate3.value = convertText(p.Option31);
  3975. firstDate3.style += getLabelStyle(p.Option31);
  3976. var secondDate3 = new mxCell('', new mxGeometry(w * 0.45, h * 0.2, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  3977. secondDate3.vertex = true;
  3978. v.insert(secondDate3);
  3979. secondDate3.value = convertText(p.Option32);
  3980. secondDate3.style += getLabelStyle(p.Option32);
  3981. var currDate1 = new mxCell('', new mxGeometry(0, h * 0.4, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3982. currDate1.vertex = true;
  3983. v.insert(currDate1);
  3984. currDate1.value = convertText(p.Option13);
  3985. currDate1.style += getLabelStyle(p.Option13);
  3986. var currDate2 = new mxCell('', new mxGeometry(w * 0.2, h * 0.4, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  3987. currDate2.vertex = true;
  3988. v.insert(currDate2);
  3989. currDate2.value = convertText(p.Option23);
  3990. currDate2.style += getLabelStyle(p.Option23);
  3991. var currDate3 = new mxCell('', new mxGeometry(w * 0.45, h * 0.4, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  3992. currDate3.vertex = true;
  3993. v.insert(currDate3);
  3994. currDate3.value = convertText(p.Option33);
  3995. currDate3.style += getLabelStyle(p.Option33);
  3996. var currDate4 = new mxCell('', new mxGeometry(w * 0.6, h * 0.4, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  3997. currDate4.vertex = true;
  3998. v.insert(currDate4);
  3999. currDate4.value = convertText(p.Option43);
  4000. currDate4.style += getLabelStyle(p.Option43);
  4001. var fourthDate1 = new mxCell('', new mxGeometry(0, h * 0.6, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  4002. fourthDate1.vertex = true;
  4003. v.insert(fourthDate1);
  4004. fourthDate1.value = convertText(p.Option14);
  4005. fourthDate1.style += getLabelStyle(p.Option14);
  4006. var fourthDate3 = new mxCell('', new mxGeometry(w * 0.45, h * 0.6, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  4007. fourthDate3.vertex = true;
  4008. v.insert(fourthDate3);
  4009. fourthDate3.value = convertText(p.Option34);
  4010. fourthDate3.style += getLabelStyle(p.Option34);
  4011. var fifthDate1 = new mxCell('', new mxGeometry(0, h * 0.8, w * 0.25, h * 0.2), 'strokeColor=none;fillColor=none;');
  4012. fifthDate1.vertex = true;
  4013. v.insert(fifthDate1);
  4014. fifthDate1.value = convertText(p.Option15);
  4015. fifthDate1.style += getLabelStyle(p.Option15);
  4016. var fifthDate3 = new mxCell('', new mxGeometry(w * 0.45, h * 0.8, w * 0.2, h * 0.2), 'strokeColor=none;fillColor=none;');
  4017. fifthDate3.vertex = true;
  4018. v.insert(fifthDate3);
  4019. fifthDate3.value = convertText(p.Option35);
  4020. fifthDate3.style += getLabelStyle(p.Option35);
  4021. var line1 = new mxCell('', new mxGeometry(0, h * 0.4 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  4022. line1.vertex = true;
  4023. v.insert(line1);
  4024. var line2 = new mxCell('', new mxGeometry(0, h * 0.6 - 2, w, 4), 'shape=line;strokeColor=#888888;');
  4025. line2.vertex = true;
  4026. v.insert(line2);
  4027. v.style += getFillColor(p, a) + getOpacity(p, a) + 'strokeColor=none;';
  4028. break;
  4029. case 'iOSBasicCell' :
  4030. v.style += 'shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;spacing=0;align=left;spacingLeft=' + (p.SeparatorInset * scale) + ';';
  4031. v.style += getFontSize(p.text) +
  4032. getFontColor(p.text) +
  4033. getFontStyle(p.text) +
  4034. getTextVerticalAlignment(p.text);
  4035. v.value = convertText(p.text);
  4036. switch (p.AccessoryIndicatorType)
  4037. {
  4038. case 'Disclosure' :
  4039. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4040. icon1.vertex = true;
  4041. v.insert(icon1);
  4042. break;
  4043. case 'DetailDisclosure' :
  4044. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4045. icon1.vertex = true;
  4046. v.insert(icon1);
  4047. var icon2 = new mxCell('', new mxGeometry(w * 0.79, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4048. icon2.vertex = true;
  4049. v.insert(icon2);
  4050. break;
  4051. case 'DetailIndicator' :
  4052. var icon2 = new mxCell('', new mxGeometry(w * 0.87, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4053. icon2.vertex = true;
  4054. v.insert(icon2);
  4055. break;
  4056. case 'CheckMark' :
  4057. var icon1 = new mxCell('', new mxGeometry(w * 0.89, h * 0.37, h * 0.4, h * 0.26), 'shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;');
  4058. icon1.vertex = true;
  4059. v.insert(icon1);
  4060. break;
  4061. }
  4062. break;
  4063. case 'iOSSubtitleCell' :
  4064. v.style += 'shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=top;spacingLeft=' + (p.SeparatorInset * scale) + ';';
  4065. v.style += getFontSize(p.subtext) +
  4066. getFontColor(p.subtext) +
  4067. getFontStyle(p.subtext);
  4068. v.value = convertText(p.subtext);
  4069. var subtext = new mxCell('', new mxGeometry(0, h * 0.4, w, h * 0.6), 'fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=bottom;spacingLeft=' + (p.SeparatorInset * scale) + ';');
  4070. subtext.vertex = true;
  4071. v.insert(subtext);
  4072. subtext.style += getFontSize(p.text) +
  4073. getFontColor(p.text) +
  4074. getFontStyle(p.text);
  4075. subtext.value = convertText(p.text);
  4076. switch (p.AccessoryIndicatorType)
  4077. {
  4078. case 'Disclosure' :
  4079. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4080. icon1.vertex = true;
  4081. v.insert(icon1);
  4082. break;
  4083. case 'DetailDisclosure' :
  4084. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4085. icon1.vertex = true;
  4086. v.insert(icon1);
  4087. var icon2 = new mxCell('', new mxGeometry(w * 0.79, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4088. icon2.vertex = true;
  4089. v.insert(icon2);
  4090. break;
  4091. case 'DetailIndicator' :
  4092. var icon2 = new mxCell('', new mxGeometry(w * 0.87, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4093. icon2.vertex = true;
  4094. v.insert(icon2);
  4095. break;
  4096. case 'CheckMark' :
  4097. var icon1 = new mxCell('', new mxGeometry(w * 0.89, h * 0.37, h * 0.4, h * 0.26), 'shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;');
  4098. icon1.vertex = true;
  4099. v.insert(icon1);
  4100. break;
  4101. }
  4102. break;
  4103. case 'iOSRightDetailCell' :
  4104. v.style += 'shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;align=left;spacing=0;verticalAlign=middle;spacingLeft=' + (p.SeparatorInset * scale) + ';';
  4105. v.style += getFontSize(p.subtext) +
  4106. getFontColor(p.subtext) +
  4107. getFontStyle(p.subtext);
  4108. v.value = convertText(p.subtext);
  4109. var subtext = null;
  4110. switch (p.AccessoryIndicatorType)
  4111. {
  4112. case 'Disclosure' :
  4113. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4114. icon1.vertex = true;
  4115. v.insert(icon1);
  4116. subtext = new mxCell('', new mxGeometry(w * 0.55, 0, w * 0.3, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;');
  4117. break;
  4118. case 'DetailDisclosure' :
  4119. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4120. icon1.vertex = true;
  4121. v.insert(icon1);
  4122. var icon2 = new mxCell('', new mxGeometry(w * 0.79, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4123. icon2.vertex = true;
  4124. v.insert(icon2);
  4125. subtext = new mxCell('', new mxGeometry(w * 0.45, 0, w * 0.3, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;');
  4126. break;
  4127. case 'DetailIndicator' :
  4128. var icon2 = new mxCell('', new mxGeometry(w * 0.87, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4129. icon2.vertex = true;
  4130. v.insert(icon2);
  4131. subtext = new mxCell('', new mxGeometry(w * 0.52, 0, w * 0.3, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;');
  4132. break;
  4133. case 'CheckMark' :
  4134. var icon1 = new mxCell('', new mxGeometry(w * 0.89, h * 0.37, h * 0.4, h * 0.26), 'shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;');
  4135. icon1.vertex = true;
  4136. v.insert(icon1);
  4137. subtext = new mxCell('', new mxGeometry(w * 0.55, 0, w * 0.3, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;');
  4138. break;
  4139. default :
  4140. subtext = new mxCell('', new mxGeometry(w * 0.65, 0, w * 0.3, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;');
  4141. }
  4142. subtext.vertex = true;
  4143. v.insert(subtext);
  4144. subtext.style += getFontSize(p.text) +
  4145. getFontColor(p.text) +
  4146. getFontStyle(p.text);
  4147. subtext.value = convertText(p.text);
  4148. break;
  4149. case 'iOSLeftDetailCell' :
  4150. v.style += 'shape=partialRectangle;left=0;top=0;right=0;fillColor=#ffffff;strokeColor=#C8C7CC;';
  4151. var text = new mxCell('', new mxGeometry(0, 0, w * 0.25, h), 'fillColor=none;strokeColor=none;spacing=0;align=right;verticalAlign=middle;spacingRight=3;');
  4152. text.vertex = true;
  4153. v.insert(text);
  4154. text.style += getFontSize(p.subtext) +
  4155. getFontColor(p.subtext) +
  4156. getFontStyle(p.subtext);
  4157. text.value = convertText(p.subtext);
  4158. var subtext = new mxCell('', new mxGeometry(w * 0.25, 0, w * 0.5, h), 'fillColor=none;strokeColor=none;spacing=0;align=left;verticalAlign=middle;spacingLeft=3;');
  4159. subtext.vertex = true;
  4160. v.insert(subtext);
  4161. subtext.style += getFontSize(p.text) +
  4162. getFontColor(p.text) +
  4163. getFontStyle(p.text);
  4164. subtext.value = convertText(p.text);
  4165. switch (p.AccessoryIndicatorType)
  4166. {
  4167. case 'Disclosure' :
  4168. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4169. icon1.vertex = true;
  4170. v.insert(icon1);
  4171. break;
  4172. case 'DetailDisclosure' :
  4173. var icon1 = new mxCell('', new mxGeometry(w * 0.91, h * 0.35, h * 0.15, h * 0.3), 'shape=mxgraph.ios7.misc.right;strokeColor=#D2D2D6;');
  4174. icon1.vertex = true;
  4175. v.insert(icon1);
  4176. var icon2 = new mxCell('', new mxGeometry(w * 0.79, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4177. icon2.vertex = true;
  4178. v.insert(icon2);
  4179. break;
  4180. case 'DetailIndicator' :
  4181. var icon2 = new mxCell('', new mxGeometry(w * 0.87, h * 0.25, h * 0.5, h * 0.5), 'shape=mxgraph.ios7.icons.info;strokeColor=#007AFF;fillColor=#ffffff;');
  4182. icon2.vertex = true;
  4183. v.insert(icon2);
  4184. break;
  4185. case 'CheckMark' :
  4186. var icon1 = new mxCell('', new mxGeometry(w * 0.89, h * 0.37, h * 0.4, h * 0.26), 'shape=mxgraph.ios7.misc.check;strokeColor=#007AFF;strokeWidth=2;');
  4187. icon1.vertex = true;
  4188. v.insert(icon1);
  4189. break;
  4190. }
  4191. break;
  4192. case 'iOSTableGroupedSectionBreak' :
  4193. v.style += 'shape=partialRectangle;left=0;right=0;fillColor=#EFEFF4;strokeColor=#C8C7CC;';
  4194. var text1 = new mxCell('', new mxGeometry(0, 0, w, h * 0.4), 'fillColor=none;strokeColor=none;spacing=10;align=left;');
  4195. text1.vertex = true;
  4196. v.insert(text1);
  4197. text1.style += getFontSize(p.text) +
  4198. getFontColor(p.text) +
  4199. getFontStyle(p.text);
  4200. text1.value = convertText(p.text);
  4201. var text2 = new mxCell('', new mxGeometry(0, h * 0.6, w, h * 0.4), 'fillColor=none;strokeColor=none;spacing=10;align=left;');
  4202. text2.vertex = true;
  4203. v.insert(text2);
  4204. text2.style += getFontSize(p["bottom-text"]) +
  4205. getFontColor(p["bottom-text"]) +
  4206. getFontStyle(p["bottom-text"]);
  4207. text2.value = convertText(p["bottom-text"]);
  4208. break;
  4209. case 'iOSTablePlainHeaderFooter' :
  4210. v.style += 'fillColor=#F7F7F7;strokeColor=none;align=left;spacingLeft=5;spacing=0;';
  4211. v.style += getFontSize(p.text) +
  4212. getFontColor(p.text) +
  4213. getFontStyle(p.text);
  4214. v.value = convertText(p.text);
  4215. break;
  4216. case 'ERDEntityBlock' :
  4217. break;
  4218. case 'ERDEntityBlock2' :
  4219. break;
  4220. case 'ERDEntityBlock3' :
  4221. break;
  4222. case 'ERDEntityBlock4' :
  4223. break;
  4224. case 'SMPage' :
  4225. if (p.Group)
  4226. {
  4227. v.style += 'strokeColor=none;fillColor=none;'
  4228. var item1 = new mxCell('', new mxGeometry(0, 0, w * 0.9, h * 0.9), 'part=1;');
  4229. item1.vertex = true;
  4230. v.insert(item1);
  4231. item1.style += getStrokeColor(p, a) +
  4232. getFillColor(p, a) +
  4233. getOpacity(p, a) +
  4234. getShadow(p) +
  4235. getStrokeWidth(p);
  4236. var item2 = new mxCell('', new mxGeometry(w * 0.1, h * 0.1, w * 0.9, h * 0.9), 'part=1;');
  4237. item2.vertex = true;
  4238. v.insert(item2);
  4239. item2.style += getStrokeColor(p, a) +
  4240. getFillColor(p, a) +
  4241. getOpacity(p, a) +
  4242. getShadow(p) +
  4243. getStrokeWidth(p) +
  4244. getLabelStyle(p);
  4245. item2.value = convertText(p.Text);
  4246. if (p.Future)
  4247. {
  4248. item1.style += 'dashed=1;';
  4249. item2.style += 'dashed=1;';
  4250. }
  4251. }
  4252. else
  4253. {
  4254. if (p.Future)
  4255. {
  4256. v.style += 'dashed=1;';
  4257. }
  4258. v.style += getStrokeColor(p, a) +
  4259. getFillColor(p, a) +
  4260. getOpacity(p, a) +
  4261. getShadow(p) +
  4262. getStrokeWidth(p) +
  4263. getLabelStyle(p);
  4264. v.value = convertText(p.Text);
  4265. }
  4266. break;
  4267. case 'SMHome' :
  4268. case 'SMPrint' :
  4269. case 'SMSearch' :
  4270. case 'SMSettings' :
  4271. case 'SMSitemap' :
  4272. case 'SMSuccess' :
  4273. case 'SMVideo' :
  4274. case 'SMAudio' :
  4275. case 'SMCalendar' :
  4276. case 'SMChart' :
  4277. case 'SMCloud' :
  4278. case 'SMDocument' :
  4279. case 'SMForm' :
  4280. case 'SMGame' :
  4281. case 'SMUpload' :
  4282. v.style += getStrokeColor(p, a) +
  4283. getFillColor(p, a) +
  4284. getOpacity(p, a) +
  4285. getShadow(p) +
  4286. getStrokeWidth(p);
  4287. var item1 = null;
  4288. switch (obj.Class)
  4289. {
  4290. case 'SMHome' :
  4291. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.1, h * 0.8, h * 0.8), 'part=1;shape=mxgraph.office.concepts.home;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4292. break;
  4293. case 'SMPrint' :
  4294. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.19, h * 0.8, h * 0.62), 'part=1;shape=mxgraph.office.devices.printer;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4295. break;
  4296. case 'SMSearch' :
  4297. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.1, h * 0.8, h * 0.8), 'part=1;shape=mxgraph.office.concepts.search;flipH=1;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4298. break;
  4299. case 'SMSettings' :
  4300. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.35, h * 0.15, h * 0.7, h * 0.7), 'part=1;shape=mxgraph.mscae.enterprise.settings;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4301. break;
  4302. case 'SMSitemap' :
  4303. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.35, h * 0.2, h * 0.7, h * 0.6), 'part=1;shape=mxgraph.office.sites.site_collection;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4304. break;
  4305. case 'SMSuccess' :
  4306. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.3, h * 0.25, h * 0.6, h * 0.5), 'part=1;shape=mxgraph.mscae.general.checkmark;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4307. break;
  4308. case 'SMVideo' :
  4309. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.2, h * 0.8, h * 0.6), 'part=1;shape=mxgraph.office.concepts.video_play;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4310. break;
  4311. case 'SMAudio' :
  4312. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.3, h * 0.2, h * 0.6, h * 0.6), 'part=1;shape=mxgraph.mscae.general.audio;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4313. break;
  4314. case 'SMCalendar' :
  4315. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.15, h * 0.8, h * 0.7), 'part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4316. break;
  4317. case 'SMChart' :
  4318. var fc = getFillColor(p, a);
  4319. if (fc == '')
  4320. {
  4321. fc = '#ffffff;'
  4322. }
  4323. else
  4324. {
  4325. fc = fc.replace('fillColor=', '');
  4326. }
  4327. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.35, h * 0.15, h * 0.7, h * 0.7), 'part=1;shape=mxgraph.ios7.icons.pie_chart;fillColor=#e6e6e6;fillOpacity=50;strokeWidth=4;strokeColor=' + fc);
  4328. break;
  4329. case 'SMCloud' :
  4330. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.27, h * 0.8, h * 0.46), 'part=1;shape=mxgraph.networks.cloud;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4331. break;
  4332. case 'SMDocument' :
  4333. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.25, h * 0.15, h * 0.5, h * 0.7), 'part=1;shape=mxgraph.mscae.enterprise.document;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4334. break;
  4335. case 'SMForm' :
  4336. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.15, h * 0.8, h * 0.7), 'part=1;shape=mxgraph.office.concepts.form;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4337. break;
  4338. case 'SMGame' :
  4339. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.2, h * 0.8, h * 0.6), 'part=1;shape=mxgraph.mscae.general.game_controller;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4340. break;
  4341. case 'SMUpload' :
  4342. item1 = new mxCell('', new mxGeometry(w * 0.5 - h * 0.4, h * 0.2, h * 0.8, h * 0.6), 'part=1;shape=mxgraph.mscae.enterprise.backup_online;fillColor=#e6e6e6;opacity=50;strokeColor=none;');
  4343. break;
  4344. }
  4345. item1.vertex = true;
  4346. v.insert(item1);
  4347. item1.style += getLabelStyle(p);
  4348. item1.value = convertText(p.Text);
  4349. break;
  4350. case 'UMLMultiLanePoolBlock' :
  4351. break;
  4352. case 'UMLMultiLanePoolRotatedBlock' :
  4353. break;
  4354. case 'UMLMultidimensionalSwimlane' :
  4355. break;
  4356. case 'UMLComponentBoxBlock' :
  4357. break;
  4358. case 'BPMNActivity' :
  4359. break;
  4360. case 'BPMNActivity' :
  4361. break;
  4362. case 'BPMNEvent' :
  4363. break;
  4364. case 'BPMNChoreography' :
  4365. break;
  4366. case 'BPMNConversation' :
  4367. break;
  4368. case 'BPMNGateway' :
  4369. break;
  4370. case 'BPMNData' :
  4371. break;
  4372. case 'BPMNDataStore' :
  4373. break;
  4374. case 'BPMNAdvancedPoolBlock' :
  4375. break;
  4376. case 'BPMNAdvancedPoolBlockRotated' :
  4377. break;
  4378. case 'BPMNBlackPool' :
  4379. break;
  4380. case 'DefaultTableBlock' :
  4381. break;
  4382. case 'VSMDatacellBlock' :
  4383. break;
  4384. case 'VSMSupermarketBlock' :
  4385. break;
  4386. case 'VSMSafetyBufferStockBlock' :
  4387. break;
  4388. case 'VSMTimelineBlock' :
  4389. break;
  4390. case 'VSMElectronicInformationArrow' :
  4391. break;
  4392. case 'AWSRoundedRectangleContainerBlock2' :
  4393. break;
  4394. case 'NET_RingNetwork' :
  4395. break;
  4396. case 'NET_Ethernet' :
  4397. break;
  4398. case 'EE_OpAmp' :
  4399. break;
  4400. case 'EE_ControlledAmp' :
  4401. break;
  4402. case 'EE_Multiplexer' :
  4403. break;
  4404. case 'EE_Demultiplexer' :
  4405. break;
  4406. case 'EE_Capacitor1' :
  4407. break;
  4408. case 'EE_Capacitor2' :
  4409. break;
  4410. case 'EE_Diode' :
  4411. break;
  4412. case 'EE_Resistor' :
  4413. break;
  4414. case 'EE_Potentiometer' :
  4415. break;
  4416. case 'EE_Inductor' :
  4417. break;
  4418. case 'EE_Variable Inductor' :
  4419. break;
  4420. case 'EE_Motor' :
  4421. break;
  4422. case 'EE_IntegratedCircuit' :
  4423. break;
  4424. case 'EE_AcSource' :
  4425. break;
  4426. case 'EE_VoltageSource' :
  4427. break;
  4428. case 'EE_CurrentSource' :
  4429. break;
  4430. case 'EE_ControlledCurrentSource' :
  4431. break;
  4432. case 'EE_ControlledVoltageSource' :
  4433. break;
  4434. case 'EIMessageBlock' :
  4435. break;
  4436. case 'EIMessageEndpointBlock' :
  4437. break;
  4438. case 'EICommandMessageBlock' :
  4439. break;
  4440. case 'EIDocumentMessageBlock' :
  4441. break;
  4442. case 'EIEventMessageBlock' :
  4443. break;
  4444. case 'EIMessageBrokerBlock' :
  4445. break;
  4446. case 'EIMessageHistoryBlock' :
  4447. break;
  4448. case 'Equation' :
  4449. break;
  4450. case 'fpDoor' :
  4451. break;
  4452. case 'fpDoubleDoor' :
  4453. break;
  4454. case 'fpStairsCurved' :
  4455. break;
  4456. case 'fpStairsCurvedWide' :
  4457. break;
  4458. case 'fpRestroomLights' :
  4459. break;
  4460. case 'fpRestroomSinks' :
  4461. break;
  4462. case 'PEOneToMany' :
  4463. break;
  4464. case 'PEMultilines' :
  4465. break;
  4466. case 'PEVesselBlock' :
  4467. break;
  4468. case 'PEOpenTankBlock' :
  4469. break;
  4470. case 'PEClosedTankBlock' :
  4471. break;
  4472. case 'PEColumnBlock' :
  4473. break;
  4474. case 'PECompressorTurbineBlock' :
  4475. break;
  4476. case 'PEFanBlades2Block' :
  4477. break;
  4478. case 'PECentrifugalPumpBlock' :
  4479. break;
  4480. case 'PEIndicatorBlock' :
  4481. break;
  4482. case 'PEIndicator2Block' :
  4483. break;
  4484. case 'PESharedIndicatorBlock' :
  4485. break;
  4486. case 'PESharedIndicator2Block' :
  4487. break;
  4488. case 'PEProgrammableIndicatorBlock' :
  4489. break;
  4490. case 'PEGateValveBlock' :
  4491. break;
  4492. case 'PEGlobeValveBlock' :
  4493. break;
  4494. case 'PEControlValveBlock' :
  4495. break;
  4496. case 'PEAngleGlobeValveBlock' :
  4497. break;
  4498. case 'PEPoweredValveBlock' :
  4499. break;
  4500. case 'iOS7DeviceiPhone5Portrait' :
  4501. break;
  4502. case 'iOS7DeviceiPhone5Landscape' :
  4503. break;
  4504. case 'iOS7DeviceiPadPortrait' :
  4505. break;
  4506. case 'iOS7DeviceiPadLandscape' :
  4507. break;
  4508. case 'iOS7DeviceiPhone6Portrait' :
  4509. break;
  4510. case 'iOS7DeviceiPhone6Landscape' :
  4511. break;
  4512. case 'iOS7DeviceiPhone6PlusPortrait' :
  4513. break;
  4514. case 'iOS7DeviceiPhone6PlusLandscape' :
  4515. break;
  4516. case 'iOS7TabsiPhone' :
  4517. break;
  4518. case 'iOS7iPhoneActionSheet' :
  4519. break;
  4520. case 'iOS7TableView' :
  4521. break;
  4522. case 'iOS7NavBariPad' :
  4523. break;
  4524. case 'iOS7TabsiPad' :
  4525. break;
  4526. case 'iOS7iPadActionSheet' :
  4527. break;
  4528. case 'iOS7AlertDialog' :
  4529. break;
  4530. case 'iOS7ProgressBar' :
  4531. break;
  4532. case 'iOS7Slider' :
  4533. break;
  4534. case 'iOS7SegmentedControl' :
  4535. break;
  4536. case 'iOS7Toggle' :
  4537. break;
  4538. case 'iOS7PageControls' :
  4539. break;
  4540. case 'iOS7DatePicker' :
  4541. break;
  4542. case 'iOS7TimePicker' :
  4543. break;
  4544. case 'iOS7CountdownPicker' :
  4545. break;
  4546. case 'UI2BrowserBlock' :
  4547. break;
  4548. case 'UI2DialogBlock' :
  4549. break;
  4550. case 'UI2AccordionBlock' :
  4551. break;
  4552. case 'UI2TabBarContainerBlock' :
  4553. break;
  4554. case 'UI2TabBar2ContainerBlock' :
  4555. break;
  4556. case 'UI2VTabBarContainerBlock' :
  4557. break;
  4558. case 'UI2CheckBoxBlock' :
  4559. break;
  4560. case 'UI2HorizontalCheckBoxBlock' :
  4561. break;
  4562. case 'UI2RadioBlock' :
  4563. break;
  4564. case 'UI2HorizontalRadioBlock' :
  4565. break;
  4566. case 'UI2TableBlock' :
  4567. break;
  4568. case 'UI2ButtonBarBlock' :
  4569. break;
  4570. case 'UI2VerticalButtonBarBlock' :
  4571. break;
  4572. case 'UI2LinkBarBlock' :
  4573. break;
  4574. case 'UI2BreadCrumbsBlock' :
  4575. break;
  4576. case 'UI2MenuBarBlock' :
  4577. break;
  4578. case 'UI2ContextMenuBlock' :
  4579. break;
  4580. case 'UI2TreePaneBlock' :
  4581. break;
  4582. case 'UI2BraceNoteBlock' :
  4583. break;
  4584. case 'UI2TooltipBlock' :
  4585. break;
  4586. case 'UI2AlertBlock' :
  4587. break;
  4588. case 'Image_ipad_alert_dialog' :
  4589. break;
  4590. case 'Image_ipad_dialog' :
  4591. break;
  4592. case 'Image_ipad_table' :
  4593. break;
  4594. case 'Image_ipad_vtab' :
  4595. break;
  4596. case 'Image_ipad_large_tabbed_button' :
  4597. break;
  4598. case 'Image_ipad_sort_button' :
  4599. break;
  4600. case 'Image_ipad_tab_bar' :
  4601. break;
  4602. case 'Image_ipad_check_off' :
  4603. break;
  4604. case 'Image_ipad_radio_off' :
  4605. break;
  4606. case 'Image_ipad_checkbox_off' :
  4607. break;
  4608. case 'Image_iphone_table' :
  4609. break;
  4610. case 'Image_iphone_table_w_buttons' :
  4611. break;
  4612. case 'Image_iphone_table_w_icons' :
  4613. break;
  4614. case 'Image_iphone_list' :
  4615. break;
  4616. case 'Image_iphone_gray_grad_list' :
  4617. break;
  4618. case 'Image_iphone_alert_dialog' :
  4619. break;
  4620. case 'Image_iphone_dialog' :
  4621. break;
  4622. case 'Image_iphone_scroll_pane' :
  4623. break;
  4624. case 'Image_iphone_switch_off' :
  4625. break;
  4626. case 'Image_iphone_large_tabbed_button' :
  4627. break;
  4628. case 'Image_iphone_sort_button' :
  4629. break;
  4630. case 'Image_iphone_tab_bar' :
  4631. break;
  4632. case 'Image_iphone_picker_multi' :
  4633. break;
  4634. case 'Image_iphone_picker_web' :
  4635. break;
  4636. case 'Image_iphone_check_off' :
  4637. break;
  4638. case 'Image_iphone_radio_off' :
  4639. break;
  4640. case 'Image_iphone_checkbox_off' :
  4641. break;
  4642. }
  4643. return v;
  4644. };
  4645. })();