TreeNodeEditor | funguje pridavani a editace vzoraku.
This commit is contained in:
		
							parent
							
								
									32121c0229
								
							
						
					
					
						commit
						f6ce35beb4
					
				
					 5 changed files with 160 additions and 39 deletions
				
			
		|  | @ -22,11 +22,6 @@ class UlohaSerializer(serializers.ModelSerializer): | ||||||
| 		model = m.Uloha | 		model = m.Uloha | ||||||
| 		fields = '__all__' | 		fields = '__all__' | ||||||
| 
 | 
 | ||||||
| class UlohaVzorakNodeSerializer(serializers.ModelSerializer): |  | ||||||
| 	class Meta: |  | ||||||
| 		model = m.UlohaVzorakNode |  | ||||||
| 		fields = '__all__' |  | ||||||
| 		depth = DEFAULT_NODE_DEPTH |  | ||||||
| 	 | 	 | ||||||
| class RocnikNodeSerializer(serializers.ModelSerializer): | class RocnikNodeSerializer(serializers.ModelSerializer): | ||||||
| 	class Meta: | 	class Meta: | ||||||
|  | @ -205,6 +200,52 @@ class UlohaZadaniNodeCreateSerializer(serializers.ModelSerializer): | ||||||
| 		fields = ('uloha','where','refnode') | 		fields = ('uloha','where','refnode') | ||||||
| 		depth = DEFAULT_NODE_DEPTH | 		depth = DEFAULT_NODE_DEPTH | ||||||
| 
 | 
 | ||||||
|  | class UlohaVzorakNodeSerializer(serializers.ModelSerializer): | ||||||
|  | 	class Meta: | ||||||
|  | 		model = m.UlohaVzorakNode | ||||||
|  | 		fields = '__all__' | ||||||
|  | 		depth = DEFAULT_NODE_DEPTH | ||||||
|  | 	 | ||||||
|  | class UlohaVzorakNodeWriteSerializer(serializers.ModelSerializer): | ||||||
|  | 	uloha = serializers.PrimaryKeyRelatedField(queryset=m.Uloha.objects.all(), many=False, read_only=False) | ||||||
|  | 
 | ||||||
|  | 	class Meta: | ||||||
|  | 		model = m.UlohaVzorakNode | ||||||
|  | 		fields = ('id','uloha') | ||||||
|  | 		depth = DEFAULT_NODE_DEPTH | ||||||
|  | 	 | ||||||
|  | 
 | ||||||
|  | class UlohaVzorakNodeCreateSerializer(serializers.ModelSerializer): | ||||||
|  | 	uloha_id = serializers.IntegerField() | ||||||
|  | 	refnode = serializers.IntegerField() | ||||||
|  | 	where = serializers.CharField() | ||||||
|  | 
 | ||||||
|  | 	def create(self, validated_data): | ||||||
|  | 		uloha_id = validated_data.pop('uloha_id') | ||||||
|  | 		uloha = m.Uloha.objects.get(pk=uloha_id) | ||||||
|  | 		where = validated_data.pop('where') | ||||||
|  | 		refnode_id = validated_data.pop('refnode') | ||||||
|  | 		refnode = m.TreeNode.objects.get(pk=refnode_id) | ||||||
|  | 
 | ||||||
|  | 		if where == 'syn': | ||||||
|  | 			node = treelib.create_child(refnode,m.UlohaVzorakNode,uloha = uloha) | ||||||
|  | 		elif where == 'za': | ||||||
|  | 			node = treelib.create_node_after(refnode,m.UlohaVzorakNode,uloha = uloha) | ||||||
|  | 		elif where == 'pred': | ||||||
|  | 			node = treelib.create_node_before(refnode,m.UlohaVzorakNode,uloha = uloha) | ||||||
|  | 		node.refnode = None | ||||||
|  | 		node.where = None | ||||||
|  | 		node.uloha_id = None | ||||||
|  | 		 | ||||||
|  | 		return node | ||||||
|  | 
 | ||||||
|  | 	class Meta: | ||||||
|  | 		model = m.UlohaVzorakNode | ||||||
|  | 		fields = ('refnode', 'uloha_id', 'where') | ||||||
|  | 		depth = DEFAULT_NODE_DEPTH | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| class ReseniNodeSerializer(serializers.ModelSerializer): | class ReseniNodeSerializer(serializers.ModelSerializer): | ||||||
| 	class Meta: | 	class Meta: | ||||||
|  |  | ||||||
|  | @ -114,8 +114,10 @@ class CastNodeViewSet(PermissionMixin, ReadWriteSerializerMixin,viewsets.ModelVi | ||||||
| 		raise PermissionDenied('Nelze smazat CastNode, který má děti!') | 		raise PermissionDenied('Nelze smazat CastNode, který má děti!') | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| class UlohaVzorakNodeViewSet(PermissionMixin, viewsets.ModelViewSet): | class UlohaVzorakNodeViewSet(PermissionMixin, ReadWriteSerializerMixin, viewsets.ModelViewSet): | ||||||
| 	serializer_class = views.UlohaVzorakNodeSerializer | 	read_serializer_class = views.UlohaVzorakNodeSerializer | ||||||
|  | 	write_serializer_class = views.UlohaVzorakNodeWriteSerializer | ||||||
|  | 	create_serializer_class = views.UlohaVzorakNodeCreateSerializer | ||||||
| 
 | 
 | ||||||
| 	def get_queryset(self): | 	def get_queryset(self): | ||||||
| 		queryset = m.UlohaVzorakNode.objects.all() | 		queryset = m.UlohaVzorakNode.objects.all() | ||||||
|  |  | ||||||
|  | @ -6,7 +6,7 @@ | ||||||
| 		<button v-if="types.includes('ulohaZadaniNode')" v-on:click="selected='ulohaZadaniNode'" :disabled="selected && selected !== 'ulohaZadaniNode'">Zadání úlohy</button> | 		<button v-if="types.includes('ulohaZadaniNode')" v-on:click="selected='ulohaZadaniNode'" :disabled="selected && selected !== 'ulohaZadaniNode'">Zadání úlohy</button> | ||||||
| 		<button v-if="types.includes('ulohaVzorakNode')" v-on:click="selected='ulohaVzorakNode'" :disabled="selected && selected !== 'ulohaVzorakNode'">Vzorák</button> | 		<button v-if="types.includes('ulohaVzorakNode')" v-on:click="selected='ulohaVzorakNode'" :disabled="selected && selected !== 'ulohaVzorakNode'">Vzorák</button> | ||||||
| 		<div v-if="selected"> | 		<div v-if="selected"> | ||||||
| 			<component :is='selected' :item='null' :where="where" :refnode="refnode" create></component> | 			<component :is='selected' :item='null' :where="where" :refnode="refnode" :tema="tema" create></component> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| </template> | </template> | ||||||
|  | @ -24,6 +24,7 @@ export default { | ||||||
| 		types: Array, | 		types: Array, | ||||||
| 		where: String, | 		where: String, | ||||||
| 		refnode: Object, | 		refnode: Object, | ||||||
|  | 		tema: Object, | ||||||
| 	}, | 	}, | ||||||
| 	data: () => ({ | 	data: () => ({ | ||||||
| 		selected: null, | 		selected: null, | ||||||
|  |  | ||||||
|  | @ -1,16 +1,19 @@ | ||||||
| <template> | <template> | ||||||
| 
 | 
 | ||||||
| 	<div :class="editorMode ? 'treenode-org' : 'treenode'"> | 	<div :class="editorMode ? 'treenode-org' : 'treenode'"> | ||||||
| 	<!--b v-if="v_tematu">v tematu</b> | 	<!--b v-if="tema">v tematu</b> | ||||||
| 	<b v-if="visible">visible</b> | 	<b v-if="visible">visible</b> | ||||||
| 	Force visible: {{String(force_visible)}}--> | 	Force visible: {{String(force_visible)}}--> | ||||||
| 	<component :is='item.node.polymorphic_ctype.model' :item='item' :key='item.node.id' | 	<component :is='item.node.polymorphic_ctype.model' :item='item' :key='item.node.id' | ||||||
|  | 								:tema="temaOut" | ||||||
| 								:editorMode="editorMode" | 								:editorMode="editorMode" | ||||||
| 								:debugMode="debugMode"></component> | 								:debugMode="debugMode"></component> | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| 	<button v-if="debugMode" v-on:click="debugShow = !debugShow" class="nodebug">Ladící data</button> <!-- bude tu nějaký if na class="nodebug", v debug módu bude tlačítko vidět, jinak ne --> | 	<button v-if="debugMode" v-on:click="debugShow = !debugShow" class="nodebug">Ladící data</button> <!-- bude tu nějaký if na class="nodebug", v debug módu bude tlačítko vidět, jinak ne --> | ||||||
| 	<div v-if="debugShow"> | 	<div v-if="debugShow"> | ||||||
|  | 		<pre>Tema: {{ tema }}</pre> | ||||||
|  | 		<pre>TemaOut: {{ temaOut }}</pre> | ||||||
| 		<pre>{{ item.node.polymorphic_ctype.model }}</pre> | 		<pre>{{ item.node.polymorphic_ctype.model }}</pre> | ||||||
| 		<pre>{{ item }}</pre> | 		<pre>{{ item }}</pre> | ||||||
| 	</div> | 	</div> | ||||||
|  | @ -18,31 +21,31 @@ | ||||||
| 	<div v-if="item.children.length === 0"> | 	<div v-if="item.children.length === 0"> | ||||||
| 		<div v-if="item.appendable_children.length > 0 && editorMode"> | 		<div v-if="item.appendable_children.length > 0 && editorMode"> | ||||||
| 			<b>Vložit jako syna: </b> | 			<b>Vložit jako syna: </b> | ||||||
| 			<addnewnode :types="item.appendable_children" :refnode="item.node" where="syn" /> | 			<addnewnode :types="item.appendable_children" :refnode="item.node" :tema="temaOut" where="syn" /> | ||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 
 | 
 | ||||||
| 	<div v-else :class="editorMode ? 'children-org' : 'children'"> <!-- bude tu nějaký if na class="children" --> | 	<div v-else :class="editorMode ? 'children-org' : 'children'"> <!-- bude tu nějaký if na class="children" --> | ||||||
| 		<div v-if="item.children.length > 0 && item.children[0].appendable_siblings.length > 0 && editorMode"> | 		<div v-if="item.children.length > 0 && item.children[0].appendable_siblings.length > 0 && editorMode"> | ||||||
| 			<b>Vložit před: </b> | 			<b>Vložit před: </b> | ||||||
| 			<addnewnode :types="item.children[0].appendable_siblings" :refnode="item.children[0].node" where="pred" />  | 			<addnewnode :types="item.children[0].appendable_siblings" :refnode="item.children[0].node" :tema="temaOut" where="pred" />  | ||||||
| 		</div> | 		</div> | ||||||
| 			<div v-if="item.node.polymorphic_ctype.model==='temavcislenode'"> | 			<div v-if="item.node.polymorphic_ctype.model==='temavcislenode'"> | ||||||
| 				<!--Children: {{String(showChildren)}}--> | 				<!--Children: {{String(showChildren)}}--> | ||||||
| 				<div v-for="(chld, index) in item.children" v-bind:key="chld.nazev" > | 				<div v-for="(chld, index) in item.children" v-bind:key="chld.nazev" > | ||||||
| 					<!--Hide: {{hideNode(chld)}}, v tematu: {{v_tematu}}, force_visible: {{force_visible}}--> | 					<!--Hide: {{hideNode(chld)}}, v tematu: {{tema}}, force_visible: {{force_visible}}--> | ||||||
| 					<div v-if="!hideNode(chld)"> | 					<div v-if="!hideNode(chld)"> | ||||||
| 						<div v-if="chld.node.polymorphic_ctype.model==='ulohazadaninode'"> | 						<div v-if="chld.node.polymorphic_ctype.model==='ulohazadaninode'"> | ||||||
| 							<button v-if="showChildren" v-on:click="showChildren=!showChildren"> Schovat </button> | 							<button v-if="showChildren" v-on:click="showChildren=!showChildren"> Schovat </button> | ||||||
| 							<button v-else v-on:click="showChildren=!showChildren"> Rozbalit </button> | 							<button v-else v-on:click="showChildren=!showChildren"> Rozbalit </button> | ||||||
| 							<TreeNode :item="chld" :v_tematu="true" | 							<TreeNode :item="chld" :tema="temaOut" | ||||||
| 									:force_visible="showChildren" | 									:force_visible="showChildren" | ||||||
| 									:editorMode="editorMode" | 									:editorMode="editorMode" | ||||||
| 									:debugMode="debugMode"> | 									:debugMode="debugMode"> | ||||||
| 							</TreeNode> | 							</TreeNode> | ||||||
| 						</div> | 						</div> | ||||||
| 						<div v-else> | 						<div v-else> | ||||||
| 							<TreeNode :item="chld" :v_tematu="true" | 							<TreeNode :item="chld" :tema="temaOut" | ||||||
| 									:force_visible="showChildren" | 									:force_visible="showChildren" | ||||||
| 									:editorMode="editorMode" | 									:editorMode="editorMode" | ||||||
| 									:debugMode="debugMode"> | 									:debugMode="debugMode"> | ||||||
|  | @ -51,7 +54,7 @@ | ||||||
| 						<div v-if="chld.appendable_siblings.length > 0 && editorMode" > | 						<div v-if="chld.appendable_siblings.length > 0 && editorMode" > | ||||||
| 							<b v-if="index < (item.children.length - 1)">Vložit mezi: </b> | 							<b v-if="index < (item.children.length - 1)">Vložit mezi: </b> | ||||||
| 							<b v-else>Vložit za: </b> | 							<b v-else>Vložit za: </b> | ||||||
| 							<addnewnode :types="chld.appendable_siblings" :refnode="chld.node" where="za" />  | 							<addnewnode :types="chld.appendable_siblings" :refnode="chld.node" :tema="temaOut" where="za" />  | ||||||
| 						</div> | 						</div> | ||||||
| 					</div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
|  | @ -60,16 +63,16 @@ | ||||||
| 			</div> | 			</div> | ||||||
| 			<div v-else> | 			<div v-else> | ||||||
| 				<div v-for="(chld, index) in item.children" v-bind:key="chld.nazev" > | 				<div v-for="(chld, index) in item.children" v-bind:key="chld.nazev" > | ||||||
| 					<div v-if="v_tematu && chld.node.polymorphic_ctype.model==='ulohazadaninode'"> | 					<div v-if="tema !== null && chld.node.polymorphic_ctype.model==='ulohazadaninode'"> | ||||||
| 						<div> Tady možná něco je </div> | 						<div> Tady možná něco je </div> | ||||||
| 						<TreeNode :item="chld" :v_tematu="v_tematu" | 						<TreeNode :item="chld" :tema="temaOut" | ||||||
| 								:force_visible="force_visible" | 								:force_visible="force_visible" | ||||||
| 								:editorMode="editorMode" | 								:editorMode="editorMode" | ||||||
| 								:debugMode="debugMode"> | 								:debugMode="debugMode"> | ||||||
| 						</TreeNode> | 						</TreeNode> | ||||||
| 					</div> | 					</div> | ||||||
| 					<div v-else> | 					<div v-else> | ||||||
| 						<TreeNode :item="chld" :v_tematu="v_tematu" | 						<TreeNode :item="chld" :tema="temaOut" | ||||||
| 								:force_visible="force_visible" | 								:force_visible="force_visible" | ||||||
| 								:editorMode="editorMode" | 								:editorMode="editorMode" | ||||||
| 								:debugMode="debugMode"> | 								:debugMode="debugMode"> | ||||||
|  | @ -78,7 +81,7 @@ | ||||||
| 					<div v-if="chld.appendable_siblings.length > 0 && editorMode" > | 					<div v-if="chld.appendable_siblings.length > 0 && editorMode" > | ||||||
| 						<b v-if="index < (item.children.length - 1)">Vložit mezi: </b> | 						<b v-if="index < (item.children.length - 1)">Vložit mezi: </b> | ||||||
| 						<b v-else>Vložit za: </b> | 						<b v-else>Vložit za: </b> | ||||||
| 						<addnewnode :types="chld.appendable_siblings" :refnode="chld.node" where="za" />  | 						<addnewnode :types="chld.appendable_siblings" :refnode="chld.node" :tema="temaOut" where="za" />  | ||||||
| 					</div> | 					</div> | ||||||
| 				</div> | 				</div> | ||||||
| 			</div> | 			</div> | ||||||
|  | @ -112,14 +115,15 @@ export default { | ||||||
| 	}, | 	}, | ||||||
| 	data: () => ({ | 	data: () => ({ | ||||||
| 		debugShow: false, | 		debugShow: false, | ||||||
| 		showChildren: false | 		showChildren: false, | ||||||
|  | 		temaOut: null, | ||||||
| 	}), | 	}), | ||||||
| 	computed: { | 	computed: { | ||||||
| 	}, | 	}, | ||||||
| 	props: { | 	props: { | ||||||
| 		item: Object, | 		item: Object, | ||||||
| 		force_visible: Boolean, | 		force_visible: Boolean, | ||||||
| 		v_tematu: Boolean, | 		tema: Object, | ||||||
| 		editorMode: Boolean, | 		editorMode: Boolean, | ||||||
| 		debugMode: Boolean, | 		debugMode: Boolean, | ||||||
| 	}, | 	}, | ||||||
|  | @ -132,7 +136,17 @@ export default { | ||||||
| 				return false; | 				return false; | ||||||
| 			} | 			} | ||||||
| 			return true; | 			return true; | ||||||
|  | 		}, | ||||||
|  | 	}, | ||||||
|  | 	mounted: function(){ | ||||||
|  | 		if (this.item.node.polymorphic_ctype.model === 'temavcislenode'){ | ||||||
|  | 			this.temaOut = this.item.node.tema; | ||||||
|  | 			console.log(this.temaOut); | ||||||
|  | 		} else { | ||||||
|  | 			this.temaOut = this.tema; | ||||||
| 		} | 		} | ||||||
|  | 		 | ||||||
|  | 
 | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|  | @ -1,19 +1,23 @@ | ||||||
