- composer config -g github-oauth.github.com $GITHUB_ACCESS_TOKEN
- phpenv config-rm xdebug.ini
- composer self-update
++ - composer dump-autoload --no-interaction
- composer install --prefer-dist --no-interaction
- npm install
- ./node_modules/.bin/gulp
return this;
}
};
-window.Events = Events;
+window.Events = new Events();
+
var services = require('./services')(ngApp, Events);
var directives = require('./directives')(ngApp, Events);
var controllers = require('./controllers')(ngApp, Events);
- xhr.open('POST', '/images/gallery/upload');
+"use strict";
+
+function editorPaste(e) {
+ if (!e.clipboardData) return
+ var items = e.clipboardData.items;
+ if (!items) return;
+ for (var i = 0; i < items.length; i++) {
+ if (items[i].type.indexOf("image") !== -1) {
+
+ var file = items[i].getAsFile();
+ var formData = new FormData();
+ var ext = 'png';
+ var xhr = new XMLHttpRequest();
+
+ if (file.name) {
+ var fileNameMatches = file.name.match(/\.(.+)$/);
+ if (fileNameMatches) {
+ ext = fileNameMatches[1];
+ }
+ }
+
+ var id = "image-" + Math.random().toString(16).slice(2);
+ editor.execCommand('mceInsertContent', false, '<img src="/loading.gif" id="' + id + '">');
+
+ var remoteFilename = "image-" + Date.now() + "." + ext;
+ formData.append('file', file, remoteFilename);
+ formData.append('_token', document.querySelector('meta[name="token"]').getAttribute('content'));
+
++ xhr.open('POST', window.baseUrl('/images/gallery/upload'));
+ xhr.onload = function () {
+ if (xhr.status === 200 || xhr.status === 201) {
+ var result = JSON.parse(xhr.responseText);
+ editor.dom.setAttrib(id, 'src', result.url);
+ } else {
+ console.log('An error occured uploading the image');
+ console.log(xhr.responseText);
+ editor.dom.remove(id);
+ }
+ };
+ xhr.send(formData);
+ }
+ }
+}
+
+function registerEditorShortcuts(editor) {
+ // Headers
+ for (let i = 1; i < 5; i++) {
+ editor.addShortcut('ctrl+' + i, '', ['FormatBlock', false, 'h' + i]);
+ }
+
+ // Other block shortcuts
+ editor.addShortcut('ctrl+q', '', ['FormatBlock', false, 'blockquote']);
+ editor.addShortcut('ctrl+d', '', ['FormatBlock', false, 'p']);
+ editor.addShortcut('ctrl+e', '', ['FormatBlock', false, 'pre']);
+ editor.addShortcut('ctrl+s', '', ['FormatBlock', false, 'code']);
+}
+
var mceOptions = module.exports = {
selector: '#html-editor',
content_css: [
<a ng-click="forceDraftSave()" class="text-pos"><i class="zmdi zmdi-save"></i>Save Draft</a>
</li>
<li ng-if="isNewPageDraft">
- <a href="{{$model->getUrl()}}/delete" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete Draft</a>
+ <a href="{{ $model->getUrl('/delete') }}" class="text-neg"><i class="zmdi zmdi-delete"></i>Delete Draft</a>
</li>
+ <li>
+ <a type="button" ng-if="isUpdateDraft" ng-click="discardDraft()" class="text-neg"><i class="zmdi zmdi-close-circle"></i>Discard Draft</a>
+ </li>
</ul>
</div>
</div>
</a>
@endif
<span class="sep">»</span>
- <a href="{{$page->getUrl()}}" class="text-page text-button"><i class="zmdi zmdi-file"></i>{{ $page->getShortName() }}</a>
- <a href="{{ $page->getUrl() }}" class="text-book text-button"><i class="zmdi zmdi-file"></i>{{ $page->getShortName() }}</a>
++ <a href="{{ $page->getUrl() }}" class="text-page text-button"><i class="zmdi zmdi-file"></i>{{ $page->getShortName() }}</a>
</div>
</div>
</div>
<div class="faded-small toolbar">
<div class="container">
<div class="row">
- <div class="col-md-6 faded">
+ <div class="col-sm-12 faded">
<div class="breadcrumbs">
- <a href="{{$page->book->getUrl()}}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $page->book->getShortName() }}</a>
- <a href="{{ $page->getUrl() }}" class="text-primary text-button"><i class="zmdi zmdi-arrow-left"></i>Back to page</a>
++ <a href="{{ $page->book->getUrl() }}" class="text-book text-button"><i class="zmdi zmdi-book"></i>{{ $page->book->getShortName() }}</a>
+ @if($page->hasChapter())
+ <span class="sep">»</span>
+ <a href="{{ $page->chapter->getUrl() }}" class="text-chapter text-button">
+ <i class="zmdi zmdi-collection-bookmark"></i>
- {{$page->chapter->getShortName()}}
++ {{ $page->chapter->getShortName() }}
+ </a>
+ @endif
+ <span class="sep">»</span>
- <a href="{{$page->getUrl()}}" class="text-page text-button"><i class="zmdi zmdi-file"></i>{{ $page->getShortName() }}</a>
++ <a href="{{ $page->getUrl() }}" class="text-page text-button"><i class="zmdi zmdi-file"></i>{{ $page->getShortName() }}</a>
</div>
</div>
- <div class="col-md-6 faded">
- </div>
</div>
</div>
</div>
<table class="table">
<tr>
- <th width="40%">Name</th>
- <th colspan="2" width="20%">Created By</th>
- <th width="20%">Revision Date</th>
- <th width="20%">Actions</th>
+ <th width="25%">Name</th>
+ <th colspan="2" width="10%">Created By</th>
+ <th width="15%">Revision Date</th>
+ <th width="25%">Changelog</th>
+ <th width="15%">Actions</th>
</tr>
- @foreach($page->revisions as $revision)
+ @foreach($page->revisions as $index => $revision)
<tr>
-- <td>{{$revision->name}}</td>
++ <td>{{ $revision->name }}</td>
<td style="line-height: 0;">
@if($revision->createdBy)
-- <img class="avatar" src="{{ $revision->createdBy->getAvatar(30) }}" alt="{{$revision->createdBy->name}}">
++ <img class="avatar" src="{{ $revision->createdBy->getAvatar(30) }}" alt="{{ $revision->createdBy->name }}">
@endif
</td>
-- <td> @if($revision->createdBy) {{$revision->createdBy->name}} @else Deleted User @endif</td>
-- <td><small>{{$revision->created_at->format('jS F, Y H:i:s')}} <br> ({{$revision->created_at->diffForHumans()}})</small></td>
- <td>{{$revision->summary}}</td>
- <td>
- <a href="{{ $revision->getUrl() }}" target="_blank">Preview</a>
- <span class="text-muted"> | </span>
- <a href="{{ $revision->getUrl('/restore') }}">Restore</a>
- </td>
++ <td> @if($revision->createdBy) {{ $revision->createdBy->name }} @else Deleted User @endif</td>
++ <td><small>{{ $revision->created_at->format('jS F, Y H:i:s') }} <br> ({{ $revision->created_at->diffForHumans() }})</small></td>
++ <td>{{ $revision->summary }}</td>
+ @if ($index !== 0)
+ <td>
- <a href="{{$revision->getUrl()}}" target="_blank">Preview</a>
++ <a href="{{ $revision->getUrl() }}" target="_blank">Preview</a>
+ <span class="text-muted"> | </span>
- <a href="{{$revision->getUrl()}}/restore">Restore</a>
++ <a href="{{ $revision->getUrl() }}/restore">Restore</a>
+ </td>
+ @else
+ <td><a target="_blank" href="{{ $page->getUrl() }}"><i>Current Version</i></a></td>
+ @endif
</tr>
@endforeach
</table>