Fix eslint warnings

This commit is contained in:
Luke "Jared" Bennett 2017-07-15 02:54:51 +01:00
parent b2afa71d98
commit 2e0250231e
No known key found for this signature in database
GPG key ID: 402ED51FB5D306C2
15 changed files with 191 additions and 192 deletions

View file

@ -72,19 +72,18 @@ import RepoBundle from './repo/repo_bundle';
} }
Dispatcher.prototype.initPageScripts = function() { Dispatcher.prototype.initPageScripts = function() {
var page, path, shortcut_handler, fileBlobPermalinkUrlElement, fileBlobPermalinkUrl, os; var page, path, shortcut_handler, fileBlobPermalinkUrlElement, fileBlobPermalinkUrl;
page = $('body').attr('data-page'); page = $('body').attr('data-page');
if (!page) { if (!page) {
return false; return false;
} }
function getScrollBarWidth () { function getScrollBarWidth () {
var $outer = $('<div>').css({ visibility: 'hidden', width: 100, overflow: 'scroll' }).appendTo('body'), var $outer = $('<div>').css({ visibility: 'hidden', width: 100, overflow: 'scroll' }).appendTo('body'),
widthWithScroll = $('<div>').css({ width: '100%' }).appendTo($outer).outerWidth(); widthWithScroll = $('<div>').css({ width: '100%' }).appendTo($outer).outerWidth();
$outer.remove(); $outer.remove();
return 100 - widthWithScroll; return 100 - widthWithScroll;
}; }
$('body').attr('data-scroll-width', getScrollBarWidth()); $('body').attr('data-scroll-width', getScrollBarWidth());

View file

@ -1,8 +1,9 @@
import Vue from 'vue' import Vue from 'vue';
import Store from './repo_store' import Store from './repo_store';
import Flash from '../flash';
export default class RepoBinaryViewer { export default class RepoBinaryViewer {
constructor(url) { constructor() {
this.initVue(); this.initVue();
} }
@ -15,19 +16,23 @@ export default class RepoBinaryViewer {
computed: { computed: {
pngBlobWithDataURI() { pngBlobWithDataURI() {
return `data:image/png;base64,${this.blobRaw}`; return `data:image/png;base64,${this.blobRaw}`;
} },
}, },
watch: { watch: {
blobRaw() { blobRaw() {
if (!this.binary) return; if (!this.binary) return;
switch (this.binaryMimeType) { switch (this.binaryMimeType) {
case 'image/png': case 'image/png':
this.binaryTypes.png = true; this.binaryTypes.png = true;
break; break;
default:
new Flash('Blob could not be loaded'); // eslint-disable-line no-new
break;
} }
} },
} },
}); });
} }
} }

View file

@ -1,11 +1,11 @@
import Tabs from './repo_tabs' import Tabs from './repo_tabs';
import Sidebar from './repo_sidebar' import Sidebar from './repo_sidebar';
import Editor from './repo_editor' import Editor from './repo_editor';
import BinaryViewer from './repo_binary_viewer' import BinaryViewer from './repo_binary_viewer';
import ViewToggler from './repo_view_toggler' import ViewToggler from './repo_view_toggler';
import Service from './repo_service' import Service from './repo_service';
import Store from './repo_store' import Store from './repo_store';
import Helper from './repo_helper' import Helper from './repo_helper';
export default class RepoBundle { export default class RepoBundle {
constructor() { constructor() {

View file

@ -1,7 +1,7 @@
/* global monaco */ /* global monaco */
import Vue from 'vue'; import Vue from 'vue';
import Store from './repo_store' import Store from './repo_store';
import Helper from './repo_helper' import Helper from './repo_helper';
export default class RepoEditor { export default class RepoEditor {
constructor() { constructor() {
@ -15,9 +15,9 @@ export default class RepoEditor {
this.monacoEditor = monaco.editor this.monacoEditor = monaco.editor
.create( .create(
document.getElementById('ide'), { document.getElementById('ide'), {
model: null model: null,
} },
) );
Helper.monacoInstance = monaco; Helper.monacoInstance = monaco;
this.initVue(); this.initVue();
monaco.languages.getLanguages(); monaco.languages.getLanguages();
@ -34,8 +34,8 @@ export default class RepoEditor {
monacoEditor.setModel( monacoEditor.setModel(
monaco.editor.createModel( monaco.editor.createModel(
this.blobRaw, this.blobRaw,
'plain' 'plain',
) ),
); );
} }
}, },
@ -67,12 +67,12 @@ export default class RepoEditor {
self.monacoEditor.setModel( self.monacoEditor.setModel(
monaco.editor.createModel( monaco.editor.createModel(
this.blobRaw, this.blobRaw,
this.activeFile.mime_type this.activeFile.mime_type,
) ),
); );
} }
} },
} },
}); });
} }
} }

