Store edited page in DB

This commit is contained in:
Torsten 2020-01-30 11:51:41 +01:00
parent fb0f00c184
commit 5b06cba327
4 changed files with 235 additions and 234 deletions

View file

@ -4,10 +4,8 @@
<list default="true" id="eed7de89-f054-487c-bf59-36356758942b" name="Default Changelist" comment=""> <list default="true" id="eed7de89-f054-487c-bf59-36356758942b" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/js/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/app.js" afterDir="false" /> <change beforePath="$PROJECT_DIR$/public/js/app.js" beforeDir="false" afterPath="$PROJECT_DIR$/public/js/app.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/store.js" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/store.js" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/views/EditPage.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/EditPage.vue" afterDir="false" /> <change beforePath="$PROJECT_DIR$/resources/js/views/EditPage.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/EditPage.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/resources/js/views/Main.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/Main.vue" afterDir="false" /> <change beforePath="$PROJECT_DIR$/resources/js/views/Main.vue" beforeDir="false" afterPath="$PROJECT_DIR$/resources/js/views/Main.vue" afterDir="false" />
<change beforePath="$PROJECT_DIR$/routes/api.php" beforeDir="false" afterPath="$PROJECT_DIR$/routes/api.php" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />
@ -224,7 +222,8 @@
<workItem from="1579075615585" duration="8354000" /> <workItem from="1579075615585" duration="8354000" />
<workItem from="1579595422946" duration="16270000" /> <workItem from="1579595422946" duration="16270000" />
<workItem from="1579800919877" duration="5421000" /> <workItem from="1579800919877" duration="5421000" />
<workItem from="1580281771610" duration="2954000" /> <workItem from="1580281771610" duration="2990000" />
<workItem from="1580370378793" duration="3758000" />
</task> </task>
<servers /> <servers />
</component> </component>

View file

