renderLineStyle is now an array of style arrays
cMonScroll function added to move scroll position of other pane to match
The on('renderLine') event now covers all lines, a change since earlier
versions of CodeMirror
This means a reworking of code was needed here to firstly identify a
matching pane and then if we have a match, add the style. Done in a for
loop and considers array items in renderLineStyle
Reworked much of the updateDiffs functin to reset array & value to begin
with and push to renderLineStyle array now. Also only doing this if we
have a height higher than normal to set, for perf reasons
No need to set renderLineStyle to false anymore
Finally, sorted the order things happen into 2 logical sections - main
pane changes first then diff pane changes after
renderLineStyle and renderPaneShiftAmount added to store info for
renderLine event
Function added for renderLine event, applies styles to line if we're
rendering that one
When updating diffs, run a loop to mark text according to it's status of
replace, delete or insert
Here we are also setting styles ready for the renderLine function and
clearing when done
This last part sets the height of the other pane, so lines of text line
up and make sense visually
Update on switching tab and using new settings
New vars for splitPane, debounce and editorFocusInstance added
Split pane controls added and center themselves and can now trigger
single and split pane views
Editor functions added here for focus, blur, onkeyup, oncursoractivity,
onchange and oninputread, can handle requests from either main or diff
pane
updateDiffs function added which will show differences between 2 panes
using jsdifflib and markText
updatePreviewWindow now it's own function too
Many functions redone so they can also take requests from either main or
diff panes, by using thisCM instead of cM
getcMdiffInstance function also added
Diff pane also updated on changing settings and switching tab
When adding files, location should be a slash if not set
Remove any initial double slashes
When removing files, location should be blank if not set. Then replace
iceRoot with a slash, before reducing double slashes at start, slashes
for pipes and tack together with file to make the targetElem, which is
what we end up looking for
Replace iceRoot with nothing on location
If we have no location, it should be a nothing to start with, not a
slash
Use this.childNodes[1].id instead of made up hardcoded ref
onClick event added also, wasn't there previously?!
ctrlSim param available to simiulate a CTRL key
In githubDiff mode, show the number of selected files and update button
and text colours
gitHubAction function added to call the github.php file with that action
in the URL in the centre of screen
Function also added to show/hide GitHub nav
Removed old alert message as we're much closer to being finished now
CTRL+Alt+8 shortcut for <li>
Remove old, unused h4-h6 shortcuts from array
Help screen is a little higher to allow for the new shortcut
Minified JS file brought up to date
githubAuthTokenSet flag added, false to begin with
Refreshing file manager now just reloads, not loads hardcoded URL
New function added to ask for GitHub auth token
If set, it auth's with that token and also passes through the place to
go next. Clears token value too for security.
On attempting to show the GitHub manager pane, if we have a token set,
great, show it, if not ask for the token
On toggling the GitHub diff mode, if we don't have the token set, ask
for it
githubAuthTokenSet param passed in to update flasg
Now accessable from the file manager menu option
Clicking this sets the content of the mediaContainer popup display to be
an iFrame loading the GitHub manager and shows the blackMask
setLine is now replaceRange
New namespacing on folding
replaceSelection needs "around" param
removeLine deprecated, using execCommand('deleteLine') now
cursor.end set to 1000000 for consistency
If we have a bug path, start checking on bugs, otherwise clear interval
(needed when removing the paths during our usage
Don't push into our array, but set the array params on our i counter
px needed on CSS values
If our timer is 0, fall into an else statement and clear the interval if
it exists
Return false after handling shortcut for fold/unfold line
Bug report path, sizes seen and sizes actual available to fill with data
On change of settings. establish new settings for bug file paths, timer
and max lines, then start bug checking again
Bugs icon will now open file in top.ICEcoder.bugReportPath and on doing
this, set bug icon back to OK icon as we've seen bugs now
Fix to name of bug checking interval so it gets cleared
bugFilesSizesSeen set back to new empty array
files value in QS needs pipes not slashes
filesSizesSeen now instead of filesMDTs as we're not working from mod
datetimes, but sizes instead
Only if the sizes seen length doesn't match the file paths length do we
push null values in
Commenting out/deleting old bits to clear up a little
bugReportStatus added, off to begin with
bugFileMDTs also added to contain a list of modified datetimes for bug
files being checked upon
On init, startBugChecking()
When using new settings, pull through 3 x bug related settings so we can
restart service (to do!)
xhrObj setup to return cross browser XHR object to make our calls
openBugReport will look to bugStatusReport and display an appropriate
message, for now
startBugChecking is the main function. If we have a timer, clear any
existing interval and start a new one
That then builds up a URL to call, with null values if items don't exist
(for error handling later on - to do!). The MDTs will need something
other than push, as this will all be called after changing settings. Use
the i int instead to hard set each array key & value (after clearing the
array)
The XHR call is made using our object and on a successful state, we
parse the result to read and handle the bug icon changing before setting
the bugReportStatus value. Need to also handle other states & statuses.
The status is set to 'ok' on restarting the bug checking function
Setup namespaces for nav and 4 x list ID's
No longer updating fullscreen icon on change of mode
accountH is now fileNavH
Set the width of the 4 x lists -60px of width of file manager
account DIV no longer there and use new spritesheet positions for lock
icon
undo and redo functions added, plus indent function to handle more and
less indenting
autocomplete function added also
searchForSelected function added too, so not part of key handling
function, but function called upon, removed voke.fm usage
No longer need to change opacity levels on file manager icons
Stop using rightClickedFile and instead look to last item in
selectedFiles array
Function added to show/hide file menu, includes fade in/out effect
Function to handle clicking on file manager icons removed
Manual is now shown in popup at larger size
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
Only focus on editor if we have a CM instance
On dragging files/folders, get the path if a file, otherwise go with the
folder path.
If we have CTRL key down, copy the selectedFiles and paste to the
tgtPath just established
Display temp message about move function coming soon