View file

@ -1,4 +1,4 @@
let RepoFile = { const RepoFile = {
template: ` template: `
<tr v-if='!loading.tree || hasFiles'> <tr v-if='!loading.tree || hasFiles'>
<td> <td>
@ -19,13 +19,13 @@ let RepoFile = {
isTree: Boolean, isTree: Boolean,
isMini: Boolean, isMini: Boolean,
loading: Object, loading: Object,
hasFiles: Boolean hasFiles: Boolean,
}, },
methods: { methods: {
linkClicked(file) { linkClicked(file) {
this.$emit('linkclicked', file); this.$emit('linkclicked', file);
} },
} },
}; };
export default RepoFile; export default RepoFile;

View file

@ -1,9 +1,10 @@
import Service from './repo_service' import Service from './repo_service';
import Store from './repo_store' import Store from './repo_store';
import Flash from '../flash';
let RepoHelper = { const RepoHelper = {
isTree(data) { isTree(data) {
return data.hasOwnProperty('blobs'); return Object.hasOwnProperty.call(data, 'blobs');
}, },
monacoInstance: undefined, monacoInstance: undefined,
@ -14,17 +15,11 @@ let RepoHelper = {
: Date, : Date,
getLanguagesForMimeType(mimetypeNeedle) { getLanguagesForMimeType(mimetypeNeedle) {
const langs = monaco.languages.getLanguages(); const langs = window.monaco.languages.getLanguages();
let lang = ''; langs.map((lang) => {
langs.every((lang) => { const hasLang = lang.mimetypes.some(mimetype => mimetypeNeedle === mimetype);
const hasLang = lang.mimetypes.some((mimetype) => { if (hasLang) return lang.id;
return mimetypeNeedle === mimetype return lang;
});
if(hasLang) {
lang = lang.id;
return true;
}
return false;
}); });
}, },
@ -53,8 +48,9 @@ let RepoHelper = {
if (indexOfFile) { if (indexOfFile) {
// insert new list into old list // insert new list into old list
newList.forEach((newFile) => { newList.forEach((newFile) => {
newFile.level = inDirectory.level + 1; const file = newFile;
oldList.splice(indexOfFile, 0, newFile); file.level = inDirectory.level + 1;
oldList.splice(indexOfFile, 0, file);
}); });
return oldList; return oldList;
} }
@ -63,15 +59,15 @@ let RepoHelper = {
setActiveFile(file) { setActiveFile(file) {
Store.openedFiles = Store.openedFiles.map((openedFile) => { Store.openedFiles = Store.openedFiles.map((openedFile) => {
openedFile.active = file.url === openedFile.url; const activeFile = openedFile;
if(openedFile.active) { activeFile.active = file.url === activeFile.url; // eslint-disable-line no-param-reassign
Store.activeFile = openedFile; if (activeFile.active) {
Store.activeFile = activeFile;
} }
return openedFile; return activeFile;
}); });
if (file.binary) { if (file.binary) {
Store.blobRaw = file.base64; Store.blobRaw = file.base64;
console.log('binary', file)
} else { } else {
Store.blobRaw = file.plain; Store.blobRaw = file.plain;
} }
@ -82,28 +78,26 @@ let RepoHelper = {
}, },
removeFromOpenedFiles(file) { removeFromOpenedFiles(file) {
console.log('file remove', file)
if (file.type === 'tree') return; if (file.type === 'tree') return;
Store.openedFiles = Store.openedFiles.filter((openedFile) => { Store.openedFiles = Store.openedFiles.filter(openedFile => openedFile.url !== file.url);
return openedFile.url !== file.url;
});
}, },
addToOpenedFiles(file) { addToOpenedFiles(file) {
const openedFilesAlreadyExists = Store.openedFiles.some((openedFile) => { const openedFilesAlreadyExists = Store.openedFiles
return openedFile.url === file.url .some(openedFile => openedFile.url === file.url);
});
if (!openedFilesAlreadyExists) { if (!openedFilesAlreadyExists) {
Store.openedFiles.push(file); Store.openedFiles.push(file);
} }
}, },
/* eslint-disable no-param-reassign */
setDirectoryOpen(tree) { setDirectoryOpen(tree) {
if (tree) { if (tree) {
tree.opened = true; tree.opened = true;
tree.icon = 'fa-folder-open'; tree.icon = 'fa-folder-open';
} }
}, },
/* eslint-enable no-param-reassign */
getRawURLFromBlobURL(url) { getRawURLFromBlobURL(url) {
return url.replace('blob', 'raw'); return url.replace('blob', 'raw');
@ -113,9 +107,9 @@ let RepoHelper = {
Service.getBase64Content(url) Service.getBase64Content(url)
.then((response) => { .then((response) => {
Store.blobRaw = response; Store.blobRaw = response;
file.base64 = response file.base64 = response; // eslint-disable-line no-param-reassign
console.log('file',file); })
}); .catch(this.loadingError);
}, },
toggleFakeTab(loading, file) { toggleFakeTab(loading, file) {
@ -128,14 +122,13 @@ let RepoHelper = {
loading: true, loading: true,
mime_type: 'loading', mime_type: 'loading',
name: 'loading', name: 'loading',
url: randomURL url: randomURL,
}; };
Store.openedFiles.push(newFakeFile); Store.openedFiles.push(newFakeFile);
return newFakeFile; return newFakeFile;
} else { }
this.removeFromOpenedFiles(file); this.removeFromOpenedFiles(file);
return null; return null;
}
}, },
setLoading(loading, file) { setLoading(loading, file) {
@ -145,16 +138,16 @@ let RepoHelper = {
Store.loading.blob = loading; Store.loading.blob = loading;
return this.toggleFakeTab(loading, file); return this.toggleFakeTab(loading, file);
} }
return undefined;
}, },
// may be tree or file. // may be tree or file.
getContent(file) { getContent(file) {
const loadingData = this.setLoading(true); const loadingData = this.setLoading(true);
console.log('loading data', loadingData)
Service.getContent() Service.getContent()
.then((response) => { .then((response) => {
console.log('loadddd') const data = response.data;
let data = response.data;
this.setLoading(false, loadingData); this.setLoading(false, loadingData);
Store.isTree = this.isTree(data); Store.isTree = this.isTree(data);
if (!Store.isTree) { if (!Store.isTree) {
@ -164,7 +157,7 @@ let RepoHelper = {
Store.binaryMimeType = data.mime_type; Store.binaryMimeType = data.mime_type;
this.setBinaryDataAsBase64( this.setBinaryDataAsBase64(
this.getRawURLFromBlobURL(file.url), this.getRawURLFromBlobURL(file.url),
data data,
); );
data.binary = true; data.binary = true;
data.url = file.url; data.url = file.url;
@ -182,15 +175,14 @@ let RepoHelper = {
} else { } else {
// it's a tree // it's a tree
this.setDirectoryOpen(file); this.setDirectoryOpen(file);
let newDirectory = this.dataToListOfFiles(data); const newDirectory = this.dataToListOfFiles(data);
Store.files = this.insertNewFilesIntoParentDir(file, Store.files, newDirectory); Store.files = this.insertNewFilesIntoParentDir(file, Store.files, newDirectory);
Store.prevURL = this.blobURLtoParent(Service.url); Store.prevURL = this.blobURLtoParent(Service.url);
console.log('Store.prevURL',Store.prevURL);
} }
}) })
.catch((response)=> { .catch(() => {
this.setLoading(false, loadingData); this.setLoading(false, loadingData);
new Flash('Unable to load the file at this time.') this.loadingError();
}); });
}, },
@ -198,6 +190,7 @@ let RepoHelper = {
return `fa-${icon}`; return `fa-${icon}`;
}, },
/* eslint-disable no-param-reassign */
removeChildFilesOfTree(tree) { removeChildFilesOfTree(tree) {
let foundTree = false; let foundTree = false;
Store.files = Store.files.filter((file) => { Store.files = Store.files.filter((file) => {
@ -205,19 +198,18 @@ let RepoHelper = {
foundTree = true; foundTree = true;
} }
if (foundTree) { if (foundTree) {
return file.level <= tree.level return file.level <= tree.level;
} else {
return true;
} }
return true;
}); });
tree.opened = false; tree.opened = false;
tree.icon = 'fa-folder'; tree.icon = 'fa-folder';
}, },
/* eslint-enable no-param-reassign */
dataToListOfFiles(data) { dataToListOfFiles(data) {
let a = []; const a = [];
// push in blobs // push in blobs
data.blobs.forEach((blob) => { data.blobs.forEach((blob) => {
@ -228,8 +220,8 @@ let RepoHelper = {
icon: this.toFA(blob.icon), icon: this.toFA(blob.icon),
lastCommitMessage: blob.last_commit.message, lastCommitMessage: blob.last_commit.message,
lastCommitUpdate: blob.last_commit.committed_date, lastCommitUpdate: blob.last_commit.committed_date,
level: 0 level: 0,
}) });
}); });
data.trees.forEach((tree) => { data.trees.forEach((tree) => {
@ -238,8 +230,8 @@ let RepoHelper = {
name: tree.name, name: tree.name,
url: tree.url, url: tree.url,
icon: this.toFA(tree.icon), icon: this.toFA(tree.icon),
level: 0 level: 0,
}) });
}); });
data.submodules.forEach((submodule) => { data.submodules.forEach((submodule) => {
@ -248,32 +240,36 @@ let RepoHelper = {
name: submodule.name, name: submodule.name,
url: submodule.url, url: submodule.url,
icon: this.toFA(submodule.icon), icon: this.toFA(submodule.icon),
level: 0 level: 0,
}) });
}); });
return a; return a;
}, },
genKey() { genKey() {
return this.Time.now().toFixed(3) return this.Time.now().toFixed(3);
}, },
_key: '', key: '',
getStateKey() { getStateKey() {
return this._key return this.key;
}, },
setStateKey(key) { setStateKey(key) {
this._key = key; this.key = key;
}, },
toURL(url) { toURL(url) {
var history = window.history; const history = window.history;
this._key = this.genKey(); this.key = this.genKey();
history.pushState({ key: this._key }, '', url); history.pushState({ key: this.key }, '', url);
} },
loadingError() {
new Flash('Unable to load the file at this time.'); // eslint-disable-line no-new
},
}; };
export default RepoHelper; export default RepoHelper;