@ -1894,7 +1894,6 @@ __webpack_require__.r(__webpack_exports__);
// //
// //
// //
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
@ -1921,6 +1920,23 @@ __webpack_require__.r(__webpack_exports__);
//console.log(this.editor.docView.dom.innerHTML); //console.log(this.editor.docView.dom.innerHTML);
console.log(this.editor.view.docView.dom.innerHTML); console.log(this.editor.view.docView.dom.innerHTML);
},
savePage: function savePage() {
var _this = this;
axios.post('http://localhost:8000/api/v1/auth/save_page', {
page: 'testpage',
body: this.editor.view.docView.dom.innerHTML
}, {
headers: {
'Authorization': 'Bearer ' + this.$store.state.user_token
}
}).then(function (res) {
console.log("savePage: Wrote Testpage");
console.log("Going back to main view");
_this.$router.push("/");
});
} }
} }
}); });
@ -1983,14 +1999,6 @@ __webpack_require__.r(__webpack_exports__);
// //
// //
// //
//
//
//
//
//
//
//
//
/* harmony default export */ __webpack_exports__["default"] = ({ /* harmony default export */ __webpack_exports__["default"] = ({
data: function data() { data: function data() {
return { return {
@ -2053,15 +2061,15 @@ __webpack_require__.r(__webpack_exports__);
}, },
created: function created() { created: function created() {
console.log("Main component created"); console.log("Main component created");
/*
if (!this.$store.state.user.token) { if (!this.$store.state.user_token) {
console.log("No token on user detected. Waiting for user login."); console.log("No token on user detected. Waiting for user login.");
console.log("store.state.user:"); console.log("store.state.user:");
console.log(this.$store.state.user); console.log(this.$store.state.user);
} else { } else {
this.$router.push("/main"); //this.$router.push("/main");
this.loadPage();
} }
*/
} }
}); });
@ -31065,7 +31073,22 @@ var render = function() {
]) ])
}), }),
_vm._v(" "), _vm._v(" "),
_c("editor-content", { attrs: { editor: _vm.editor } }) _c("editor-content", { attrs: { editor: _vm.editor } }),
_vm._v(" "),
_c("p", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.savePage()
}
}
},
[_vm._v("Speichern")]
)
])
], ],
1 1
) )
@ -31098,197 +31121,160 @@ var render = function() {
_vm._v("Motorrad IG\n ") _vm._v("Motorrad IG\n ")
]), ]),
_vm._v(" "), _vm._v(" "),
_c( _c("div", { staticClass: "has-text-centered" }, [
"div", _c(
{ staticClass: "has-text-centered" }, "button",
[ {
_c( staticClass: "button",
"button", on: {
{ click: function($event) {
staticClass: "button", return _vm.changeMainText("Über uns")
on: {
click: function($event) {
return _vm.changeMainText("Über uns")
}
} }
}, }
[_vm._v("Über uns")] },
), [_vm._v("Über uns")]
_vm._v(" "), ),
_c( _vm._v(" "),
"button", _c(
{ "button",
staticClass: "button", {
on: { staticClass: "button",
click: function($event) { on: {
return _vm.changeMainText("Aktuelles") click: function($event) {
} return _vm.changeMainText("Aktuelles")
} }
}, }
[_vm._v("Aktuelles")] },
), [_vm._v("Aktuelles")]
_vm._v(" "), ),
_c( _vm._v(" "),
"button", _c(
{ "button",
staticClass: "button", {
on: { staticClass: "button",
click: function($event) { on: {
return _vm.changeMainText("Mitgliedsantrag") click: function($event) {
} return _vm.changeMainText("Mitgliedsantrag")
} }
}, }
[_vm._v("Mitgliedsantrag")] },
), [_vm._v("Mitgliedsantrag")]
_vm._v(" "), ),
!this.$store.state.user.hasOwnProperty("role") _vm._v(" "),
? _c("span", [ !this.$store.state.user.hasOwnProperty("role")
_c( ? _c("span", [
"button", _c(
{ "button",
staticClass: "button", { staticClass: "button", on: { click: function($event) {} } },
on: { [_vm._v("Tourplan (Beispiel)")]
click: function($event) { )
return _vm.changeMainText("Tourplan") ])
} : this.$store.state.user.role === "GUEST"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (Gast)")]
)
])
: this.$store.state.user.role === "MEMBER"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (komplett)")]
)
])
: this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Tourplan (komplett)")]
)
])
: _vm._e(),
_vm._v(" "),
this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{ staticClass: "button", on: { click: function($event) {} } },
[_vm._v("Userverwaltung")]
)
])
: _vm._e(),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Wetter")
}
}
},
[_vm._v("Wetter")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Links")
}
}
},
[_vm._v("Links")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Impressum")
}
}
},
[_vm._v("Impressum")]
),
_vm._v(" "),
this.$store.state.user.hasOwnProperty("role")
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.logout()
} }
}, }
[_vm._v("Tourplan (Beispiel)")] },
) [_vm._v("Logout")]
]) )
: this.$store.state.user.role === "GUEST" ])
? _c("span", [ : _vm._e(),
_vm._v(" "),
!this.$store.state.user.hasOwnProperty("role")
? _c(
"span",
[
_c( _c(
"button", "router-link",
{ { staticClass: "button", attrs: { to: { name: "Login" } } },
staticClass: "button", [_vm._v("Log-In")]
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (Gast)")]
) )
]) ],
: this.$store.state.user.role === "MEMBER" 1
? _c("span", [ )
_c( : _vm._e()
"button", ]),
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (komplett)")]
)
])
: this.$store.state.user.role === "ADMIN"
? _c("span", [
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Tourplan")
}
}
},
[_vm._v("Tourplan (komplett)")]
)
])
: _vm._e(),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Wetter")
}
}
},
[_vm._v("Wetter")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Links")
}
}
},
[_vm._v("Links")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.changeMainText("Impressum")
}
}
},
[_vm._v("Impressum")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.savePage()
}
}
},
[_vm._v("Save Page")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.loadPage()
}
}
},
[_vm._v("Load Page")]
),
_vm._v(" "),
_c(
"button",
{
staticClass: "button",
on: {
click: function($event) {
return _vm.logout()
}
}
},
[_vm._v("Logout")]
),
_vm._v(" "),
_c(
"router-link",
{ staticClass: "button", attrs: { to: { name: "Login" } } },
[_vm._v("Log-In")]
)
],
1
),
_vm._v(" "), _vm._v(" "),
_c("p", [_vm._v(" ")]), _c("p", [_vm._v(" ")]),
_vm._v(" "), _vm._v(" "),
@ -31302,20 +31288,27 @@ var render = function() {
"p", "p",
{ staticStyle: { "text-align": "center" }, attrs: { visible: "true" } }, { staticStyle: { "text-align": "center" }, attrs: { visible: "true" } },
[ [
_c("span", {
domProps: { innerHTML: _vm._s(this.$store.state.page_content) }
}),
_vm._v(" "),
this.$store.state.user.role === "ADMIN" this.$store.state.user.role === "ADMIN"
? _c("span", [ ? _c("span", [
_c("br"), _c("br"),
_c( _c(
"button", "button",
{ staticClass: "button", on: { click: _vm.editPage } }, {
staticClass: "button",
on: {
click: function($event) {
return _vm.editPage()
}
}
},
[_vm._v("Text bearbeiten")] [_vm._v("Text bearbeiten")]
) )
]) ])
: _vm._e(), : _vm._e()
_vm._v(" "),
_c("span", {
domProps: { innerHTML: _vm._s(this.$store.state.page_content) }
})
] ]
) )
]) ])

