From 2e8e5c2751aba86a03c564dc7aa2dc7e595caac5 Mon Sep 17 00:00:00 2001 From: syuilo Date: Tue, 30 Apr 2019 06:40:02 +0900 Subject: Improve MisskeyPages MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ifブロック を追加 * ボタンやスイッチなどのテキストに変数使えるようにした --- .../page-editor/els/page-editor.el.button.vue | 54 +++++++++ .../page-editor/els/page-editor.el.if.vue | 113 +++++++++++++++++ .../page-editor/els/page-editor.el.image.vue | 78 ++++++++++++ .../page-editor/els/page-editor.el.input.vue | 61 ++++++++++ .../page-editor/els/page-editor.el.section.vue | 126 +++++++++++++++++++ .../page-editor/els/page-editor.el.switch.vue | 48 ++++++++ .../page-editor/els/page-editor.el.text.vue | 57 +++++++++ .../components/page-editor/page-editor.block.vue | 22 ++-- .../components/page-editor/page-editor.button.vue | 54 --------- .../components/page-editor/page-editor.image.vue | 78 ------------ .../components/page-editor/page-editor.input.vue | 61 ---------- .../components/page-editor/page-editor.section.vue | 133 --------------------- .../components/page-editor/page-editor.switch.vue | 48 -------- .../components/page-editor/page-editor.text.vue | 57 --------- .../views/components/page-editor/page-editor.vue | 62 ++++++---- .../app/common/views/pages/page/page.block.vue | 3 +- .../app/common/views/pages/page/page.button.vue | 2 +- src/client/app/common/views/pages/page/page.if.vue | 30 +++++ .../app/common/views/pages/page/page.input.vue | 2 +- .../app/common/views/pages/page/page.switch.vue | 2 +- src/client/app/common/views/pages/page/page.vue | 1 + 21 files changed, 625 insertions(+), 467 deletions(-) create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.button.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.if.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.image.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.input.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.section.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.switch.vue create mode 100644 src/client/app/common/views/components/page-editor/els/page-editor.el.text.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.button.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.image.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.input.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.section.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.switch.vue delete mode 100644 src/client/app/common/views/components/page-editor/page-editor.text.vue create mode 100644 src/client/app/common/views/pages/page/page.if.vue (limited to 'src/client') diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.button.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.button.vue new file mode 100644 index 0000000000..3e2d3fe19d --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.button.vue @@ -0,0 +1,54 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.if.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.if.vue new file mode 100644 index 0000000000..46920fafdc --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.if.vue @@ -0,0 +1,113 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.image.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.image.vue new file mode 100644 index 0000000000..5ada8c77ba --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.image.vue @@ -0,0 +1,78 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.input.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.input.vue new file mode 100644 index 0000000000..b2bcb33c3d --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.input.vue @@ -0,0 +1,61 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.section.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.section.vue new file mode 100644 index 0000000000..6133faf666 --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.section.vue @@ -0,0 +1,126 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.switch.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.switch.vue new file mode 100644 index 0000000000..3404404d99 --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.switch.vue @@ -0,0 +1,48 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/els/page-editor.el.text.vue b/src/client/app/common/views/components/page-editor/els/page-editor.el.text.vue new file mode 100644 index 0000000000..b6b56a29fd --- /dev/null +++ b/src/client/app/common/views/components/page-editor/els/page-editor.el.text.vue @@ -0,0 +1,57 @@ + + + + + diff --git a/src/client/app/common/views/components/page-editor/page-editor.block.vue b/src/client/app/common/views/components/page-editor/page-editor.block.vue index a3e1488d1b..86ee3f6888 100644 --- a/src/client/app/common/views/components/page-editor/page-editor.block.vue +++ b/src/client/app/common/views/components/page-editor/page-editor.block.vue @@ -1,25 +1,29 @@ diff --git a/src/client/app/common/views/components/page-editor/page-editor.button.vue b/src/client/app/common/views/components/page-editor/page-editor.button.vue deleted file mode 100644 index d5fc243818..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.button.vue +++ /dev/null @@ -1,54 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.image.vue b/src/client/app/common/views/components/page-editor/page-editor.image.vue deleted file mode 100644 index 0bc1816e8d..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.image.vue +++ /dev/null @@ -1,78 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.input.vue b/src/client/app/common/views/components/page-editor/page-editor.input.vue deleted file mode 100644 index 4e13840439..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.input.vue +++ /dev/null @@ -1,61 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.section.vue b/src/client/app/common/views/components/page-editor/page-editor.section.vue deleted file mode 100644 index d7a247b0b1..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.section.vue +++ /dev/null @@ -1,133 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.switch.vue b/src/client/app/common/views/components/page-editor/page-editor.switch.vue deleted file mode 100644 index a9cfa2844f..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.switch.vue +++ /dev/null @@ -1,48 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.text.vue b/src/client/app/common/views/components/page-editor/page-editor.text.vue deleted file mode 100644 index 7368931b2f..0000000000 --- a/src/client/app/common/views/components/page-editor/page-editor.text.vue +++ /dev/null @@ -1,57 +0,0 @@ - - - - - diff --git a/src/client/app/common/views/components/page-editor/page-editor.vue b/src/client/app/common/views/components/page-editor/page-editor.vue index 8b25828515..f39985952b 100644 --- a/src/client/app/common/views/components/page-editor/page-editor.vue +++ b/src/client/app/common/views/components/page-editor/page-editor.vue @@ -2,16 +2,16 @@
-
{{ pageId ? $t('edit-page') : $t('new-page') }}
+
{{ readonly ? $t('read-page') : pageId ? $t('edit-page') : $t('new-page') }}
- + - +
- {{ $t('view-page') }} + {{ $t('view-page') }} {{ $t('title') }} @@ -23,7 +23,7 @@ - + {{ $t('url') }} @@ -45,10 +45,10 @@
- +
- +
@@ -70,7 +70,7 @@
- + {{ $t('more-details') }} @@ -106,11 +106,17 @@ export default Vue.extend({ page: { type: String, required: false - } + }, + readonly: { + type: Boolean, + required: false, + default: false + }, }, data() { return { + author: this.$store.state.i, pageId: null, currentName: null, title: '', @@ -157,6 +163,7 @@ export default Vue.extend({ this.$root.api('pages/show', { pageId: this.page, }).then(page => { + this.author = page.user; this.pageId = page.id; this.title = page.title; this.name = page.name; @@ -180,7 +187,9 @@ export default Vue.extend({ provide() { return { - getScriptBlockList: this.getScriptBlockList + readonly: this.readonly, + getScriptBlockList: this.getScriptBlockList, + getPageBlockList: this.getPageBlockList } }, @@ -250,19 +259,7 @@ export default Vue.extend({ type: null, title: this.$t('choose-block'), select: { - items: [{ - value: 'section', text: this.$t('blocks.section') - }, { - value: 'text', text: this.$t('blocks.text') - }, { - value: 'image', text: this.$t('blocks.image') - }, { - value: 'button', text: this.$t('blocks.button') - }, { - value: 'input', text: this.$t('blocks.input') - }, { - value: 'switch', text: this.$t('blocks.switch') - }] + items: this.getPageBlockList() }, showCancelButton: true }); @@ -324,6 +321,24 @@ export default Vue.extend({ this.variables = newValue; }, + getPageBlockList() { + return [{ + value: 'section', text: this.$t('blocks.section') + }, { + value: 'text', text: this.$t('blocks.text') + }, { + value: 'image', text: this.$t('blocks.image') + }, { + value: 'button', text: this.$t('blocks.button') + }, { + value: 'input', text: this.$t('blocks.input') + }, { + value: 'switch', text: this.$t('blocks.switch') + }, { + value: 'if', text: this.$t('blocks.if') + }]; + }, + getScriptBlockList(type: string = null) { const list = []; @@ -436,6 +451,7 @@ export default Vue.extend({ > .view display inline-block margin 16px 0 0 0 + font-size 14px > .content margin-bottom 16px diff --git a/src/client/app/common/views/pages/page/page.block.vue b/src/client/app/common/views/pages/page/page.block.vue index 48a89f9de7..e3a758ed4e 100644 --- a/src/client/app/common/views/pages/page/page.block.vue +++ b/src/client/app/common/views/pages/page/page.block.vue @@ -10,10 +10,11 @@ import XImage from './page.image.vue'; import XButton from './page.button.vue'; import XInput from './page.input.vue'; import XSwitch from './page.switch.vue'; +import XIf from './page.if.vue'; export default Vue.extend({ components: { - XText, XSection, XImage, XButton, XInput, XSwitch + XText, XSection, XImage, XButton, XInput, XSwitch, XIf }, props: { diff --git a/src/client/app/common/views/pages/page/page.button.vue b/src/client/app/common/views/pages/page/page.button.vue index 5063d27122..b77d856d5d 100644 --- a/src/client/app/common/views/pages/page/page.button.vue +++ b/src/client/app/common/views/pages/page/page.button.vue @@ -1,6 +1,6 @@ diff --git a/src/client/app/common/views/pages/page/page.if.vue b/src/client/app/common/views/pages/page/page.if.vue new file mode 100644 index 0000000000..9dbeaf64fb --- /dev/null +++ b/src/client/app/common/views/pages/page/page.if.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/client/app/common/views/pages/page/page.input.vue b/src/client/app/common/views/pages/page/page.input.vue index cda5550337..9f4cfd91f3 100644 --- a/src/client/app/common/views/pages/page/page.input.vue +++ b/src/client/app/common/views/pages/page/page.input.vue @@ -1,6 +1,6 @@ diff --git a/src/client/app/common/views/pages/page/page.switch.vue b/src/client/app/common/views/pages/page/page.switch.vue index 962ab84bb5..d36ecbfba1 100644 --- a/src/client/app/common/views/pages/page/page.switch.vue +++ b/src/client/app/common/views/pages/page/page.switch.vue @@ -1,6 +1,6 @@ diff --git a/src/client/app/common/views/pages/page/page.vue b/src/client/app/common/views/pages/page/page.vue index e7e8f76d53..7cbd3ed81b 100644 --- a/src/client/app/common/views/pages/page/page.vue +++ b/src/client/app/common/views/pages/page/page.vue @@ -38,6 +38,7 @@ class Script { } public interpolate(str: string) { + if (str == null) return null; return str.replace(/\{(.+?)\}/g, match => { const v = this.vars.find(x => x.name === match.slice(1, -1).trim()).value; return v == null ? 'NULL' : v.toString(); -- cgit v1.2.3-freya