View file

@ -1,4 +1,4 @@
let RepoLoadingFile = { const RepoLoadingFile = {
template: ` template: `
<tr v-if='loading.tree && !hasFiles'> <tr v-if='loading.tree && !hasFiles'>
<td> <td>
@ -36,7 +36,7 @@ let RepoLoadingFile = {
props: { props: {
loading: Object, loading: Object,
hasFiles: Boolean, hasFiles: Boolean,
isMini: Boolean isMini: Boolean,
} },
}; };
export default RepoLoadingFile; export default RepoLoadingFile;

View file

@ -1,10 +1,10 @@
import Store from './repo_store' import Store from './repo_store';
let RepoMiniMixin = { const RepoMiniMixin = {
computed: { computed: {
isMini() { isMini() {
return !!Store.openedFiles.length; return !!Store.openedFiles.length;
} },
}, },
}; };

View file

@ -1,4 +1,4 @@
let RepoPreviousDirectory = { const RepoPreviousDirectory = {
template: ` template: `
<tr> <tr>
<td colspan='3'> <td colspan='3'>
@ -8,13 +8,13 @@ let RepoPreviousDirectory = {
`, `,
props: { props: {
name: 'repo-previous-directory', name: 'repo-previous-directory',
prevurl: String prevurl: String,
}, },
methods: { methods: {
linkClicked(file) { linkClicked(file) {
this.$emit('linkclicked', file); this.$emit('linkclicked', file);
} },
} },
}; };
export default RepoPreviousDirectory; export default RepoPreviousDirectory;

View file

@ -1,11 +1,11 @@
import axios from 'axios'; import axios from 'axios';
let RepoService = { const RepoService = {
url: '', url: '',
params: { params: {
params: { params: {
format: 'json' format: 'json',
} },
}, },
setUrl(url) { setUrl(url) {
@ -22,10 +22,10 @@ let RepoService = {
getBase64Content(url) { getBase64Content(url) {
return axios return axios
.get(url, { .get(url, {
responseType: 'arraybuffer' responseType: 'arraybuffer',
}) })
.then(response => new Buffer(response.data, 'binary').toString('base64')) .then(response => new Buffer(response.data, 'binary').toString('base64'));
} },
}; };
export default RepoService; export default RepoService;

View file

@ -1,11 +1,11 @@
import Service from './repo_service' import Vue from 'vue';
import Helper from './repo_helper' import Service from './repo_service';
import Vue from 'vue' import Helper from './repo_helper';
import Store from './repo_store' import Store from './repo_store';
import RepoPreviousDirectory from './repo_prev_directory' import RepoPreviousDirectory from './repo_prev_directory';
import RepoFile from './repo_file' import RepoFile from './repo_file';
import RepoLoadingFile from './repo_loading_file' import RepoLoadingFile from './repo_loading_file';
import RepoMiniMixin from './repo_mini_mixin' import RepoMiniMixin from './repo_mini_mixin';
export default class RepoSidebar { export default class RepoSidebar {
constructor(url) { constructor(url) {
@ -34,7 +34,7 @@ export default class RepoSidebar {
addPopEventListener() { addPopEventListener() {
window.addEventListener('popstate', () => { window.addEventListener('popstate', () => {
this.linkClicked({ this.linkClicked({
url: location.href url: location.href,
}); });
}); });
}, },
@ -55,7 +55,7 @@ export default class RepoSidebar {
} }
Helper.getContent(file); Helper.getContent(file);
} }
} },
}, },
}); });
} }

