Compare commits

...

27 Commits

Author SHA1 Message Date
Matt Pass
c11500b791 v0.9.0 alpha 2012-10-08 07:49:43 +01:00
Matt Pass
ee0303dc06 Code condensing
pB var setup to avoid repeating long DOM elem refs again
Removed end point from substr, not necessary
Put 3 x themes into an array and test using indexOf instead
Syntax spacing in a couple of areas
2012-10-08 07:37:08 +01:00
Matt Pass
0d55f3bd81 use showHide, fix availability bug & use regex
use showHide function where possible
Check file and fileName are available before using them
Shorten code by setting in vars and reusing
Syntax & comment simplification
Use regex to work out previousFiles (also fixed comma prefix on string)
Slight adjustment to for loop using less chars
2012-10-06 18:06:01 +01:00
Matt Pass
0e377c1aff New regex for efficiency
More specific regex used to ensure efficiency & speed are optimal
Syntax spacing adjusts on couple of other lines
2012-10-06 15:43:23 +01:00
Matt Pass
388bd7cefa Improved regex on CSS values
Looks for hex, rgb/hsl-a or colour name values in their correct format
Need match ? match[0] : '' to handle no match scenarios
2012-10-05 15:41:58 +01:00
Matt Pass
8234b3b063 newTab now innerLI & better cssColorPreview code
newTab isn't a tab at all, it's inner contents of an LI, so now called
innerLI
2nd insertBefore should be inserting newText not newLI again
New code to get CSS values via regex
Now only showing the preview if the caretLocType is CSS
2012-10-04 18:10:18 +01:00
Matt Pass
573a07026d Simplifying and condensing code
No need to return cM in getcMInstance, just return the ternary value
Shortened a few comments for clarity & byte saving
No need to add length as 2nd param on substrs in a couple of places
newTab setup as string to be used in a couple of places
Ternary shortening on elemType
Converted ternary statement back to if else to byte save on 2 ternaries
Reversing bool on codeAssist var by using ! instead
break is shorter & better too, than increasing i's value to escape
2012-10-03 21:13:35 +01:00
Matt Pass
880e04d760 Anon objects & CM's searchCursor used, fixed nest
Now just usage anonymous objects inline instead of creating for single
use
(saves adding extra vars and is less code)
Removed findLen and replaceLen as only findLen was being used twice
Replaced how we find & replace by using CM's searchcursor
Fix to the selection on hover over nest items, doesn't need -1
(This is because I fixed CM's tagRangeFinder to include last line)
2012-10-03 19:39:11 +01:00
Matt Pass
683752762d Fix to 1st line charCount & simplifying endPos.ch
If our result is within the first line, add 1 to it to fix offset
No need to have ternary case for replace all, this is now done with a
regex
2012-10-03 08:03:51 +01:00
Matt Pass
79a78e0a58 Condensing and simplification
Reducing code in many areas by condensing and simplifying
2012-10-02 07:56:05 +01:00
Matt Pass
c33bea997a Lots of ternary & array check shortening
Shorting to ternary statements instead of if else statements in many
places
Checking indexOf on arrays to condense code here too
2012-09-30 17:33:34 +01:00
Matt Pass
a2f8d9bc43 Combo moveLine function & code condensing
moveLine(dir) func added as combo of moveLineUp and moveLineDown funcs
Move initialising vars to start of func
Used indexOf to check array for shortURL instead of for loop in 2 places
Improving/removing a few comments
Condensed code to now check if selectedFiles is empty or contains right
clicked file and also condensed code to use indexOf on array instead of
for loop
Don't need foundFile because of this condensing
Using ICEcoder ref for filesFrame and also showing dropdown higher up
(next to mouse pointer/inline with file/folder name)
2012-09-30 16:24:03 +01:00
Matt Pass
80d717b4dc Condensing code & new deselectAllFiles func
Syntax format improvements on fileManager function
selectFileFolder improvements:
- Removed a load of vars we no longer need & new tgtFile var added
- 2 x areas where we deselect files/folders now done via new function
- tgtFile now avail to avoid duplicate setup
- Other much more efficient and clearer processes setup to achieve same
result
New function added to deselect all files
Ternary shortening on colouring of selected/deselected files & folders
Swapped var order around
2012-09-30 14:55:59 +01:00
Matt Pass
e14a8df6a0 Check typeof parent and swap vars around
Checking state.curState.context can cause issues is state.curState
doesn't exist so just check state.curState instead
Swapped a couple of vars round to match order of usage in func
2012-09-29 17:15:09 +01:00
Matt Pass
4be0067852 htmlTagArray defined in top settings now
updateNestingIndicator now setup on a setInterval every 30 ms
(This is due to timing issues and solves this without being noticable)
Only if we have a context for the given tag build up the array
If so, reset htmlTagArray and build up the array again
This means we stick with the old array if we're in a script or style
block (for example)
Set the tagString to be the last item in the array
If caretLocType is JS, set the tagString to script
(This is because CodeMirror doesn't recognise this as a tag)
updateNestingIndicator now works by:
- checking if we have a cM instance and not in JS, Coffee etc filetypes
- gets token information for the very end of the document
- detects if it's className is an error or not to determin if the
nesting is broken
Fix to detecting the code type we're in as without -1, JavaScript is
ignored as it's array item 0
2012-09-29 17:02:30 +01:00
Matt Pass
30a97ed4db Using indexOf to check nestTagExceptions
No need to use for loop here, instead use indexOf to check tagString is
an array item within nestTagExceptions
2012-09-29 16:47:30 +01:00
Matt Pass
1257ed0174 New ICErepo logo
Lost the standard Octocat logo in favour of this one
2012-09-29 11:43:19 +01:00
Matt Pass
c717dd7bba Revised version to establish htmlTagArray
Uses a method from Marijn Haverbeke to establish an array of nested
tokens
This means chars in the document don't need to be scanned and the array
worked out in a more complex way
It means quite a few lines can be condensed down to just 3
Also means it's far less expensive on the CPU, meaning there is no
sluggishness onCursorActivity on large documents (ie typing etc)
2012-09-28 17:35:42 +01:00
Matt Pass
e0a7893578 Highlight line on moving up/down
No longer setting the cursor ch position on moving line up/down
Instead now highlighting the line that has been moved
This is done via the new function highlightLine
2012-09-28 07:52:33 +01:00
Matt Pass
6df5adf0f1 Deselect file we're closing in the file manager 2012-09-27 18:07:11 +01:00
Matt Pass
7e773e5d0a Go back to hiding code editor till loaded
Shows as a white block until loaded, so go back to having it's
visibility hidden until we're loaded and then show
2012-09-21 14:23:29 +01:00
Matt Pass
c3dbc4187f Remove iceRoot from location & perms file path
Clear iceRoot from the beginning of location (needed for when you set
your own ICEroot), so it doesn't cause DOM ID issues/mismatches
Also remove it from the file path passed through to file-control when
changing perms when you have your own ICEroot and don't show in server
message either
2012-09-21 14:22:14 +01:00
Matt Pass
6c004c3010 Remove ICEroot from path
This is applied in file control and by not removing it we have 2 x dirs
2012-09-21 09:25:58 +01:00
Matt Pass
96054295a0 Condensing code in a few areas
Reworked detecting if it's a JS, CoffeeScript, Ruby, CSS or LESS file by
switching the indexOf around
Also performed indexOf on an array rather than looking at each array
item in a for loop
Ternary shortening of code in a few areas
2012-09-20 18:15:20 +01:00
Matt Pass
640c0e9c4a Input field glow updates
Blue glow on input fields now set to 100% opacity, instead of 70%, was a
bit weak before
Also now showing on go to line input field
2012-09-20 09:41:21 +01:00
Matt Pass
ce04ef36da setLayout on creating new tab
Won't have height set on the editor instance otherwise
2012-09-20 09:29:16 +01:00
Matt Pass
677e90ed6b Condensing PHP code into 1 echo 2012-09-20 09:25:16 +01:00
12 changed files with 264 additions and 330 deletions

View File

@@ -1,4 +1,4 @@
#ICEcoder
#ICEcoder v0.9.0 alpha
##Web based IDE for smart web development
Early version of the web based IDE which allows for creation of websites in the web browser. Uses the brilliant CodeMirror for code highlighting & editing, with a slick IDE wrapped around it to make the whole thing work.
@@ -35,6 +35,7 @@ Early version of the web based IDE which allows for creation of websites in the
* Colour preview block on CSS colours, ie red, #f00 or RGBA(255,0,0,0.5)
* MySQL Database management via Adminer plugin
* Backs up files every 10 mins or on click of backup plugin icon
* Github repo syncing with ICErepo plugin
###Installation

View File

@@ -3,7 +3,7 @@
<html style="margin: 0" onMouseDown="top.ICEcoder.mouseDown=true" onMouseUp="top.ICEcoder.mouseDown=false" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'editor');top.ICEcoder.canResizeFilesW()}">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> editor</title>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> alpha editor</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" href="<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror.css">
<!--
@@ -35,7 +35,7 @@ span.CodeMirror-matchhighlight {background: #555}
<div style="float: left; margin-right: 50px">
<h2 style="color: rgba(0,198,255,0.7)">server</h2>
<span style="color:#888">Server name, OS & IP:</span><br>
<?php echo $_SERVER['SERVER_NAME'];?> &nbsp;&nbsp; <?php echo $_SERVER['SERVER_SOFTWARE'];?> &nbsp;&nbsp; <?php echo $_SERVER['SERVER_ADDR'];?><br><br>
<?php echo $_SERVER['SERVER_NAME']." &nbsp;&nbsp ".$_SERVER['SERVER_SOFTWARE']." &nbsp;&nbsp ".$_SERVER['SERVER_ADDR'];?><br><br>
<span style="color:#888">Root:</span><br>
<?php echo $docRoot;?><br><br>
<span style="color:#888">ICEcoder root:</span><br>
@@ -139,10 +139,8 @@ function createNewCMInstance(num) {
if (tok.string!=">") {lastString=tok.string};
if (e.type=="keyup"&&e.keyCode=="16"&&lastKeyCode=="190") {
canDoEndTag=true;
for (i=0;i<top.ICEcoder.tagNestExceptions.length;i++) {
if(top.ICEcoder.tagString!="script" && top.ICEcoder.tagString==top.ICEcoder.tagNestExceptions[i]) {
if (top.ICEcoder.tagString!="script" && top.ICEcoder.tagNestExceptions.indexOf(top.ICEcoder.tagString)>-1) {
canDoEndTag=false;
}
}
if (
top.ICEcoder.tagString.slice(0,1)=="/"||

View File

@@ -3,7 +3,7 @@
<html onMouseDown="top.ICEcoder.mouseDown=true" onMouseUp="top.ICEcoder.mouseDown=false" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'files');top.ICEcoder.canResizeFilesW()}" onContextMenu="top.ICEcoder.rightClickedFile=top.ICEcoder.thisFileFolderLink; return top.ICEcoder.showMenu()" onClick="top.ICEcoder.selectFileFolder()">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> file manager</title>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> alpha file manager</title>
<link rel="stylesheet" type="text/css" href="lib/files.css">
<script src="lib/coder.js" type="text/javascript"></script>
</head>

View File

@@ -25,7 +25,7 @@ if ($ICEcoder["checkUpdates"]) {
<html onMouseDown="top.ICEcoder.mouseDown=true" onMouseUp="top.ICEcoder.mouseDown=false" onMouseMove="if(top.ICEcoder) {top.ICEcoder.getMouseXY(event,'top');top.ICEcoder.canResizeFilesW()}">
<head>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?></title>
<title>ICEcoder v <?php echo $ICEcoder["versionNo"];?> alpha</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="robots" content="noindex, nofollow">
<link rel="stylesheet" type="text/css" href="lib/coder.css">
@@ -92,7 +92,7 @@ showFileMenu = function() {
<div class="plugins" id="pluginsContainer">
<?php echo $pluginsDisplay; ?>
</div>
<div class="version">v <?php echo $ICEcoder["versionNo"];?></div><img src="images/full-screen.gif" id="screenMode" class="screenModeIcon" onClick="top.ICEcoder.fullScreenSwitcher()">
<div class="version">v <?php echo $ICEcoder["versionNo"];?> alpha</div><img src="images/full-screen.gif" id="screenMode" class="screenModeIcon" onClick="top.ICEcoder.fullScreenSwitcher()">
<img src="images/ice-coder.png" class="logo" onClick="ICEcoder.helpScreen()" onContextMenu="ICEcoder.settingsScreen()">
</div>

View File

@@ -86,7 +86,7 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.files .accountOptions .rename {width: 16px; height: 16px; background-position: -116px 0; margin: 8px 0 0 5px; opacity: 0.3}
.files .accountOptions .view {width: 16px; height: 16px; background-position: -132px 0; margin: 8px 0 0 5px; opacity: 0.3}
.files .accountOptions .lock {position: relative; margin-left: 208px; margin-top: -27px; width: 12px; height: 16px; background-position: -64px -16px; z-index: 1}
.files input:focus, .findReplace input:focus, .findReplace select:focus, .accountPassword:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,0.7)}
.files input:focus, .findReplace input:focus, .findReplace select:focus, .accountPassword:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,1)}
.files .button {position: absolute; border: 0; background: #444; color: #eee; height:20px; margin-top: 16px; margin-left: 5px; font-size: 11px; cursor: pointer}
.files .button:hover {background-color: #222; color: #eee}
.files .frame {display: inline-block; width: 250px}
@@ -121,7 +121,8 @@ h2 {font-size: 18px; font-weight: normal; color: #fff}
.findBar .codeAssist input {margin-top: -1px}
.findBar .goLine {position: fixed; display: inline-block; width: 100px; right: -10px; top: 70px; height: 21px; font-size: 10px; z-index: 1}
.goLine .goToLine {width: 25px; height: 16px; border: 0; font-size: 10px; margin: -3px 0 0 3px}
.editor .code {position: relative; display: inline-block; top: 28px; width: 600px; height: 600px}
.goLine .goToLine:focus {outline: none; box-shadow: 0 0 10px 1px rgba(0,198,255,1)}
.editor .code {position: relative; display: inline-block; top: 28px; width: 600px; height: 600px; visibility: hidden}
.footer {position: fixed; display: inline-block; width: 100%; height: 30px; bottom: 0; background-color: rgba(0,0,0,0.7); left: 0; z-index: 2}
.footer .nesting {display: inline-block; padding: 5px 8px; margin: 4px 0 0 15px; font-weight: bold; font-size: 10px; color: #fff; background-color: #0b0}

File diff suppressed because it is too large Load Diff

View File

@@ -3,7 +3,7 @@
<html onContextMenu="return false">
<head>
<title>ICE Coder <?php echo $ICEcoder["versionNo"];?> file/folder properties</title>
<title>ICE Coder <?php echo $ICEcoder["versionNo"];?> alpha file/folder properties</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="file-folder-properties.css">
</head>

View File

@@ -3,7 +3,7 @@
<html>
<head>
<title>ICE Coder <?php echo $ICEcoder["versionNo"];?> help</title>
<title>ICE Coder <?php echo $ICEcoder["versionNo"];?> alpha help</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="help.css">
</head>

View File

@@ -3,7 +3,7 @@
<html>
<head>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> multiple results screen</title>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> alpha multiple results screen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="multiple-results.css">
</head>

View File

@@ -3,7 +3,7 @@
<html>
<head>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> settings screen</title>
<title>ICEcoder <?php echo $ICEcoder["versionNo"];?> alpha settings screen</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="settings-screen.css">
<link rel="stylesheet" href="../<?php echo $ICEcoder["codeMirrorDir"]; ?>/lib/codemirror.css">
@@ -36,7 +36,7 @@ for ($i=0;$i<count($themeArray);$i++) {
<div class="infoPane">
<img src="../images/ice-coder.png" class="logo">
<div class="version">v <?php echo $ICEcoder["versionNo"];?></div>
<div class="version">v <?php echo $ICEcoder["versionNo"];?> alpha</div>
<p>
git:<br>

View File

@@ -29,7 +29,7 @@ include($settingsFile);
// Add ICEcoder settings to beginning of $ICEcoder array
$ICEcoder = array(
"versionNo" => "0.8.6",
"versionNo" => "0.9.0",
"codeMirrorDir" => "CodeMirror-2.34",
"cMThisVer" => 2.34
)+$ICEcoder;
@@ -198,6 +198,9 @@ if ($_SESSION['loggedIn']) {
</script>
<?php
}
// Finally, show server data
$onLoadExtras .= ";top.ICEcoder.content.style.visibility='visible'";
}
// If we're due to show the settings screen
@@ -224,7 +227,7 @@ if (!$_SESSION['loggedIn']) {
<html>
<head>
<title>ICEcoder <?php
echo $ICEcoder["versionNo"]." : ";
echo $ICEcoder["versionNo"]." alpha : ";
echo $ICEcoder["accountPassword"] == "" ? "Setup" : "Login";
?></title>
<link rel="stylesheet" type="text/css" href="coder.css">
@@ -236,7 +239,7 @@ echo $ICEcoder["accountPassword"] == "" ? "Setup" : "Login";
<div class="screenVCenter">
<div class="screenCenter">
<img src="../images/ice-coder.png">
<div class="version">v <?php echo $ICEcoder["versionNo"];?></div>
<div class="version">v <?php echo $ICEcoder["versionNo"];?> alpha</div>
<form name="settingsUpdate" action="settings.php" method="POST">
<input type="password" name="<?php echo $ICEcoder["accountPassword"] == "" ? "account" : "login"; ?>Password" class="accountPassword">
<input type="submit" name="submit" value="<?php echo $ICEcoder["accountPassword"] == "" ? "Set Password" : "Login"; ?>" class="button">

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.5 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB