|
@@ -6,21 +6,26 @@
|
|
Labels
|
|
Labels
|
|
</h1>
|
|
</h1>
|
|
|
|
|
|
- <label-tree-view v-for="label in labelTree" :key="label.identifier"
|
|
|
|
- :label="label"
|
|
|
|
- :targetable="true"
|
|
|
|
- indent="2rem"/>
|
|
|
|
-
|
|
|
|
- <div class="label">
|
|
|
|
- <input-group>
|
|
|
|
- <text-input placeholder="New Label"
|
|
|
|
- v-model="createLabelValue"
|
|
|
|
- @enter="createLabel"/>
|
|
|
|
- <button-input type="primary" @click="createLabel">
|
|
|
|
- create
|
|
|
|
- </button-input>
|
|
|
|
- </input-group>
|
|
|
|
- </div>
|
|
|
|
|
|
+ <template v-if="labels !== false">
|
|
|
|
+ <label-tree-view v-for="label in labelTree" :key="label.identifier"
|
|
|
|
+ :label="label"
|
|
|
|
+ :targetable="true"
|
|
|
|
+ indent="2rem"/>
|
|
|
|
+
|
|
|
|
+ <div class="label">
|
|
|
|
+ <input-group>
|
|
|
|
+ <text-input placeholder="New Label"
|
|
|
|
+ v-model="createLabelValue"
|
|
|
|
+ @enter="createLabel"/>
|
|
|
|
+ <button-input type="primary" @click="createLabel">
|
|
|
|
+ create
|
|
|
|
+ </button-input>
|
|
|
|
+ </input-group>
|
|
|
|
+ </div>
|
|
|
|
+ </template>
|
|
|
|
+ <template v-else>
|
|
|
|
+ <loading-icon/>
|
|
|
|
+ </template>
|
|
</div>
|
|
</div>
|
|
</template>
|
|
</template>
|
|
|
|
|
|
@@ -29,10 +34,11 @@ import TextInput from "@/components/base/text-input";
|
|
import ButtonInput from "@/components/base/button-input";
|
|
import ButtonInput from "@/components/base/button-input";
|
|
import InputGroup from "@/components/base/input-group";
|
|
import InputGroup from "@/components/base/input-group";
|
|
import LabelTreeView from "@/components/other/LabelTreeView";
|
|
import LabelTreeView from "@/components/other/LabelTreeView";
|
|
|
|
+import LoadingIcon from "@/components/base/loading-icon";
|
|
|
|
|
|
export default {
|
|
export default {
|
|
name: "project-labels-window",
|
|
name: "project-labels-window",
|
|
- components: {LabelTreeView, InputGroup, ButtonInput, TextInput},
|
|
|
|
|
|
+ components: {LoadingIcon, LabelTreeView, InputGroup, ButtonInput, TextInput},
|
|
created: function () {
|
|
created: function () {
|
|
// get labels
|
|
// get labels
|
|
this.getLabels();
|
|
this.getLabels();
|
|
@@ -51,7 +57,7 @@ export default {
|
|
},
|
|
},
|
|
data: function () {
|
|
data: function () {
|
|
return {
|
|
return {
|
|
- labels: [],
|
|
|
|
|
|
+ labels: false,
|
|
createLabelValue: '',
|
|
createLabelValue: '',
|
|
target: false
|
|
target: false
|
|
}
|
|
}
|
|
@@ -171,6 +177,11 @@ h1.target {
|
|
text-decoration: underline;
|
|
text-decoration: underline;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+.loading-icon {
|
|
|
|
+ width: 4rem;
|
|
|
|
+ height: 4rem;
|
|
|
|
+}
|
|
|
|
+
|
|
/*
|
|
/*
|
|
/deep/ .element {
|
|
/deep/ .element {
|
|
border: none;
|
|
border: none;
|