| <template> | <template> | ||||||
| 	<div class="ulohavzoraknode"> | 	<div class="ulohavzoraknode"> | ||||||
|  | 		<template v-if="editorShow"> | ||||||
| 		<!--pre>UlohaVzorakNode {{item}} {{typeof(item)}}</pre--> | 		<!--pre>UlohaVzorakNode {{item}} {{typeof(item)}}</pre--> | ||||||
| 		<!--h5 v-if="!editorMode">Řešení {{item.node.uloha.cislo_zadani.poradi}}.{{ item.node.uloha.kod }}: {{ item.node.uloha.nazev }}</h5--> | 		<!--h5 v-if="!editorMode">Řešení {{item.node.uloha.cislo_zadani.poradi}}.{{ item.node.uloha.kod }}: {{ item.node.uloha.nazev }}</h5--> | ||||||
| 		<h5>Řešení!</h5> | 				<form class="searchForm" v-on:submit.prevent="submitSearch"> | ||||||
| 		<button v-if="editorMode" v-on:click="showSelect=!showSelect" class="upravit">Upravit</button> | 					<input type="text" v-model="searchQuery" placeholder="Napište název" @keyup="submitSearch"> | ||||||
| 		<div v-if="showSelect"> | 				</form> | ||||||
| 			<form class="searchForm" v-on:submit.prevent="submitSearch"> | 				<div class="searchResult" v-show="isResult"> | ||||||
| 				<input type="text" v-model="searchQuery" placeholder="Napište název" @keyup="submitSearch"> | 					<ul> | ||||||
| 			</form> | 						<li v-for="res in searchResults" :key="res.id" v-on:click="setSelected(res)">{{res.nazev}}</li> | ||||||
| 			<div class="searchResult" v-show="isResult"> | 					</ul> | ||||||
| 				<ul> | 				</div> | ||||||
| 					<li v-for="res in searchResults" :key="res.id" v-on:click="setSelected(res)">{{res.nazev}}</li> | 				<button v-if="create" v-on:click="createNode">Vytvořit vzorák</button> | ||||||
| 				</ul> | 				<button v-if="!create" v-on:click="saveNode">Uložit</button> | ||||||
| 			</div> | 		</template> | ||||||
| 		</div> | 		<template v-else> | ||||||
|  | 			<h5>Řešení {{item.node.uloha.cislo_zadani.poradi}}.{{item.node.uloha.kod}}: {{item.node.uloha.nazev}}</h5> | ||||||
|  | 			<button v-if="editorMode" v-on:click="editorShow = !editorShow">Upravit</button> | ||||||
|  | 		</template> | ||||||
| 	</div> | 	</div> | ||||||
| </template> | </template> | ||||||
| 
 | 
 | ||||||