View file

@ -1,4 +1,4 @@
let RepoStore = { const RepoStore = {
service: '', service: '',
editor: '', editor: '',
sidebar: '', sidebar: '',
@ -17,11 +17,11 @@ let RepoStore = {
// scroll bar space for windows // scroll bar space for windows
scrollWidth: 0, scrollWidth: 0,
binaryTypes: { binaryTypes: {
png: false png: false,
}, },
loading: { loading: {
tree: false, tree: false,
blob: false blob: false,
} },
}; };
export default RepoStore; export default RepoStore;

View file

@ -1,6 +1,6 @@
import RepoHelper from './repo_helper' import RepoHelper from './repo_helper';
let RepoTab = { const RepoTab = {
template: ` template: `
<li> <li>
<a href='#' @click.prevent='xClicked(tab)' v-if='!tab.loading'> <a href='#' @click.prevent='xClicked(tab)' v-if='!tab.loading'>
@ -23,7 +23,7 @@ let RepoTab = {
xClicked(file) { xClicked(file) {
RepoHelper.removeFromOpenedFiles(file); RepoHelper.removeFromOpenedFiles(file);
} },
} },
}; };
export default RepoTab; export default RepoTab;

View file

@ -1,11 +1,11 @@
import Vue from 'vue'; import Vue from 'vue';
import Store from './repo_store' import Store from './repo_store';
import RepoTab from './repo_tab' import RepoTab from './repo_tab';
import RepoMiniMixin from './repo_mini_mixin' import RepoMiniMixin from './repo_mini_mixin';
export default class RepoTabs { export default class RepoTabs {
constructor() { constructor() {
this.styleTabsForWindows(); RepoTabs.styleTabsForWindows();
this.initVue(); this.initVue();
} }
@ -20,7 +20,7 @@ export default class RepoTabs {
}); });
} }
styleTabsForWindows() { static styleTabsForWindows() {
const scrollWidth = Number(document.body.dataset.scrollWidth); const scrollWidth = Number(document.body.dataset.scrollWidth);
Store.scrollWidth = scrollWidth; Store.scrollWidth = scrollWidth;
} }

View file

@ -1,6 +1,5 @@
import Service from './repo_service' import Vue from 'vue';
import Vue from 'vue' import Store from './repo_store';
import Store from './repo_store'
export default class RepoViewToggler { export default class RepoViewToggler {
constructor() { constructor() {