diff --git a/assets/index.html b/assets/index.html index 03d5e73c..8f173ac0 100644 --- a/assets/index.html +++ b/assets/index.html @@ -25,6 +25,8 @@ + + <% for (var chunk of webpack.chunks) { for (var file of chunk.files) { if (file.match(/\.(js|css)$/)) { %> @@ -92,7 +94,6 @@ } } -
diff --git a/assets/src/App.vue b/assets/src/App.vue index 8baf0567..88916ace 100644 --- a/assets/src/App.vue +++ b/assets/src/App.vue @@ -1,11 +1,11 @@ diff --git a/assets/src/css/dashboard.css b/assets/src/css/dashboard.css index 1b93e780..ee747279 100644 --- a/assets/src/css/dashboard.css +++ b/assets/src/css/dashboard.css @@ -94,7 +94,7 @@ p code { .dashboard #nav li { width: 100%; padding: 0 0 1em; - border-bottom: 1px solid rgba(0, 0, 0, 0.05); + border-bottom: 2px solid rgba(0, 0, 0, 0.05); } .dashboard #nav li.active { @@ -358,3 +358,62 @@ table tr>*:last-child { opacity: 1; } } + +.collapsible { + border-top: 1px solid rgba(0,0,0,0.1); +} + +.collapsible:last-of-type { + border-bottom: 1px solid rgba(0,0,0,0.1); +} + +.collapsible > input { + display: none; +} + +.collapsible > label { + padding: 1em 0; + cursor: pointer; + border-right: 0; + border-left: 0; + display: flex; + justify-content: space-between; +} + +.collapsible > label * { + margin: 0; + color: rgba(0,0,0,0.57); +} + +.collapsible > label i { + transition: .2s ease transform +} + +.collapsible .collapse { + max-height: 0; + overflow: hidden; + transition: .2s ease all; +} + +.collapsible > input:checked ~ .collapse { + padding-top: 1em; + padding-bottom: 1em; + max-height: 20em; +} + +.collapsible > input:checked ~ label i { + transform: rotate(180deg) +} + +.card .collapsible { + width: calc(100% + 2em); + margin: 0 -1em; +} + +.card .collapsible > label { + padding: 1em; +} + +.card .collapsible .collapse { + padding: 0 1em; +} diff --git a/assets/src/css/listing.css b/assets/src/css/listing.css index 1d24370e..02bd8d9c 100644 --- a/assets/src/css/listing.css +++ b/assets/src/css/listing.css @@ -159,7 +159,7 @@ #listing.list .item.header { display: flex !important; - background: #f8f8f8; + background: #fafafa; position: fixed; width: calc(100% - 19em); top: 7em; diff --git a/assets/src/i18n/en.yaml b/assets/src/i18n/en.yaml index 5b078c2b..d988141b 100644 --- a/assets/src/i18n/en.yaml +++ b/assets/src/i18n/en.yaml @@ -117,7 +117,7 @@ settings: commandsHelp: > Here you can set commands that are executed in the named events. You write one command per line. If the event is related to files, such as before and - after saving, the environment variable "file" will be available with the path + after saving, the environment variable "FILE" will be available with the path of the file. commandsUpdated: Commands updated! customStylesheet: Custom Stylesheet diff --git a/assets/src/i18n/fr.yaml b/assets/src/i18n/fr.yaml index b1eafdc6..8c2a501c 100644 --- a/assets/src/i18n/fr.yaml +++ b/assets/src/i18n/fr.yaml @@ -115,7 +115,7 @@ settings: commandsHelp: > Ici vous pouvez définir des commandes qui seront exécutées lors de l'évènement correspondant. Vous devez indiquer une commande par ligne. Si l'évènement est en rapport avec des fichiers, - par exemple avant et après enregistrement, la variable d'environement "file" sera disponible + par exemple avant et après enregistrement, la variable d'environement "FILE" sera disponible et contiendra le chemin d'accès vers le fichier. commandsUpdated: Commandes mises à jour ! customStylesheet: Feuille de style personnalisée diff --git a/assets/src/i18n/ja.yaml b/assets/src/i18n/ja.yaml index fd1f130b..843f5d99 100644 --- a/assets/src/i18n/ja.yaml +++ b/assets/src/i18n/ja.yaml @@ -118,7 +118,7 @@ settings: ここで、名前付きイベントに実行するコマンドを設定することができます。\ 一行にコマンド一つを入力してください。\ イベントはファイルに関連する場合、例えばファイル保存の前にまたは後で、\ - 環境変数 file はファイルのパスに割り当てられます。" + 環境変数 FILE はファイルのパスに割り当てられます。" commandsUpdated: コマンドは更新されました! customStylesheet: カスタムスタイルシ ート examples: 例 diff --git a/assets/src/i18n/pt.yaml b/assets/src/i18n/pt.yaml index 20872831..626ca509 100644 --- a/assets/src/i18n/pt.yaml +++ b/assets/src/i18n/pt.yaml @@ -139,7 +139,7 @@ settings: Pode definir um conjunto de comandos a executar em determiandos eventos. Deve escrever um comando por linha. Se o evento estiver relacionado com ficheiros, como antes e depois de guardar, irá existir uma variável de ambiente denominada - "file" com o caminho do ficheiro. + "FILE" com o caminho do ficheiro. commandsUpdated: Comandos atualizados! customStylesheet: Estilos Personalizados examples: Exemplos diff --git a/assets/src/i18n/zh-cn.yaml b/assets/src/i18n/zh-cn.yaml index ef15298a..784735f7 100644 --- a/assets/src/i18n/zh-cn.yaml +++ b/assets/src/i18n/zh-cn.yaml @@ -117,7 +117,7 @@ settings: commandsHelp: "\ 在这里,您可以设置在指定事件下执行的命令,一行一条。\ 若事件与文件相关,如“在保存文件前”,\ - 则文件的路径会被赋值给环境变量 \"file\"。" + 则文件的路径会被赋值给环境变量 \"FILE\"。" commandsUpdated: 命令已更新! customStylesheet: 自定义样式表 examples: 例子 diff --git a/assets/src/i18n/zh-tw.yaml b/assets/src/i18n/zh-tw.yaml index 62d88fc6..2f8f40de 100644 --- a/assets/src/i18n/zh-tw.yaml +++ b/assets/src/i18n/zh-tw.yaml @@ -117,7 +117,7 @@ settings: commandsHelp: "\ 在這裡,您可以設定在指定事件下執行的命令,一行一條。\ 若事件與檔案相關,如“在保存檔案前”,\ - 則檔案的路徑會被賦值給環境變數 \"file\"。" + 則檔案的路徑會被賦值給環境變數 \"FILE\"。" commandsUpdated: 命令已更新! customStylesheet: 自定義樣式表 examples: 範例 diff --git a/assets/src/store/index.js b/assets/src/store/index.js index 0a479147..6069838c 100644 --- a/assets/src/store/index.js +++ b/assets/src/store/index.js @@ -12,6 +12,11 @@ const state = { key: '', items: [] }, + css: (() => { + let css = window.CSS + window.CSS = null + return css + })(), staticGen: document.querySelector('meta[name="staticgen"]').getAttribute('content'), baseURL: document.querySelector('meta[name="base"]').getAttribute('content'), noAuth: (document.querySelector('meta[name="noauth"]').getAttribute('content') === 'true'), diff --git a/assets/src/store/mutations.js b/assets/src/store/mutations.js index b8bf3fd9..36251041 100644 --- a/assets/src/store/mutations.js +++ b/assets/src/store/mutations.js @@ -31,6 +31,7 @@ const mutations = { i18n.locale = value.locale state.user = value }, + setCSS: (state, value) => (state.css = value), setJWT: (state, value) => (state.jwt = value), multiple: (state, value) => (state.multiple = value), addSelected: (state, value) => (state.selected.push(value)), diff --git a/assets/src/views/Layout.vue b/assets/src/views/Layout.vue index 6120fe56..d2bc6b9d 100644 --- a/assets/src/views/Layout.vue +++ b/assets/src/views/Layout.vue @@ -6,7 +6,7 @@
- +
@@ -34,23 +34,10 @@ export default { } }, mounted () { - this.updateCSS() + this.$emit('update:css') }, - methods: { - updateCSS () { - let css = this.$store.state.user.css - - let style = document.querySelector('style[title="user-css"]') - if (style !== undefined && style !== null) { - style.parentElement.removeChild(style) - } - - style = document.createElement('style') - style.title = 'user-css' - style.type = 'text/css' - style.appendChild(document.createTextNode(css)) - document.head.appendChild(style) - } + beforeDestroy () { + this.$emit('clean:css') } } diff --git a/assets/src/views/Settings.vue b/assets/src/views/Settings.vue index 20aeaa1a..39db5de2 100644 --- a/assets/src/views/Settings.vue +++ b/assets/src/views/Settings.vue @@ -6,7 +6,7 @@
  • {{ $t('settings.userManagement') }}
  • - + diff --git a/assets/src/views/settings/Global.vue b/assets/src/views/settings/Global.vue index 424afde8..a87a2871 100644 --- a/assets/src/views/settings/Global.vue +++ b/assets/src/views/settings/Global.vue @@ -40,10 +40,17 @@

    {{ $t('settings.commandsHelp') }}

    - + +
    + + +
    + +
    +
    @@ -73,6 +80,7 @@ export default { created () { getSettings() .then(settings => { + console.log(settings) if (this.$store.state.staticGen.length > 0) { this.parseStaticGen(settings.staticGen) } @@ -120,9 +128,8 @@ export default { updateSettings(this.css, 'css') .then(() => { this.$showSuccess(this.$t('settings.settingsUpdated')) - let style = document.querySelector('style[title="global-css"]') - style.innerHTML = '' - style.appendChild(document.createTextNode(this.css)) + this.$store.commit('setCSS', this.css) + this.$emit('css') }) .catch(this.$showError) }, diff --git a/assets/src/views/settings/Profile.vue b/assets/src/views/settings/Profile.vue index dcae8f0e..bcf11738 100644 --- a/assets/src/views/settings/Profile.vue +++ b/assets/src/views/settings/Profile.vue @@ -98,7 +98,7 @@ export default { updateUser(user, 'partial').then(location => { this.$store.commit('setUser', user) - this.$emit('css-updated') + this.$emit('css') this.$showSuccess(this.$t('settings.settingsUpdated')) }).catch(e => { this.$showError(e) diff --git a/filemanager.go b/filemanager.go index e38e9d71..3fa91863 100644 --- a/filemanager.go +++ b/filemanager.go @@ -128,6 +128,11 @@ func (m *FileManager) Setup() error { // Tries to get the event commands from the database. // If they don't exist, initialize them. err = m.Store.Config.Get("commands", &m.Commands) + + if err == nil { + // ADD handlers to commands if dont exist + } + if err != nil && err == ErrNotExist { m.Commands = map[string][]string{ "before_save": {}, diff --git a/rice-box.go.REMOVED.git-id b/rice-box.go.REMOVED.git-id index c8bf61bb..a4649500 100644 --- a/rice-box.go.REMOVED.git-id +++ b/rice-box.go.REMOVED.git-id @@ -1 +1 @@ -b8d6da7ded27e9573a9a2bcd23f93528610b6f9a \ No newline at end of file +c249fdbec733fcd4aefc255262596bee379c471a \ No newline at end of file