|  | @ -27,21 +31,30 @@ export default { | ||||||
| 			isResult: false, | 			isResult: false, | ||||||
| 			searchQuery: '', | 			searchQuery: '', | ||||||
| 			searchResults: [], | 			searchResults: [], | ||||||
| 			showSelect: false, |  | ||||||
| 			selected: null, | 			selected: null, | ||||||
| 			selected_id: null | 			selected_id: null, | ||||||
|  | 			editorShow: false, | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 	props: { | 	props: { | ||||||
| 		item: Object, | 		item: Object, | ||||||
| 		create: Boolean, | 		create: Boolean, | ||||||
| 		showSelect: Boolean, |  | ||||||
| 		editorMode: Boolean, | 		editorMode: Boolean, | ||||||
|  | 		editorShow: Boolean, | ||||||
|  | 		tema: Object, | ||||||
|  | 		refnode: Object, | ||||||
|  | 		where: String, | ||||||
| 	}, | 	}, | ||||||
| 	mounted: function(){ | 	mounted: function(){ | ||||||
|  | 		axios.defaults.headers.common['X-CSRFToken'] = this.getCookie('csrftoken'); | ||||||
| 		if (this.create){ | 		if (this.create){ | ||||||
| 			this.showSelect = true; | 			this.editorShow = true; | ||||||
| 			console.log('Creating'); | 			this.searchQuery = ""; | ||||||
|  | 			this.selected_id = null; | ||||||
|  | 		} else { | ||||||
|  | 			this.searchQuery = this.item.node.uloha.nazev; | ||||||
|  | 			this.selected_id = this.item.node.uloha.id; | ||||||
|  | 			this.selected = this.item.node.uloha; | ||||||
| 		} | 		} | ||||||
| 		if (this.item !== null && this.item.node.uloha === null){ | 		if (this.item !== null && this.item.node.uloha === null){ | ||||||
| 			console.log("Uloha je null!"); | 			console.log("Uloha je null!"); | ||||||
|  | @ -49,9 +62,27 @@ export default { | ||||||
| 		} | 		} | ||||||
| 	}, | 	}, | ||||||
| 	methods: { | 	methods: { | ||||||
|  | 		getCookie: function (name){ | ||||||
|  | 			var cookieValue = null; | ||||||
|  | 			if (document.cookie && document.cookie != '') { | ||||||
|  | 				var cookies = document.cookie.split(';'); | ||||||
|  | 				for (var i = 0; i < cookies.length; i++) { | ||||||
|  | 					var cookie = cookies[i].trim(); | ||||||
|  | 					// Does this cookie string begin with the name we want? | ||||||
|  | 
 | ||||||
|  | 					if (cookie.substring(0, name.length + 1) == (name + '=')) { | ||||||
|  | 						cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); | ||||||
|  | 						break; | ||||||
|  | 					} | ||||||
|  | 				} | ||||||
|  | 			} | ||||||
|  | 			return cookieValue; | ||||||
|  | 		}, | ||||||
| 		submitSearch: function(){ | 		submitSearch: function(){ | ||||||
| 			if (this.searchQuery.length < 3) { return;} | 			if (this.searchQuery.length < 3) { return;} | ||||||
| 			var reqURL = "/api/ulohavzoraknode/?nazev="+this.searchQuery; | 			let nazev = "nazev="+this.searchQuery+"&"; | ||||||
|  | 			let nadproblem = "nadproblem="+this.tema.id+"&"; | ||||||
|  | 			var reqURL = "/api/uloha/?"+nazev+nadproblem; | ||||||
| 			axios.get(reqURL).then( (response) => { | 			axios.get(reqURL).then( (response) => { | ||||||
| 				this.searchResults = response.data.results; | 				this.searchResults = response.data.results; | ||||||
| 				this.isResult = true; | 				this.isResult = true; | ||||||
|  | @ -64,6 +95,38 @@ export default { | ||||||
| 		setSelected: function(res){ | 		setSelected: function(res){ | ||||||
| 			this.searchQuery = res.nazev | 			this.searchQuery = res.nazev | ||||||
| 			this.selected_id = res.id | 			this.selected_id = res.id | ||||||
|  | 			this.selected = res | ||||||
|  | 		}, | ||||||
|  | 		createNode: function(){ | ||||||
|  | 			console.log('Creating UlohaVzorakNode'); | ||||||
|  | 			this.loading = true | ||||||
|  | 			axios.post('/api/ulohavzoraknode/',{ | ||||||
|  | 				refnode: this.refnode.id, | ||||||
|  | 				where: this.where, | ||||||
|  | 				uloha_id: this.selected_id, | ||||||
|  | 			}).then(response => { | ||||||
|  | 				console.log(response.data); | ||||||
|  | 				this.loading=false; | ||||||
|  | 				this.$root.$emit('updateData',"ulohaZadaniNode create update"); | ||||||
|  | 			}).catch( e => { | ||||||
|  | 				console.log(e); | ||||||
|  | 			}); | ||||||
|  | 		}, | ||||||
|  | 		saveNode: function(){ | ||||||
|  | 			console.log('Saving UlohaVzorakNode'); | ||||||
|  | 			this.loading = true | ||||||
|  | 			axios.put('/api/ulohavzoraknode/'+this.item.node.id+'/',{ | ||||||
|  | 				id: this.item.node.id, | ||||||
|  | 				uloha: this.selected_id | ||||||
|  | 			}).then(response => { | ||||||
|  | 				console.log(response.data); | ||||||
|  | 				this.loading=false; | ||||||
|  | 				this.item.node = response.data; | ||||||
|  | 				this.$root.$emit('updateData',"ulohaZadaniNode save update"); | ||||||
|  | 			}).catch( e => { | ||||||
|  | 				console.log(e); | ||||||
|  | 			}); | ||||||
|  | 			this.editorShow = false; | ||||||
| 		} | 		} | ||||||
| 	} | 	} | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
		Reference in a new issue