Skip to content

Commit c663305

Browse files
committed
Add very basic working example of inline file editor
1 parent 32db345 commit c663305

File tree

6 files changed

+80
-7
lines changed

6 files changed

+80
-7
lines changed

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
"name": "pterodactyl-panel",
33
"dependencies": {
44
"axios": "^0.18.0",
5+
"codeflask": "^1.4.0",
56
"date-fns": "^1.29.0",
67
"feather-icons": "^4.10.0",
78
"jquery": "^3.3.1",

resources/assets/scripts/components/dashboard/account/TwoFactorAuthentication.vue

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636
</div>
3737
<div>
3838
<p class="text-xs text-neutral-800 mb-2">{{ $t('dashboard.account.two_factor.setup.help') }}</p>
39-
<p class="text-xs"><code>{{response.secret}}</code></p>
39+
<p class="text-xs"><code class="clean">{{response.secret}}</code></p>
4040
</div>
4141
</div>
4242
<div class="flex-none w-full sm:w-1/2">

resources/assets/scripts/components/server/components/filemanager/modals/NewFileModal.vue

Lines changed: 30 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,30 @@
11
<template>
2-
<Modal :show="isVisible" v-on:close="isVisible = false" :dismissable="!isLoading">
3-
<MessageBox class="alert error mb-8" title="Error" :message="error" v-if="error"/>
4-
</Modal>
2+
<transition name="modal">
3+
<div class="modal-mask" v-show="isVisible">
4+
<div class="modal-container full-screen" @click.stop>
5+
<div class="modal-close-icon" v-on:click="isVisible = false">
6+
<Icon name="x" aria-label="Close modal" role="button"/>
7+
</div>
8+
<MessageBox class="alert error mb-8" title="Error" :message="error" v-if="error"/>
9+
<div id="editor" class="h-full"></div>
10+
</div>
11+
</div>
12+
</transition>
513
</template>
614

715
<script lang="ts">
816
import Vue from 'vue';
17+
import Icon from "@/components/core/Icon.vue";
918
import MessageBox from "@/components/MessageBox.vue";
10-
import Modal from "@/components/core/Modal.vue";
1119
import {ApplicationState} from '@/store/types';
1220
import {mapState} from "vuex";
21+
// @ts-ignore
22+
import CodeFlask from "codeflask";
1323
1424
export default Vue.extend({
1525
name: 'NewFileModal',
1626
17-
components: {MessageBox, Modal},
27+
components: {Icon, MessageBox},
1828
1929
data: function (): { error: string | null, isVisible: boolean, isLoading: boolean } {
2030
return {
@@ -31,6 +41,15 @@
3141
mounted: function () {
3242
window.events.$on('server:files:open-new-file-modal', () => {
3343
this.isVisible = true;
44+
45+
this.$nextTick(() => {
46+
const flask = new CodeFlask('#editor', {
47+
language: 'js',
48+
lineNumbers: true,
49+
});
50+
51+
flask.updateCode('');
52+
})
3453
});
3554
},
3655
@@ -41,3 +60,9 @@
4160
}
4261
})
4362
</script>
63+
64+
<style>
65+
#editor > .codeflask {
66+
@apply .rounded;
67+
}
68+
</style>

resources/assets/styles/components/miscellaneous.css

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
code {
1+
code.clean {
22
@apply .font-mono .px-2 .py-1;
33
background-color: #eef1f6;
44
color: #596981;

tailwind.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -643,6 +643,15 @@ module.exports = {
643643
*/
644644

645645
margin: {
646+
'n-12': '-3rem',
647+
'n-10': '-2.5rem',
648+
'n-8': '-2rem',
649+
'n-6': '-1.5rem',
650+
'n-4': '-1rem',
651+
'n-3': '-0.75rem',
652+
'n-2': '-0.5rem',
653+
'n-1': '-0.25rem',
654+
'n-px': '-1px',
646655
'auto': 'auto',
647656
'px': '1px',
648657
'0': '0',

yarn.lock

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1822,6 +1822,14 @@ cli-width@^2.0.0:
18221822
version "2.2.0"
18231823
resolved "https://registry.yarnpkg.com/cli-width/-/cli-width-2.2.0.tgz#ff19ede8a9a5e579324147b0c11f0fbcbabed639"
18241824

1825+
clipboard@^2.0.0:
1826+
version "2.0.4"
1827+
resolved "https://registry.yarnpkg.com/clipboard/-/clipboard-2.0.4.tgz#836dafd66cf0fea5d71ce5d5b0bf6e958009112d"
1828+
dependencies:
1829+
good-listener "^1.2.2"
1830+
select "^1.1.2"
1831+
tiny-emitter "^2.0.0"
1832+
18251833
cliui@^2.1.0:
18261834
version "2.1.0"
18271835
resolved "https://registry.yarnpkg.com/cliui/-/cliui-2.1.0.tgz#4b475760ff80264c762c3a1719032e91c7fea0d1"
@@ -1876,6 +1884,12 @@ code-point-at@^1.0.0:
18761884
version "1.1.0"
18771885
resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
18781886

1887+
codeflask@^1.4.0:
1888+
version "1.4.0"
1889+
resolved "https://registry.yarnpkg.com/codeflask/-/codeflask-1.4.0.tgz#71a349368cb6ba3d12f5da286ed4f39627a62c62"
1890+
dependencies:
1891+
prismjs "^1.14.0"
1892+
18791893
collection-visit@^1.0.0:
18801894
version "1.0.0"
18811895
resolved "https://registry.yarnpkg.com/collection-visit/-/collection-visit-1.0.0.tgz#4bc0373c164bc3291b4d368c829cf1a80a59dca0"
@@ -2454,6 +2468,10 @@ del@^3.0.0:
24542468
pify "^3.0.0"
24552469
rimraf "^2.2.8"
24562470

2471+
delegate@^3.1.2:
2472+
version "3.2.0"
2473+
resolved "https://registry.yarnpkg.com/delegate/-/delegate-3.2.0.tgz#b66b71c3158522e8ab5744f720d8ca0c2af59166"
2474+
24572475
delegates@^1.0.0:
24582476
version "1.0.0"
24592477
resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
@@ -3256,6 +3274,12 @@ globby@^6.1.0:
32563274
pify "^2.0.0"
32573275
pinkie-promise "^2.0.0"
32583276

3277+
good-listener@^1.2.2:
3278+
version "1.2.2"
3279+
resolved "https://registry.yarnpkg.com/good-listener/-/good-listener-1.2.2.tgz#d53b30cdf9313dffb7dc9a0d477096aa6d145c50"
3280+
dependencies:
3281+
delegate "^3.1.2"
3282+
32593283
graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.6, graceful-fs@^4.1.9:
32603284
version "4.1.11"
32613285
resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.1.11.tgz#0e8bdfe4d1ddb8854d64e04ea7c00e2a026e5658"
@@ -5632,6 +5656,12 @@ pretty-hrtime@^1.0.3:
56325656
version "1.0.3"
56335657
resolved "https://registry.yarnpkg.com/pretty-hrtime/-/pretty-hrtime-1.0.3.tgz#b7e3ea42435a4c9b2759d99e0f201eb195802ee1"
56345658

5659+
prismjs@^1.14.0:
5660+
version "1.16.0"
5661+
resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.16.0.tgz#406eb2c8aacb0f5f0f1167930cb83835d10a4308"
5662+
optionalDependencies:
5663+
clipboard "^2.0.0"
5664+
56355665
private@^0.1.6:
56365666
version "0.1.8"
56375667
resolved "https://registry.yarnpkg.com/private/-/private-0.1.8.tgz#2381edb3689f7a53d653190060fcf822d2f368ff"
@@ -6150,6 +6180,10 @@ select-hose@^2.0.0:
61506180
version "2.0.0"
61516181
resolved "https://registry.yarnpkg.com/select-hose/-/select-hose-2.0.0.tgz#625d8658f865af43ec962bfc376a37359a4994ca"
61526182

6183+
select@^1.1.2:
6184+
version "1.1.2"
6185+
resolved "https://registry.yarnpkg.com/select/-/select-1.1.2.tgz#0e7350acdec80b1108528786ec1d4418d11b396d"
6186+
61536187
selfsigned@^1.9.1:
61546188
version "1.10.4"
61556189
resolved "https://registry.yarnpkg.com/selfsigned/-/selfsigned-1.10.4.tgz#cdd7eccfca4ed7635d47a08bf2d5d3074092e2cd"
@@ -6721,6 +6755,10 @@ timsort@^0.3.0:
67216755
version "0.3.0"
67226756
resolved "https://registry.yarnpkg.com/timsort/-/timsort-0.3.0.tgz#405411a8e7e6339fe64db9a234de11dc31e02bd4"
67236757

6758+
tiny-emitter@^2.0.0:
6759+
version "2.1.0"
6760+
resolved "https://registry.yarnpkg.com/tiny-emitter/-/tiny-emitter-2.1.0.tgz#1d1a56edfc51c43e863cbb5382a72330e3555423"
6761+
67246762
tmp@^0.0.33:
67256763
version "0.0.33"
67266764
resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9"

0 commit comments

Comments
 (0)