]> BookStack Code Mirror - bookstack/commitdiff
Reformatted sortable toolbox components
authorDan Brown <redacted>
Sat, 2 Sep 2017 14:06:52 +0000 (15:06 +0100)
committerDan Brown <redacted>
Sat, 2 Sep 2017 14:06:52 +0000 (15:06 +0100)
resources/assets/sass/_blocks.scss
resources/assets/sass/_tables.scss
resources/views/pages/form-toolbox.blade.php

index c5b850507b044cb9ed75b77a2e2b4fca8de03aa9..9f502ca8fe9b166be268eda4a92bca60decb2f58 100644 (file)
   }
 }
 
+.card.drag-card {
+  border: 1px solid #DDD;
+  border-radius: 4px;
+  display: flex;
+  padding: 0;
+  padding-left: $-s + 28px;
+  margin: $-s 0;
+  position: relative;
+  .drag-card-action {
+    cursor: pointer;
+  }
+  .handle, .drag-card-action {
+    display: flex;
+    padding: 0;
+    align-items: center;
+    text-align: center;
+    width: 28px;
+    padding-left: $-xs;
+    padding-right: $-xs;
+    &:hover {
+      background-color: #EEE;
+    }
+    i {
+      flex: 1;
+      padding: 0;
+    }
+  }
+  > div .outline input {
+    margin: $-s 0;
+  }
+  > div.padded {
+    padding: $-s 0 !important;
+  }
+  .handle {
+    background-color: #EEE;
+    left: 0;
+    position: absolute;
+    top: 0;
+    bottom: 0;
+  }
+  > div {
+    padding: 0 $-s;
+  }
+}
+
 .well {
   background-color: #F8F8F8;
   padding: $-m;
index 31ac92f602d5d1a09da73f5cd4acbbf31bf9cbeb..38b044268b7c587311067eb718987d4d4fc24e60 100644 (file)
@@ -57,18 +57,4 @@ table.list-table {
     vertical-align: middle;
     padding: $-xs;
   }
-}
-
-.fake-table {
-  display: table;
-  width: 100%;
-  > div {
-    display: table-row-group;
-  }
-  > div > div {
-    display: table-row;
-  }
-  > div > div > div {
-    display: table-cell;
-  }
 }
\ No newline at end of file
index bd60af89a8fbf8cf8f93c144da001731263039f6..929f7049c39ea465ff6747a73fc840b6e904df64 100644 (file)
         <div class="padded tags">
             <p class="muted small">{!! nl2br(e(trans('entities.tags_explain'))) !!}</p>
 
-            <draggable class="fake-table no-style tag-table" :options="{handle: '.handle'}" :list="tags" element="div">
-                <transition-group tag="div">
-                    <div v-for="(tag, i) in tags" :key="tag.key">
-                        <div width="20" class="handle" ><i class="zmdi zmdi-menu"></i></div>
-                        <div>
-                            <autosuggest url="/ajax/tags/suggest/names" type="name" class="outline" :name="getTagFieldName(i, 'name')"
-                                   v-model="tag.name" @input="tagChange(tag)" @blur="tagBlur(tag)" placeholder="{{ trans('entities.tag') }}"/>
-                        </div>
-                        <div>
-                            <autosuggest url="/ajax/tags/suggest/values" type="value" class="outline" :name="getTagFieldName(i, 'value')"
-                                         v-model="tag.value" @change="tagChange(tag)" @blur="tagBlur(tag)" placeholder="{{ trans('entities.tag') }}"/>
-                        </div>
-                        <div width="10" v-show="tags.length !== 1" class="text-center text-neg" style="padding: 0;" @click="removeTag(tag)"><i class="zmdi zmdi-close"></i></div>
+
+            <draggable :options="{handle: '.handle'}" :list="tags" element="div">
+                <div v-for="(tag, i) in tags" :key="tag.key" class="card drag-card">
+                    <div class="handle" ><i class="zmdi zmdi-menu"></i></div>
+                    <div>
+                        <autosuggest url="/ajax/tags/suggest/names" type="name" class="outline" :name="getTagFieldName(i, 'name')"
+                                     v-model="tag.name" @input="tagChange(tag)" @blur="tagBlur(tag)" placeholder="{{ trans('entities.tag') }}"/>
                     </div>
