diff --git a/fixed_move_test.html b/fixed_move_test.html deleted file mode 100644 index a40a438a3570727e34f2d458d3fa399ec6c6043a..0000000000000000000000000000000000000000 --- a/fixed_move_test.html +++ /dev/null @@ -1,100 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <style> - /* Wrapper class to trigger the effect */ - .trigger { - width : 220px ; - border : 1px solid #000 ; - display : inline-block ; - } - .trigger:hover .container{ - left : 200px ; - } - /* Absolutely positionned element */ - .container { - position : relative ; - width : 20px ; - height : 20px ; - left : 0px ; - background : #aaa ; - transition : all .25s ease-out ; - } - /* Fixed element inside the absolute one */ - .child { - position : fixed ; - width : 20px ; - height : 20px ; - background : #aaa ; - top : 100px ; - } - </style> - </head> - <body> - <!-- Display the bug test result --> - Your brother has the bug : <span id='bug-status'></span><br/><br/> - <div class="trigger"> - <!-- Demonstrate the error without any fix --> - <span>Reference</span><br/> - <div class="container"> - <div class="child"> - </div> - </div> - </div> - </div> - <!-- Apply the fix fix --> - <div class="trigger" id="trigger"> - <span>Fixed</span><br/> - <div class="container" id="container"> - <div class="child" id="child"> - </div> - </div> - </div> - </div> - </body> - <script> - /* Fix to programatically force fixed element repositionning */ - var trigger = document.getElementById('trigger') ; - var container = document.getElementById('container') ; - var child = document.getElementById('child') ; - function from_and_back(evt) { - if(container.children.length) { - container.removeChild(child) ; - setTimeout(function() {container.appendChild(child) ;}, 300) ; - } - } - trigger.addEventListener('mouseenter', from_and_back) ; - trigger.addEventListener('mouseleave', from_and_back) ; - - /* Simulate the bug to check whether the browser experiences it */ - var bug_status = document.getElementById('bug-status') ; - bug_status.innerText = (function() { - //create an absolutely positionned element - var abs = document.createElement('div') ; - abs.style.position = 'relative' ; - abs.style.left = '0px' ; - - //create a fixed element to put inside - var fix = document.createElement('div') ; - fix.style.position = 'fixed' ; - - //insert it into the document - abs.appendChild(fix) ; - document.body.appendChild(abs) ; - - //test - fix.getBoundingClientRect() ; - abs.style.left = '20px' ; - var fix_left = fix.getBoundingClientRect().left ; - var abs_left = abs.getBoundingClientRect().left ; - - //remove test elements from the document - document.body.removeChild(abs) ; - - //send the result - return abs_left !== fix_left ; - })() ; - </script> -</html> - diff --git a/sortable_test.html b/sortable_test.html deleted file mode 100644 index 16c2f5b4216066a4120385988b4f36cfb06d3129..0000000000000000000000000000000000000000 --- a/sortable_test.html +++ /dev/null @@ -1,456 +0,0 @@ -<!DOCTYPE html> -<html> - <head> - <title>Explosurf</title> - <meta name="viewport" content="width=device-width, initial-scale=1"> - <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> - <link rel="stylesheet" type="text/css" href="css/bootstrap.css" /> - <link rel="stylesheet" type="text/css" href="css/style.css" /> - <script type="text/javascript" src="js/sortable.js"></script> - <script type="text/javascript" src="js/ui.js"></script> - </head> - <body> - <!--{{{ programming interface--> - <div class="container" id="root-container"> - <!--{{{ navigation--> - <nav class="navbar navbar-default"> - <div class="container-fluid"> - <div class="navbar-header"> - <button type="button" - class="navbar-toggle collapsed" - data-toggle="collapse" - data-target="#navbar" - aria-expanded="false" - aria-controls="navbar" - > - <span class="sr-only">Toggle navigation</span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - <span class="icon-bar"></span> - </button> - <a class="navbar-brand" href="#">Test sortable</a> - </div> - <div class="collapse navbar-collapse" id="navbar"> - <ul class="nav navbar-nav navbar-right"> - <li> - <a href="index.html">Retour</a> - </li> - </ul> - </div> - </div> - </nav> - <!--}}}--> - - <div class="container-fluid" id="pgm-container"> - <div class="row row-offcanvas row-offcanvas-left" id="program"> - <!--{{{ commands--> - <div class="col-xs-12 col-sm-4 sidebar-offcanvas" id="library"> - <div class="panel panel-default"> - <!--{{{ tabs--> - <div class="panel-heading tabbed-heading"> - <ul class="nav nav-tabs"> - <li class="active"> - <a class="glyphicon glyphicon-move" data-toggle="tab" href=#mv_cmds></a> - </li> - <li> - <a class="glyphicon glyphicon-pencil" data-toggle="tab" href=#var_cmds></a> - </li> - <li> - <a class="glyphicon glyphicon-random" data-toggle="tab" href=#ctrl_cmds></a> - </li> - <li> - <a class="glyphicon glyphicon-ok" data-toggle="tab" href=#test_cmds></a> - </li> - <li> - <a class="glyphicon glyphicon-plus" data-toggle="tab" href=#arth_cmds></a> - </li> - <li> - <a class="glyphicon glyphicon-font" data-toggle="tab" href=#txt_cmds></a> - </li> - </ul> - <a class="glyphicon glyphicon-remove hidden" - id="btn-close-library" - href="javascript:mobile_context_reset();" - ></a> - </div> - <!--}}}--> - <div class="tab-content panel-collapse no-top-border-lists"> - <!--{{{ movement--> - <ul id="mv_cmds" class="list-group tab-pane fade library-group in active"> - <li class="list-group-item pgm-command pgm-type-direction cmd-dir-up"> - <span class="glyphicon glyphicon-circle-arrow-up"></span> - haut - </li> - <li class="list-group-item pgm-command pgm-type-direction cmd-dir-left"> - <span class="glyphicon glyphicon-circle-arrow-left"></span> - gauche - </li> - <li class="list-group-item pgm-command pgm-type-direction cmd-dir-down"> - <span class="glyphicon glyphicon-circle-arrow-down"></span> - bas - </li> - <li class="list-group-item pgm-command pgm-type-direction cmd-dir-right"> - <span class="glyphicon glyphicon-circle-arrow-right"></span> - droite - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-col-red"> - <span class="glyphicon glyphicon-adjust text-danger"></span> - rouge - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-col-yellow"> - <span class="glyphicon glyphicon-adjust text-warning"></span> - jaune - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-col-green"> - <span class="glyphicon glyphicon-adjust text-success"></span> - vert - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-col-blue"> - <span class="glyphicon glyphicon-adjust text-primary"></span> - bleu - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-col-of"> - <span class="glyphicon glyphicon-transfer"></span> - couleur de - <div class="pgm-recv pgm-recv-direction"> - <div class="placeholder">direction</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-direction cmd-dir-of"> - <span class="glyphicon glyphicon-transfer"></span> - direction de - <div class="pgm-recv pgm-recv-color"> - <div class="placeholder">couleur</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-direction cmd-next-dir"> - <span class="glyphicon glyphicon-refresh"></span> - direction suivante de - <div class="pgm-recv pgm-recv-direction"> - <div class="placeholder">direction</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-color cmd-next-col"> - <span class="glyphicon glyphicon-refresh"></span> - couleur suivante de - <div class="pgm-recv pgm-recv-color"> - <div class="placeholder">couleur</div> - </div> - </li> - </ul> - <!--}}}--> - <!--{{{ vaiables--> - <ul id="var_cmds" class="list-group tab-pane fade library-group"> - <li class="list-group-item pgm-command pgm-type-void cmd-var-local-set"> - <span class="glyphicon glyphicon-map-marker"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - ← - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="valeur" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-read cmd-var-local-read"> - <span class="glyphicon glyphicon-map-marker"></span> - <span class="glyphicon glyphicon-search"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-local-delete-var"> - <span class="glyphicon glyphicon-map-marker"></span> - <span class="glyphicon glyphicon-trash"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-local-delete-tile"> - <span class="glyphicon glyphicon-map-marker"></span> - <span class="glyphicon glyphicon-trash"></span> - tout sur la case - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-local-delete-world"> - <span class="glyphicon glyphicon-map-marker"></span> - <span class="glyphicon glyphicon-trash"></span> - tout sur toutes les cases - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-global-set"> - <span class="glyphicon glyphicon-globe"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - ← - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="valeur" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-read cmd-var-global-read"> - <span class="glyphicon glyphicon-globe"></span> - <span class="glyphicon glyphicon-search"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-global-delete-var"> - <span class="glyphicon glyphicon-globe"></span> - <span class="glyphicon glyphicon-trash"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-void cmd-var-global-delete-all"> - <span class="glyphicon glyphicon-globe"></span> - <span class="glyphicon glyphicon-trash"></span> - tout - </li> - </ul> - <!--}}}--> - <!--{{{ control--> - <ul id="ctrl_cmds" class="list-group tab-pane fade library-group"> - <li class="list-group-item panel panel-default pgm-block pgm-type-void cmd-block-if"> - <div class="panel-heading"> - Si - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </div> - <ul class="list-group pgm-recv-void"> - <li class="list-group-item pgm-command block-add no-sort hidden"> - <span class="glyphicon glyphicon-plus"></span> - </li> - </ul> - </li> - <li class="list-group-item panel panel-default pgm-block pgm-type-void cmd-block-if-else"> - <div class="panel-heading"> - Si - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </div> - <ul class="list-group pgm-recv-void"> - <li class="list-group-item pgm-command block-add no-sort hidden"> - <span class="glyphicon glyphicon-plus"></span> - </li> - </ul> - <div class="panel-heading"> - Sinon - </div> - <ul class="list-group pgm-recv-void"> - <li class="list-group-item pgm-command block-add no-sort hidden"> - <span class="glyphicon glyphicon-plus"></span> - </li> - </ul> - </li> - <li class="list-group-item panel panel-default pgm-block pgm-type-void cmd-block-while"> - <div class="panel-heading"> - Tant que - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </div> - <ul class="list-group pgm-recv-void"> - <li class="list-group-item pgm-command block-add no-sort hidden"> - <span class="glyphicon glyphicon-plus"></span> - </li> - </ul> - </li> - </ul> - <!--}}}--> - <!--{{{ tests--> - <ul id="test_cmds" class="list-group tab-pane fade library-group"> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-equal"> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="valeur" disabled></input> - </div> - = - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="valeur" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-gt"> - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="valeur" disabled></input> - </div> - > - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="valeur" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-ge"> - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="valeur" disabled></input> - </div> - ≥ - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="valeur" disabled></input> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-not"> - non - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-or"> - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - ou - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-and"> - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - et - <div class="pgm-recv pgm-recv-bool"> - <div class="placeholder">test</div> - </div> - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-var-exists-local"> - <span class="glyphicon glyphicon-map-marker"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - existe - </li> - <li class="list-group-item pgm-command pgm-type-bool cmd-test-var-exists-global"> - <span class="glyphicon glyphicon-globe"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="variable" disabled></input> - </div> - existe - </li> - </ul> - <!--}}}--> - <!--{{{ arithmetics--> - <ul id="arth_cmds" class="list-group tab-pane fade library-group"> - <li class="list-group-item pgm-command pgm-type-int cmd-arith-plus"> - ( - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - + - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - ) - </li> - <li class="list-group-item pgm-command pgm-type-int cmd-arith-minus"> - ( - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - - - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - ) - </li> - <li class="list-group-item pgm-command pgm-type-int cmd-arith-mult"> - ( - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - × - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - ) - </li> - <li class="list-group-item pgm-command pgm-type-int cmd-arith-div"> - ( - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - ÷ - <div class="pgm-recv pgm-recv-int"> - <input size=8 placeholder="entier" disabled></input> - </div> - ) - </li> - </ul> - <!--}}}--> - <!--{{{ strings--> - <ul id="txt_cmds" class="list-group tab-pane fade library-group"> - <li class="list-group-item pgm-command pgm-type-str cmd-str-concat"> - <span class="glyphicon glyphicon-paperclip"></span> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="debut" disabled></input> - </div> - <div class="pgm-recv pgm-recv-str"> - <input size=8 placeholder="fin" disabled></input> - </div> - </li> - </ul> - <!--}}}--> - </div> - </div> - </div> - <!---}}}--> - <!--{{{ program--> - <div class="col-xs-12 col-sm-8"> - <div class="panel panel-default pgm"> - <div class="panel-heading"> - <h3 class="panel-title pull-left" id="pgm-title">Programme</h3> - <div class="btn-group pull-right hidden-xs" role="group" id="desktop-switches"> - <button class="btn btn-default" type="button" id="desktop-ui-phone" - onclick="javascript:toggle_mobile();" - > - <span class="glyphicon glyphicon-phone"></span> - </button> - <button class="btn btn-default" type="button" id="desktop-ui-copy" - onclick="javascript:toggle_copy();" - > - <span class="glyphicon glyphicon-copy"></span> - </button> - </div> - </div> - <ul class="list-group pgm-recv-void" id="pgm-main"> - <li class="list-group-item pgm-command block-add no-sort hidden"> - <span class="glyphicon glyphicon-plus"></span> - </li> - </ul> - </div> - </div> - <!--}}}--> - </div> - </div> - </div> - <!--{{{ mobile toolbar--> - <div class="btn-toolbar hidden" role="toolbar" id="phone-toolbar"> - <div class="btn-group" role="group"> - <button class="btn btn-default active" autofocus type="button" id="tool-add" - onclick="javascript:phone_tools_set('tool-add');" - > - <span class="glyphicon glyphicon-plus"></span> - </button> - <button class="btn btn-default" type="button" id="tool-cut" - onclick="javascript:phone_tools_set('tool-cut');" - > - <span class="glyphicon glyphicon-scissors"></span> - </button> - <button class="btn btn-default" type="button" id="tool-copy" - onclick="javascript:phone_tools_set('tool-copy');" - > - <span class="glyphicon glyphicon-copy"></span> - </button> - <button class="btn btn-default" type="button" id="tool-paste" - onclick="javascript:phone_tools_set('tool-paste');" - > - <span class="glyphicon glyphicon-paste"></span> - </button> - </div> - </div> - <!--}}}--> - <!--}}}--> - <script type="text/javascript" src="js/bootstrap-native.js"></script> - <script type="text/javascript" src="js/pgm_construction.js"></script> - <script type="text/javascript" src="js/pgm_compiler.js"></script> - <div class="visible-xs-block" id="mobile-tester"></div> - </body> -</html> -