showManual function can now take a section param and append to iFrame
URL to target a section of the manual if required. Used from Plugin
Manager only for now.
pluginsManager is a new function to display the Plugins Manager on
demand
moveFile function added - takes oldName and newName and moves to that.
Also performs tab renaming as per rename function
updateFileManagerList function has new move event to add at new location
and remove from old
dropFile function updated to kickstart all of this with new moveFile
function call
Sets width and BG depending on wanting to show/hide
If we're showing, also perform an expand on the file manager incase it's
collapsed
(This is so we get to see both FM and plugins panes)
Nest indicator now works with XML too
Set cx as false and then set if we have a matching object structure
Do nest indicator even if we don't have a html or body tag, as we may
have XML
Always show 'content' after the nest tags, except if it's JavaScript
This is because AltGr+4 is used by { on French keyboards, it's a $ on
Turkish keyboards etc
Many people won't go beyond h3 anyway and so it's best to have h1-h3 and
have AltGr+4 working as expected for non English keyboards
Remove unused vars & whitespace
File manager menu won't get cut off if we trigger it near bottom of
screen. Now works out height of it and takes that into account so the
bottom sits 5px from the window.innerHeight bottom
Redo working out chPos in a more logical way
Tidy up formatting etc and add comments
Only run file.replace once, set in var
Only action replace on buttonClick (same as replace all), as having a
result selected and changing replace value can replace selection without
a button click, which is undesirable
if condition was wrong, should be based on if we already have that char
ref point in ICEcoder.results
Remove old code re counting no of chars previous to cursors line, and
other old chunks of code that seem to do nothing
Use a much shorter and more efficient way to count chars to our cursor
now
Same for building up filesQS, just join the array values with a colon
New fmReady var, set to true when the file manager is ready
An interval is set up and auto opens files as soon as this var changes
Simplifying for loop
Text and comment improvements and additions in many places
Can now just use window.innerWidth/height, no need for ternary condition
Simplifying an if and ternary condition
contentCleanUp should happen on all files
Put the line swapping into 1 operation so an undo makes sense
Replace document.getElementById() with top.get() in many places
Add/remove vars to avoid global leaks/clear away old vars
Use break instead of escaping through var setting
Add != "/[NEW}" to if condition so we can open multiple new files
Remove old code re switch tabs to open file, this is handled by isOpen
if condition now
Condensing a lot of code on deleteFiles function
Condensed code a little on showMenu function re folderMenuItems
Both functions can now duplicate and remove multiple lines as well as
specified line or current line
Tries to handle duplicating intelligently with line breaks if selection
ends at a line end getting a line break
Remove updateHints function, upgraded to new gutter based JS Hint system
On toggle of codeAssist, clear the gutter and set lintWith to false if
we're turning off
1st tab position is now an extra 12px, so 53px not 41px
This will openClose a folder without requesting a reload. This means if
it's a closed folder it will stay closed and if it's an open folders it
will get closed. This is done before hiding the folder, without this the
child contents will still be seen even though the parent folder display
itself is hidden.
Function is now named deleteFiles
Comparisons on files such as xyz9.txt and xyz10.txt would come out as
xyz9.txt being higher and cause issues as startFile and endFile would be
the wrong way round. I'm therefore now comparing on regex replaced
values, where numbers may be prefixed by up to 20 zeros (note
substr(-20) to right align our value.
delete, copy and paste file functions now plural as they handle multiple
files.
copyFiles works with a given fileList and not just the selectedFiles
array. Also passing params to control if we hide or show paste option
and file menu
pasteFiles will refuse to paste the root, that would cause bad looping &
compound pasting issues
duplicateFiles function added which takes a snapshot of the copiedFiles
array, copies the files while not showing paste menu or hiding menu. It
then sets the paste location to be the parent of the duplicate target
and pastes into that location. Once done copiedFiles is returned to the
snapshot image.
Declare all vars at the top of function
If the R, G or B values have less than 50% saturation or we have a high
yellow like color, use a white text color, otherwise black
Set that on both the X&Y preview and the clicked color preview
We can only set the CaretLocType if we have a fileName to inspect, an
edge case brought up by unit testing
Extra param added to closeTab to allow us to not ask the user for close
permission on unsaved files
tabBGopen now a lighter color, plus tabFGcurrent and tabFGopenFile
colors added
Removed bgVPos and no longer setting BG position as we're not using an
image anymore
(Instead we set either the current or open tabBG color
We also set the FG color of the filename to current or openFile
No longer manually set display to none on fileMenu on actions, should be
calling hideFileMenu
On showing the menu, set the opacity to 1 4ms after setting the display
to inline-block
Simply set opacity to 0 on hiding so it's more an instant hide
Get rid of progress bar reset
Will only now begin to select a range of files if we have selected files
already.
If not, it will add this first file as a start point.
Will also only range select if we are range selecting in the same
folder, otherwise will add this file. This enables you to select ranges
of files in different folders.
Lastly, the root has a very slightly different node structure, as we
can't start at 0 and step in increments of 2, it needs to be 1, 3, 5
etc. So as a failsafe, if the node we're looking at is not a LI,
increase the i counter by 1.
New vars added for the new event of shift-clicking to select ranges of
files in the file manager
Get the last file clicked and work out if the file we've just clicked is
alphabetically greater than it or not, so we end up with a startFile <
endFile and are therefore selecting from startFile downwards
In a for loop, run until we find our startFile and begin selecting.
If we're selecting and the file we're looking at isn't in our
selectedFiles array, select that file and add it to the array
Finally, when we reach our endFile, break out of the loop