View file

@ -10,7 +10,6 @@
<button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button> <button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button>
<button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button> <button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span> <span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span> <span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span> <span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
@ -21,7 +20,6 @@
<button class="button" @click="changeMainText('Links')" >Links</button> <button class="button" @click="changeMainText('Links')" >Links</button>
<button class="button" @click="changeMainText('Impressum')" >Impressum</button> <button class="button" @click="changeMainText('Impressum')" >Impressum</button>
<button class="button" @click="showContent()" >Show content</button> <button class="button" @click="showContent()" >Show content</button>
@ -43,10 +41,11 @@
</div> </div>
</editor-menu-bar> </editor-menu-bar>
<editor-content :editor="editor" /> <editor-content :editor="editor" />
<p><button class="button" @click="savePage()" >Speichern</button></p>
</div> </div>
@ -115,6 +114,23 @@
//console.log(this.editor.view.dom.innerText); //console.log(this.editor.view.dom.innerText);
//console.log(this.editor.docView.dom.innerHTML); //console.log(this.editor.docView.dom.innerHTML);
console.log(this.editor.view.docView.dom.innerHTML); console.log(this.editor.view.docView.dom.innerHTML);
},
savePage() {
axios.post('http://localhost:8000/api/v1/auth/save_page',{
page: 'testpage',
body: this.editor.view.docView.dom.innerHTML
}, {
headers: {
'Authorization': 'Bearer ' + this.$store.state.user_token
}
})
.then(res => {
console.log("savePage: Wrote Testpage");
console.log("Going back to main view");
this.$router.push("/");
}
)
} }
} }
} }

View file

@ -9,24 +9,20 @@
<button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button> <button class="button" @click="changeMainText('Aktuelles')" >Aktuelles</button>
<button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button> <button class="button" @click="changeMainText('Mitgliedsantrag')">Mitgliedsantrag</button>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="" >Tourplan (Beispiel)</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="" >Tourplan (komplett)</button></span>
<span v-else-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="" >Tourplan (komplett)</button></span>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Beispiel)</button></span> <span v-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="" >Userverwaltung</button></span>
<span v-else-if="this.$store.state.user.role==='GUEST'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (Gast)</button></span>
<span v-else-if="this.$store.state.user.role==='MEMBER'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<span v-else-if="this.$store.state.user.role==='ADMIN'"><button class="button" @click="changeMainText('Tourplan')" >Tourplan (komplett)</button></span>
<button class="button" @click="changeMainText('Wetter')" >Wetter</button> <button class="button" @click="changeMainText('Wetter')" >Wetter</button>
<button class="button" @click="changeMainText('Links')" >Links</button> <button class="button" @click="changeMainText('Links')" >Links</button>
<button class="button" @click="changeMainText('Impressum')" >Impressum</button> <button class="button" @click="changeMainText('Impressum')" >Impressum</button>
<button class="button" @click="savePage()" >Save Page</button>
<button class="button" @click="loadPage()" >Load Page</button>
<button class="button" @click="logout()" >Logout</button>
<router-link class="button" :to="{ name: 'Login' }">Log-In</router-link>
<span v-if="this.$store.state.user.hasOwnProperty('role')"><button class="button" @click="logout()" >Logout</button></span>
<span v-if="!this.$store.state.user.hasOwnProperty('role')"> <router-link class="button" :to="{ name: 'Login' }">Log-In</router-link></span>
</div> </div>
@ -36,17 +32,13 @@
</p> </p>
<p visible="true" style="text-align:center;"> <p visible="true" style="text-align:center;">
<span v-if="this.$store.state.user.role==='ADMIN'"><br/><button class="button" @click="editPage">Text bearbeiten</button></span>
<span v-html="this.$store.state.page_content"></span> <span v-html="this.$store.state.page_content"></span>
<span v-if="this.$store.state.user.role==='ADMIN'"><br/><button class="button" @click="editPage()">Text bearbeiten</button></span>
</p> </p>
</div> </div>
</div> </div>
</template> </template>
@ -125,15 +117,16 @@
created() { created() {
console.log("Main component created"); console.log("Main component created");
/*
if (!this.$store.state.user.token) { if (!this.$store.state.user_token) {
console.log("No token on user detected. Waiting for user login."); console.log("No token on user detected. Waiting for user login.");
console.log("store.state.user:"); console.log("store.state.user:");
console.log(this.$store.state.user); console.log(this.$store.state.user);
} else { } else {
this.$router.push("/main"); //this.$router.push("/main");
this.loadPage();
} }
*/
} }
} }
</script> </script>