Compare commits

..

5 Commits

Author SHA1 Message Date
syuilo ce659f9926 8.41.0 2018-09-15 22:03:34 +09:00
syuilo c23ec555ff Merge pull request #2709 from syuilo/l10n_develop
New Crowdin translations
2018-09-15 22:02:04 +09:00
syuilo 25b0a93acd ✌️ 2018-09-15 21:53:04 +09:00
syuilo 7b2b7d1456 Resolve #2066 2018-09-15 21:48:10 +09:00
syuilo 37444939ab New translations ja-JP.yml (English) 2018-09-15 05:51:42 +09:00
33 changed files with 63 additions and 340 deletions
+4 -4
View File
@@ -465,7 +465,7 @@ desktop/views/components/charts.vue:
notes: "Posts" notes: "Posts"
users: "Users" users: "Users"
drive: "Drive" drive: "Drive"
network: "ネットワーク" network: "Network"
charts: charts:
notes: "The number of posts: increase/decrease (Combined)" notes: "The number of posts: increase/decrease (Combined)"
local-notes: "The number of posts: increase/decrease (Local)" local-notes: "The number of posts: increase/decrease (Local)"
@@ -477,9 +477,9 @@ desktop/views/components/charts.vue:
drive-total: "Capacity used as the storage: cumulative total" drive-total: "Capacity used as the storage: cumulative total"
drive-files: "The number of files on the storage: increase/decrease" drive-files: "The number of files on the storage: increase/decrease"
drive-files-total: "The number of files on the storage: cumulative total" drive-files-total: "The number of files on the storage: cumulative total"
network-requests: "リクエスト" network-requests: "Requests"
network-time: "応答時間" network-time: "Response time"
network-usage: "通信量" network-usage: "Traffic"
desktop/views/components/choose-file-from-drive-window.vue: desktop/views/components/choose-file-from-drive-window.vue:
choose-file: "Choose files" choose-file: "Choose files"
upload: "Upload files from your device" upload: "Upload files from your device"
+2 -6
View File
@@ -1,8 +1,8 @@
{ {
"name": "misskey", "name": "misskey",
"author": "syuilo <i@syuilo.com>", "author": "syuilo <i@syuilo.com>",
"version": "8.40.0", "version": "8.41.0",
"clientVersion": "1.0.9711", "clientVersion": "1.0.9716",
"codename": "nighthike", "codename": "nighthike",
"main": "./built/index.js", "main": "./built/index.js",
"private": true, "private": true,
@@ -101,7 +101,6 @@
"dompurify": "1.0.5", "dompurify": "1.0.5",
"double-ended-queue": "2.1.0-0", "double-ended-queue": "2.1.0-0",
"elasticsearch": "15.1.1", "elasticsearch": "15.1.1",
"element-ui": "2.4.6",
"emojilib": "2.3.0", "emojilib": "2.3.0",
"escape-regexp": "0.0.1", "escape-regexp": "0.0.1",
"eslint": "5.0.1", "eslint": "5.0.1",
@@ -132,7 +131,6 @@
"insert-text-at-cursor": "0.1.1", "insert-text-at-cursor": "0.1.1",
"is-root": "2.0.0", "is-root": "2.0.0",
"is-url": "1.2.4", "is-url": "1.2.4",
"jquery": "3.3.1",
"js-yaml": "3.12.0", "js-yaml": "3.12.0",
"jsdom": "11.12.0", "jsdom": "11.12.0",
"koa": "2.5.1", "koa": "2.5.1",
@@ -160,8 +158,6 @@
"ms": "2.1.1", "ms": "2.1.1",
"nan": "2.11.0", "nan": "2.11.0",
"nested-property": "0.0.7", "nested-property": "0.0.7",
"node-sass": "4.9.3",
"node-sass-json-importer": "4.0.1",
"nprogress": "0.2.0", "nprogress": "0.2.0",
"object-assign-deep": "0.4.0", "object-assign-deep": "0.4.0",
"on-build-webpack": "0.1.0", "on-build-webpack": "0.1.0",
@@ -50,15 +50,15 @@
</div> </div>
<div class="player" v-if="game.isEnded"> <div class="player" v-if="game.isEnded">
<el-button-group> <div>
<el-button type="primary" @click="logPos = 0" :disabled="logPos == 0">%fa:angle-double-left%</el-button> <button @click="logPos = 0" :disabled="logPos == 0">%fa:angle-double-left%</button>
<el-button type="primary" @click="logPos--" :disabled="logPos == 0">%fa:angle-left%</el-button> <button @click="logPos--" :disabled="logPos == 0">%fa:angle-left%</button>
</el-button-group> </div>
<span>{{ logPos }} / {{ logs.length }}</span> <span>{{ logPos }} / {{ logs.length }}</span>
<el-button-group> <div>
<el-button type="primary" @click="logPos++" :disabled="logPos == logs.length">%fa:angle-right%</el-button> <button @click="logPos++" :disabled="logPos == logs.length">%fa:angle-right%</button>
<el-button type="primary" @click="logPos = logs.length" :disabled="logPos == logs.length">%fa:angle-double-right%</el-button> <button @click="logPos = logs.length" :disabled="logPos == logs.length">%fa:angle-double-right%</button>
</el-button-group> </div>
</div> </div>
<div class="info"> <div class="info">
@@ -3,7 +3,6 @@
<h1>%i18n:@title%</h1> <h1>%i18n:@title%</h1>
<p>%i18n:@sub-title%</p> <p>%i18n:@sub-title%</p>
<div class="play"> <div class="play">
<!--<el-button round>フリーマッチ(準備中)</el-button>-->
<form-button primary round @click="match">%i18n:@invite%</form-button> <form-button primary round @click="match">%i18n:@invite%</form-button>
<details> <details>
<summary>%i18n:@rule%</summary> <summary>%i18n:@rule%</summary>
@@ -59,11 +59,6 @@
</header> </header>
<div> <div>
<el-alert v-for="message in messages"
:title="message.text"
:type="message.type"
:key="message.id"/>
<template v-for="item in form"> <template v-for="item in form">
<mk-switch v-if="item.type == 'switch'" v-model="item.value" :key="item.id" :text="item.label" @change="onChangeForm(item)">{{ item.desc || '' }}</mk-switch> <mk-switch v-if="item.type == 'switch'" v-model="item.value" :key="item.id" :text="item.label" @change="onChangeForm(item)">{{ item.desc || '' }}</mk-switch>
@@ -93,7 +88,7 @@
</header> </header>
<div> <div>
<el-input v-model="item.value" @change="onChangeForm(item)"/> <input v-model="item.value" @change="onChangeForm(item)"/>
</div> </div>
</div> </div>
</template> </template>
@@ -108,7 +108,7 @@ export default Vue.extend({
easing: 'easeInBack', easing: 'easeInBack',
complete: () => { complete: () => {
this.$emit('closed'); this.$emit('closed');
this.$destroy(); this.destroyDom();
} }
}); });
} }
@@ -64,7 +64,7 @@ export default Vue.extend({
(this as any).api('i/pin', { (this as any).api('i/pin', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$destroy(); this.destroyDom();
}); });
}, },
@@ -73,7 +73,7 @@ export default Vue.extend({
(this as any).api('notes/delete', { (this as any).api('notes/delete', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$destroy(); this.destroyDom();
}); });
}, },
@@ -81,13 +81,13 @@ export default Vue.extend({
(this as any).api('notes/favorites/create', { (this as any).api('notes/favorites/create', {
noteId: this.note.id noteId: this.note.id
}).then(() => { }).then(() => {
this.$destroy(); this.destroyDom();
}); });
}, },
closed() { closed() {
this.$nextTick(() => { this.$nextTick(() => {
this.$destroy(); this.destroyDom();
}); });
} }
} }
@@ -95,7 +95,7 @@ export default Vue.extend({
reaction: reaction reaction: reaction
}).then(() => { }).then(() => {
if (this.cb) this.cb(); if (this.cb) this.cb();
this.$destroy(); this.destroyDom();
}); });
}, },
onMouseover(e) { onMouseover(e) {
@@ -120,7 +120,7 @@ export default Vue.extend({
scale: 0.5, scale: 0.5,
duration: 200, duration: 200,
easing: 'easeInBack', easing: 'easeInBack',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
} }
} }
@@ -101,7 +101,7 @@ export default Vue.extend({
this.$store.commit('device/setVisibility', visibility); this.$store.commit('device/setVisibility', visibility);
} }
this.$emit('chosen', visibility); this.$emit('chosen', visibility);
this.$destroy(); this.destroyDom();
}, },
close() { close() {
(this.$refs.backdrop as any).style.pointerEvents = 'none'; (this.$refs.backdrop as any).style.pointerEvents = 'none';
@@ -119,7 +119,7 @@ export default Vue.extend({
scale: 0.5, scale: 0.5,
duration: 200, duration: 200,
easing: 'easeInBack', easing: 'easeInBack',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
} }
} }
@@ -167,7 +167,7 @@ class Autocomplete {
private close() { private close() {
if (this.suggestion == null) return; if (this.suggestion == null) return;
this.suggestion.$destroy(); this.suggestion.destroyDom();
this.suggestion = null; this.suggestion = null;
this.textarea.focus(); this.textarea.focus();
-1
View File
@@ -6,7 +6,6 @@ import VueRouter from 'vue-router';
// Style // Style
import './style.styl'; import './style.styl';
import '../../element.scss';
import init from '../init'; import init from '../init';
import fuckAdBlock from '../common/scripts/fuck-ad-block'; import fuckAdBlock from '../common/scripts/fuck-ad-block';
@@ -64,7 +64,7 @@ export default Vue.extend({
}); });
this.$emit('closed'); this.$emit('closed');
this.$destroy(); this.destroyDom();
} }
} }
}); });
@@ -78,7 +78,7 @@ export default Vue.extend({
scale: 0.8, scale: 0.8,
duration: 300, duration: 300,
easing: [ 0.5, -0.5, 1, 0.5 ], easing: [ 0.5, -0.5, 1, 0.5 ],
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
}, },
onBgClick() { onBgClick() {
@@ -14,7 +14,7 @@
<p class="empty" v-if="!fetching && users.length == 0">%i18n:@empty%</p> <p class="empty" v-if="!fetching && users.length == 0">%i18n:@empty%</p>
<p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@fetching%<mk-ellipsis/></p> <p class="fetching" v-if="fetching">%fa:spinner .pulse .fw%%i18n:@fetching%<mk-ellipsis/></p>
<a class="refresh" @click="refresh">%i18n:@refresh%</a> <a class="refresh" @click="refresh">%i18n:@refresh%</a>
<button class="close" @click="$destroy()" title="%i18n:@close%">%fa:times%</button> <button class="close" @click="destroyDom()" title="%i18n:@close%">%fa:times%</button>
</div> </div>
</template> </template>
@@ -26,7 +26,7 @@ export default Vue.extend({
opacity: 0, opacity: 0,
duration: 100, duration: 100,
easing: 'linear', easing: 'linear',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
} }
} }
@@ -28,7 +28,7 @@ export default Vue.extend({
opacity: 0, opacity: 0,
duration: 100, duration: 100,
easing: 'linear', easing: 'linear',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
} }
} }
@@ -1,7 +1,6 @@
<template> <template>
<div class="root"> <div class="root">
<template v-if="!fetching"> <template v-if="!fetching">
<el-progress :text-inside="true" :stroke-width="18" :percentage="Math.floor((usage / capacity) * 100)"/>
<p><b>{{ capacity | bytes }}</b>%i18n:max%<b>{{ usage | bytes }}</b>%i18n:in-use%</p> <p><b>{{ capacity | bytes }}</b>%i18n:max%<b>{{ usage | bytes }}</b>%i18n:in-use%</p>
</template> </template>
</div> </div>
@@ -19,7 +19,7 @@
</label> </label>
<label class="ui from group"> <label class="ui from group">
<p>%i18n:@birthday%</p> <p>%i18n:@birthday%</p>
<el-date-picker v-model="birthday" type="date" value-format="yyyy-MM-dd"/> <input type="date" v-model="birthday"/>
</label> </label>
<button class="ui primary" @click="save">%i18n:@save%</button> <button class="ui primary" @click="save">%i18n:@save%</button>
<section> <section>
@@ -87,13 +87,11 @@
<span>%i18n:@enable-sounds-desc%</span> <span>%i18n:@enable-sounds-desc%</span>
</mk-switch> </mk-switch>
<label>%i18n:@volume%</label> <label>%i18n:@volume%</label>
<el-slider <input type="range"
v-model="soundVolume" v-model="soundVolume"
:show-input="true"
:format-tooltip="v => `${v * 100}%`"
:disabled="!enableSounds" :disabled="!enableSounds"
:max="1" max="1"
:step="0.1" step="0.1"
/> />
<button class="ui button" @click="soundTest">%fa:volume-up% %i18n:@test%</button> <button class="ui button" @click="soundTest">%fa:volume-up% %i18n:@test%</button>
</section> </section>
@@ -105,14 +103,15 @@
<section class="web" v-show="page == 'web'"> <section class="web" v-show="page == 'web'">
<h1>%i18n:@language%</h1> <h1>%i18n:@language%</h1>
<el-select v-model="lang" placeholder="%i18n:@pick-language%"> <select v-model="lang" placeholder="%i18n:@pick-language%">
<el-option-group label="%i18n:@recommended%"> <optgroup label="%i18n:@recommended%">
<el-option label="%i18n:@auto%" :value="null"/> <option value="">%i18n:@auto%</option>
</el-option-group> </optgroup>
<el-option-group label="%i18n:@specify-language%">
<el-option v-for="x in langs" :label="x[1]" :value="x[0]" :key="x[0]"/> <optgroup label="%i18n:@specify-language%">
</el-option-group> <option v-for="x in langs" :value="x[0]" :key="x[0]">{{ x[1] }}</option>
</el-select> </optgroup>
</select>
<div class="none ui info"> <div class="none ui info">
<p>%fa:info-circle%%i18n:@language-desc%</p> <p>%fa:info-circle%%i18n:@language-desc%</p>
</div> </div>
@@ -207,10 +206,6 @@
<mk-switch v-model="enableExperimentalFeatures" text="%i18n:@experimental%"> <mk-switch v-model="enableExperimentalFeatures" text="%i18n:@experimental%">
<span>%i18n:@experimental-desc%</span> <span>%i18n:@experimental-desc%</span>
</mk-switch> </mk-switch>
<details v-if="debug">
<summary>%i18n:@tools%</summary>
<button class="ui button block" @click="taskmngr">%i18n:@task-manager%</button>
</details>
</section> </section>
</div> </div>
</div> </div>
@@ -228,7 +223,6 @@ import XSignins from './settings.signins.vue';
import XDrive from './settings.drive.vue'; import XDrive from './settings.drive.vue';
import { url, langs, version } from '../../../config'; import { url, langs, version } from '../../../config';
import checkForUpdate from '../../../common/scripts/check-for-update'; import checkForUpdate from '../../../common/scripts/check-for-update';
import MkTaskManager from './taskmanager.vue';
export default Vue.extend({ export default Vue.extend({
components: { components: {
@@ -408,9 +402,6 @@ export default Vue.extend({
}); });
}, },
methods: { methods: {
taskmngr() {
(this as any).os.new(MkTaskManager);
},
customizeHome() { customizeHome() {
this.$router.push('/i/customize-home'); this.$router.push('/i/customize-home');
this.$emit('done'); this.$emit('done');
@@ -1,219 +0,0 @@
<template>
<mk-window ref="window" width="750px" height="500px" @closed="$destroy" name="TaskManager">
<span slot="header" :class="$style.header">%fa:stethoscope%%i18n:@title%</span>
<el-tabs :class="$style.content">
<el-tab-pane label="Requests">
<el-table
:data="os.requests"
style="width: 100%"
:default-sort="{prop: 'date', order: 'descending'}"
>
<el-table-column type="expand">
<template slot-scope="props">
<pre>{{ props.row.data }}</pre>
<pre>{{ props.row.res }}</pre>
</template>
</el-table-column>
<el-table-column
label="Requested at"
prop="date"
sortable
>
<template slot-scope="scope">
<b style="margin-right: 8px">{{ scope.row.date.getTime() }}</b>
<span>(<mk-time :time="scope.row.date"/>)</span>
</template>
</el-table-column>
<el-table-column
label="Name"
>
<template slot-scope="scope">
<b>{{ scope.row.name }}</b>
</template>
</el-table-column>
<el-table-column
label="Status"
>
<template slot-scope="scope">
<span>{{ scope.row.status || '(pending)' }}</span>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
<el-tab-pane label="Streams">
<el-table
:data="os.connections"
style="width: 100%"
>
<el-table-column
label="Uptime"
>
<template slot-scope="scope">
<mk-timer v-if="scope.row.connectedAt" :time="scope.row.connectedAt"/>
<span v-else>-</span>
</template>
</el-table-column>
<el-table-column
label="Name"
>
<template slot-scope="scope">
<b>{{ scope.row.name == '' ? '[Home]' : scope.row.name }}</b>
</template>
</el-table-column>
<el-table-column
label="User"
>
<template slot-scope="scope">
<span>{{ scope.row.user || '(anonymous)' }}</span>
</template>
</el-table-column>
<el-table-column
prop="state"
label="State"
/>
<el-table-column
prop="in"
label="In"
/>
<el-table-column
prop="out"
label="Out"
/>
</el-table>
</el-tab-pane>
<el-tab-pane label="Streams (Inspect)">
<el-tabs type="card" style="height:50%">
<el-tab-pane v-for="c in os.connections" :label="c.name == '' ? '[Home]' : c.name" :key="c.id" :name="c.id" ref="connectionsTab">
<div style="padding: 12px 0 0 12px">
<el-button size="mini" @click="send(c)">Send</el-button>
<el-button size="mini" type="warning" @click="c.isSuspended = true" v-if="!c.isSuspended">Suspend</el-button>
<el-button size="mini" type="success" @click="c.isSuspended = false" v-else>Resume</el-button>
<el-button size="mini" type="danger" @click="c.close">Disconnect</el-button>
</div>
<el-table
:data="c.inout"
style="width: 100%"
:default-sort="{prop: 'at', order: 'descending'}"
>
<el-table-column type="expand">
<template slot-scope="props">
<pre>{{ props.row.data }}</pre>
</template>
</el-table-column>
<el-table-column
label="Date"
prop="at"
sortable
>
<template slot-scope="scope">
<b style="margin-right: 8px">{{ scope.row.at.getTime() }}</b>
<span>(<mk-time :time="scope.row.at"/>)</span>
</template>
</el-table-column>
<el-table-column
label="Type"
>
<template slot-scope="scope">
<span>{{ getMessageType(scope.row.data) }}</span>
</template>
</el-table-column>
<el-table-column
label="Incoming / Outgoing"
prop="type"
/>
</el-table>
</el-tab-pane>
</el-tabs>
</el-tab-pane>
<el-tab-pane label="Windows">
<el-table
:data="Array.from(os.windows.windows)"
style="width: 100%"
>
<el-table-column
label="Name"
>
<template slot-scope="scope">
<b>{{ scope.row.name || '(unknown)' }}</b>
</template>
</el-table-column>
<el-table-column
label="Operations"
>
<template slot-scope="scope">
<el-button size="mini" type="danger" @click="scope.row.close">Close</el-button>
</template>
</el-table-column>
</el-table>
</el-tab-pane>
</el-tabs>
</mk-window>
</template>
<script lang="ts">
import Vue from 'vue';
export default Vue.extend({
mounted() {
(this as any).os.windows.on('added', this.onWindowsChanged);
(this as any).os.windows.on('removed', this.onWindowsChanged);
},
beforeDestroy() {
(this as any).os.windows.off('added', this.onWindowsChanged);
(this as any).os.windows.off('removed', this.onWindowsChanged);
},
methods: {
getMessageType(data): string {
return data.type ? data.type : '-';
},
onWindowsChanged() {
this.$forceUpdate();
},
send(c) {
(this as any).apis.input({
title: 'Send a JSON message',
allowEmpty: false
}).then(json => {
c.send(JSON.parse(json));
});
}
}
});
</script>
<style lang="stylus" module>
.header
> [data-fa]
margin-right 4px
.content
height 100%
overflow auto
</style>
<style>
.el-tabs__header {
margin-bottom: 0 !important;
}
.el-tabs__item {
padding: 0 20px !important;
}
</style>
@@ -27,7 +27,7 @@ export default Vue.extend({
translateY: -64, translateY: -64,
duration: 500, duration: 500,
easing: 'easeInElastic', easing: 'easeInElastic',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
}, 6000); }, 6000);
}); });
@@ -75,7 +75,7 @@ export default Vue.extend({
'margin-top': '-8px', 'margin-top': '-8px',
duration: 200, duration: 200,
easing: 'easeOutQuad', easing: 'easeOutQuad',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
} }
} }
@@ -106,7 +106,7 @@ export default Vue.extend({
mounted() { mounted() {
if (this.preventMount) { if (this.preventMount) {
this.$destroy(); this.destroyDom();
return; return;
} }
@@ -190,7 +190,7 @@ export default Vue.extend({
}); });
setTimeout(() => { setTimeout(() => {
this.$destroy(); this.destroyDom();
this.$emit('closed'); this.$emit('closed');
}, 300); }, 300);
}, },
+7 -14
View File
@@ -7,9 +7,6 @@ import Vuex from 'vuex';
import VueRouter from 'vue-router'; import VueRouter from 'vue-router';
import * as TreeView from 'vue-json-tree-view'; import * as TreeView from 'vue-json-tree-view';
import VAnimateCss from 'v-animate-css'; import VAnimateCss from 'v-animate-css';
import Element from 'element-ui';
import ElementLocaleEn from 'element-ui/lib/locale/lang/en';
import ElementLocaleJa from 'element-ui/lib/locale/lang/ja';
import VModal from 'vue-js-modal'; import VModal from 'vue-js-modal';
import App from './app.vue'; import App from './app.vue';
@@ -17,18 +14,10 @@ import checkForUpdate from './common/scripts/check-for-update';
import MiOS, { API } from './mios'; import MiOS, { API } from './mios';
import { version, codename, lang } from './config'; import { version, codename, lang } from './config';
let elementLocale;
switch (lang) {
case 'ja-JP': elementLocale = ElementLocaleJa; break;
case 'en-US': elementLocale = ElementLocaleEn; break;
default: elementLocale = ElementLocaleEn; break;
}
Vue.use(Vuex); Vue.use(Vuex);
Vue.use(VueRouter); Vue.use(VueRouter);
Vue.use(TreeView); Vue.use(TreeView);
Vue.use(VAnimateCss); Vue.use(VAnimateCss);
Vue.use(Element, { locale: elementLocale });
Vue.use(VModal); Vue.use(VModal);
// Register global directives // Register global directives
@@ -42,9 +31,13 @@ require('./common/views/widgets');
require('./common/views/filters'); require('./common/views/filters');
Vue.mixin({ Vue.mixin({
destroyed(this: any) { methods: {
if (this.$el.parentNode) { destroyDom() {
this.$el.parentNode.removeChild(this.$el); this.$destroy();
if (this.$el.parentNode) {
this.$el.parentNode.removeChild(this.$el);
}
} }
} }
}); });
-1
View File
@@ -6,7 +6,6 @@ import VueRouter from 'vue-router';
// Style // Style
import './style.styl'; import './style.styl';
import '../../element.scss';
import init from '../init'; import init from '../init';
@@ -78,7 +78,7 @@ export default Vue.extend({
scale: 0.8, scale: 0.8,
duration: 300, duration: 300,
easing: [ 0.5, -0.5, 1, 0.5 ], easing: [ 0.5, -0.5, 1, 0.5 ],
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
}, },
onBgClick() { onBgClick() {
@@ -31,15 +31,15 @@ export default Vue.extend({
}, },
onSelected(file) { onSelected(file) {
this.$emit('selected', file); this.$emit('selected', file);
this.$destroy(); this.destroyDom();
}, },
cancel() { cancel() {
this.$emit('canceled'); this.$emit('canceled');
this.$destroy(); this.destroyDom();
}, },
ok() { ok() {
this.$emit('selected', this.files); this.$emit('selected', this.files);
this.$destroy(); this.destroyDom();
} }
} }
}); });
@@ -19,11 +19,11 @@ export default Vue.extend({
methods: { methods: {
cancel() { cancel() {
this.$emit('canceled'); this.$emit('canceled');
this.$destroy(); this.destroyDom();
}, },
ok() { ok() {
this.$emit('selected', (this.$refs.browser as any).folder); this.$emit('selected', (this.$refs.browser as any).folder);
this.$destroy(); this.destroyDom();
} }
} }
}); });
@@ -47,7 +47,7 @@ export default Vue.extend({
this.fetch(); this.fetch();
}, },
close() { close() {
this.$destroy(); this.destroyDom();
} }
} }
}); });
@@ -32,7 +32,7 @@ export default Vue.extend({
[this.pos]: `-${this.$el.offsetHeight}px`, [this.pos]: `-${this.$el.offsetHeight}px`,
duration: 500, duration: 500,
easing: 'easeOutQuad', easing: 'easeOutQuad',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
}, 6000); }, 6000);
}); });
@@ -79,7 +79,7 @@ export default Vue.extend({
translateY: 16, translateY: 16,
duration: 300, duration: 300,
easing: 'easeOutQuad', easing: 'easeOutQuad',
complete: () => this.$destroy() complete: () => this.destroyDom()
}); });
}, },
-12
View File
@@ -1,12 +0,0 @@
/* Element variable definitons */
/* SEE: http://element.eleme.io/#/en-US/component/custom-theme */
@import '../const.json';
/* theme color */
$--color-primary: $themeColor;
/* icon font path, required */
$--font-path: '~element-ui/lib/theme-chalk/fonts';
@import "~element-ui/packages/theme-chalk/src/index";
-17
View File
@@ -7,7 +7,6 @@ import * as webpack from 'webpack';
import chalk from 'chalk'; import chalk from 'chalk';
import rndstr from 'rndstr'; import rndstr from 'rndstr';
const { VueLoaderPlugin } = require('vue-loader'); const { VueLoaderPlugin } = require('vue-loader');
const jsonImporter = require('node-sass-json-importer');
const minifyHtml = require('html-minifier').minify; const minifyHtml = require('html-minifier').minify;
const WebpackOnBuildPlugin = require('on-build-webpack'); const WebpackOnBuildPlugin = require('on-build-webpack');
//const HardSourceWebpackPlugin = require('hard-source-webpack-plugin'); //const HardSourceWebpackPlugin = require('hard-source-webpack-plugin');
@@ -183,22 +182,6 @@ module.exports = {
loader: 'stylus-loader' loader: 'stylus-loader'
}] }]
}] }]
}, {
test: /\.scss$/,
exclude: /node_modules/,
use: [{
loader: 'style-loader'
}, {
loader: 'css-loader',
options: {
minimize: true
}
}, {
loader: 'sass-loader',
options: {
importer: jsonImporter(),
}
}]
}, { }, {
test: /\.css$/, test: /\.css$/,
use: [{ use: [{