-                </transition-group>
+                    <div>
+                        <autosuggest url="/ajax/tags/suggest/values" type="value" class="outline" :name="getTagFieldName(i, 'value')"
+                                     v-model="tag.value" @change="tagChange(tag)" @blur="tagBlur(tag)" placeholder="{{ trans('entities.tag_value') }}"/>
+                    </div>
+                    <div v-show="tags.length !== 1" class="text-center drag-card-action text-neg" @click="removeTag(tag)"><i class="zmdi zmdi-close"></i></div>
+                </div>
             </draggable>
 
-            <table class="no-style" style="width: 100%;">
-                <tbody>
-                <tr class="unsortable">
-                    <td width="34"></td>
-                    <td @click="addEmptyTag">
-                        <button type="button" class="text-button">{{ trans('entities.tags_add') }}</button>
-                    </td>
-                    <td></td>
-                </tr>
-                </tbody>
-            </table>
+            <button @click="addEmptyTag" type="button" class="text-button">{{ trans('entities.tags_add') }}</button>
 
         </div>
     </div>
                             <div @click="tab = 'link'" :class="{selected: tab === 'link'}" class="tab-item">{{ trans('entities.attachments_link') }}</div>
                         </div>
                         <div v-show="tab === 'list'">
-                            <draggable class="fake-table no-style " style="width: 100%;" :options="{handle: '.handle'}" @change="fileSortUpdate" :list="files" element="div">
-                                <transition-group tag="div">
-                                <div v-for="(file, index) in files" :key="file.id">
-                                    <div width="20" ><i class="handle zmdi zmdi-menu"></i></div>
-                                    <div>
+                            <draggable style="width: 100%;" :options="{handle: '.handle'}" @change="fileSortUpdate" :list="files" element="div">
+                                <div v-for="(file, index) in files" :key="file.id" class="card drag-card">
+                                    <div class="handle"><i class="zmdi zmdi-menu"></i></div>
+                                    <div class="padded">
                                         <a :href="getFileUrl(file)" target="_blank" v-text="file.name"></a>
                                         <div v-if="file.deleting">
                                             <span class="neg small">{{ trans('entities.attachments_delete_confirm') }}</span>
                                             <span class="text-primary small" @click="file.deleting = false;">{{ trans('common.cancel') }}</span>
                                         </div>
                                     </div>
-                                    <div width="10" @click="startEdit(file)" class="text-center text-primary" style="padding: 0;"><i class="zmdi zmdi-edit"></i></div>
-                                    <div width="5"></div>
-                                    <div width="10" @click="deleteFile(file)" class="text-center text-neg" style="padding: 0;"><i class="zmdi zmdi-close"></i></div>
+                                    <div @click="startEdit(file)" class="drag-card-action text-center text-primary" style="padding: 0;"><i class="zmdi zmdi-edit"></i></div>
+                                    <div @click="deleteFile(file)" class="drag-card-action text-center text-neg" style="padding: 0;"><i class="zmdi zmdi-close"></i></div>
                                 </div>
-                                </transition-group>
                             </draggable>
                             <p class="small muted" v-if="files.length === 0">
                                 {{ trans('entities.attachments_no_files') }}
                         </div>
                     </div>
 
-                    <button type="button" class="button" @click="cancelEdit">{{ trans('common.back') }}</button>
+                    <button type="button" class="button outline" @click="cancelEdit">{{ trans('common.back') }}</button>
                     <button @click.enter.prevent="updateFile(fileToEdit)" class="button pos">{{ trans('common.save') }}</button>
                 </div>