From bd8d7c3d0f1bb831f26a75a6107e34a85a1bc804 Mon Sep 17 00:00:00 2001 From: syuilo Date: Sun, 7 Jul 2019 06:56:13 +0900 Subject: Improve Page MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * ページをピン留めできるように * デッキでカラム内でページを見れるように --- locales/ja-JP.yml | 4 + migration/1562444565093-PinnedPage.ts | 17 ++ migration/1562448332510-PageTitleHideOption.ts | 13 ++ .../common/views/components/page/page.block.vue | 40 ++++ .../common/views/components/page/page.button.vue | 55 +++++ .../common/views/components/page/page.counter.vue | 47 +++++ .../app/common/views/components/page/page.if.vue | 30 +++ .../common/views/components/page/page.image.vue | 36 ++++ .../views/components/page/page.number-input.vue | 41 ++++ .../app/common/views/components/page/page.post.vue | 68 +++++++ .../common/views/components/page/page.section.vue | 55 +++++ .../common/views/components/page/page.switch.vue | 43 ++++ .../views/components/page/page.text-input.vue | 41 ++++ .../app/common/views/components/page/page.text.vue | 62 ++++++ .../views/components/page/page.textarea-input.vue | 36 ++++ .../common/views/components/page/page.textarea.vue | 33 +++ .../app/common/views/components/page/page.vue | 218 ++++++++++++++++++++ .../app/common/views/deck/deck.page-column.vue | 69 +++++++ .../common/views/deck/deck.user-column.home.vue | 7 + .../common/views/pages/page-editor/page-editor.vue | 6 + src/client/app/common/views/pages/page.vue | 63 ++++++ .../app/common/views/pages/page/page.block.vue | 40 ---- .../app/common/views/pages/page/page.button.vue | 55 ----- .../app/common/views/pages/page/page.counter.vue | 47 ----- src/client/app/common/views/pages/page/page.if.vue | 30 --- .../app/common/views/pages/page/page.image.vue | 36 ---- .../common/views/pages/page/page.number-input.vue | 41 ---- .../app/common/views/pages/page/page.post.vue | 68 ------- .../app/common/views/pages/page/page.section.vue | 55 ----- .../app/common/views/pages/page/page.switch.vue | 43 ---- .../common/views/pages/page/page.text-input.vue | 41 ---- .../app/common/views/pages/page/page.text.vue | 62 ------ .../views/pages/page/page.textarea-input.vue | 36 ---- .../app/common/views/pages/page/page.textarea.vue | 33 --- src/client/app/common/views/pages/page/page.vue | 224 --------------------- src/client/app/desktop/script.ts | 4 +- .../app/desktop/views/home/user/user.home.vue | 5 +- src/client/app/mobile/script.ts | 3 +- src/client/app/mobile/views/pages/user/home.vue | 8 + src/models/entities/page.ts | 5 + src/models/entities/user-profile.ts | 13 ++ src/models/repositories/page.ts | 1 + src/models/repositories/user.ts | 4 +- src/server/api/endpoints/i/update.ts | 27 ++- src/server/api/endpoints/pages/create.ts | 6 + src/server/api/endpoints/pages/update.ts | 5 + 46 files changed, 1058 insertions(+), 818 deletions(-) create mode 100644 migration/1562444565093-PinnedPage.ts create mode 100644 migration/1562448332510-PageTitleHideOption.ts create mode 100644 src/client/app/common/views/components/page/page.block.vue create mode 100644 src/client/app/common/views/components/page/page.button.vue create mode 100644 src/client/app/common/views/components/page/page.counter.vue create mode 100644 src/client/app/common/views/components/page/page.if.vue create mode 100644 src/client/app/common/views/components/page/page.image.vue create mode 100644 src/client/app/common/views/components/page/page.number-input.vue create mode 100644 src/client/app/common/views/components/page/page.post.vue create mode 100644 src/client/app/common/views/components/page/page.section.vue create mode 100644 src/client/app/common/views/components/page/page.switch.vue create mode 100644 src/client/app/common/views/components/page/page.text-input.vue create mode 100644 src/client/app/common/views/components/page/page.text.vue create mode 100644 src/client/app/common/views/components/page/page.textarea-input.vue create mode 100644 src/client/app/common/views/components/page/page.textarea.vue create mode 100644 src/client/app/common/views/components/page/page.vue create mode 100644 src/client/app/common/views/deck/deck.page-column.vue create mode 100644 src/client/app/common/views/pages/page.vue delete mode 100644 src/client/app/common/views/pages/page/page.block.vue delete mode 100644 src/client/app/common/views/pages/page/page.button.vue delete mode 100644 src/client/app/common/views/pages/page/page.counter.vue delete mode 100644 src/client/app/common/views/pages/page/page.if.vue delete mode 100644 src/client/app/common/views/pages/page/page.image.vue delete mode 100644 src/client/app/common/views/pages/page/page.number-input.vue delete mode 100644 src/client/app/common/views/pages/page/page.post.vue delete mode 100644 src/client/app/common/views/pages/page/page.section.vue delete mode 100644 src/client/app/common/views/pages/page/page.switch.vue delete mode 100644 src/client/app/common/views/pages/page/page.text-input.vue delete mode 100644 src/client/app/common/views/pages/page/page.text.vue delete mode 100644 src/client/app/common/views/pages/page/page.textarea-input.vue delete mode 100644 src/client/app/common/views/pages/page/page.textarea.vue delete mode 100644 src/client/app/common/views/pages/page/page.vue diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index d29b96af1d..32a7fad398 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -1907,6 +1907,7 @@ deck/deck.user-column.vue: activity: "アクティビティ" timeline: "タイムライン" pinned-notes: "ピン留めされた投稿" + pinned-page: "ピン留めされたページ" docs: edit-this-page-on-github: "間違いや改善点を見つけましたか?" @@ -1946,6 +1947,8 @@ pages: are-you-sure-delete: "このページを削除しますか?" page-deleted: "ページを削除しました" edit-this-page: "このページを編集" + pin-this-page: "ピン留め" + unpin-this-page: "ピン留め解除" view-source: "ソースを表示" view-page: "ページを見る" like: "いいね" @@ -1964,6 +1967,7 @@ pages: url: "ページURL" summary: "ページの要約" align-center: "中央寄せ" + hide-title-when-pinned: "ピン留めされているときにタイトルを非表示" font: "フォント" fontSerif: "セリフ" fontSansSerif: "サンセリフ" diff --git a/migration/1562444565093-PinnedPage.ts b/migration/1562444565093-PinnedPage.ts new file mode 100644 index 0000000000..4bdee22748 --- /dev/null +++ b/migration/1562444565093-PinnedPage.ts @@ -0,0 +1,17 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class PinnedPage1562444565093 implements MigrationInterface { + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "user_profile" ADD "pinnedPageId" character varying(32)`); + await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27" UNIQUE ("pinnedPageId")`); + await queryRunner.query(`ALTER TABLE "user_profile" ADD CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27" FOREIGN KEY ("pinnedPageId") REFERENCES "page"("id") ON DELETE SET NULL ON UPDATE NO ACTION`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "FK_6dc44f1ceb65b1e72bacef2ca27"`); + await queryRunner.query(`ALTER TABLE "user_profile" DROP CONSTRAINT "UQ_6dc44f1ceb65b1e72bacef2ca27"`); + await queryRunner.query(`ALTER TABLE "user_profile" DROP COLUMN "pinnedPageId"`); + } + +} diff --git a/migration/1562448332510-PageTitleHideOption.ts b/migration/1562448332510-PageTitleHideOption.ts new file mode 100644 index 0000000000..acc9b7e26f --- /dev/null +++ b/migration/1562448332510-PageTitleHideOption.ts @@ -0,0 +1,13 @@ +import {MigrationInterface, QueryRunner} from "typeorm"; + +export class PageTitleHideOption1562448332510 implements MigrationInterface { + + public async up(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "page" ADD "hideTitleWhenPinned" boolean NOT NULL DEFAULT false`); + } + + public async down(queryRunner: QueryRunner): Promise { + await queryRunner.query(`ALTER TABLE "page" DROP COLUMN "hideTitleWhenPinned"`); + } + +} diff --git a/src/client/app/common/views/components/page/page.block.vue b/src/client/app/common/views/components/page/page.block.vue new file mode 100644 index 0000000000..1c421fc2c0 --- /dev/null +++ b/src/client/app/common/views/components/page/page.block.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/client/app/common/views/components/page/page.button.vue b/src/client/app/common/views/components/page/page.button.vue new file mode 100644 index 0000000000..87112aca0d --- /dev/null +++ b/src/client/app/common/views/components/page/page.button.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.counter.vue b/src/client/app/common/views/components/page/page.counter.vue new file mode 100644 index 0000000000..8d55319fe9 --- /dev/null +++ b/src/client/app/common/views/components/page/page.counter.vue @@ -0,0 +1,47 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.if.vue b/src/client/app/common/views/components/page/page.if.vue new file mode 100644 index 0000000000..417ef0c553 --- /dev/null +++ b/src/client/app/common/views/components/page/page.if.vue @@ -0,0 +1,30 @@ + + + diff --git a/src/client/app/common/views/components/page/page.image.vue b/src/client/app/common/views/components/page/page.image.vue new file mode 100644 index 0000000000..1285445eb0 --- /dev/null +++ b/src/client/app/common/views/components/page/page.image.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.number-input.vue b/src/client/app/common/views/components/page/page.number-input.vue new file mode 100644 index 0000000000..31da37330a --- /dev/null +++ b/src/client/app/common/views/components/page/page.number-input.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.post.vue b/src/client/app/common/views/components/page/page.post.vue new file mode 100644 index 0000000000..cb695e21e9 --- /dev/null +++ b/src/client/app/common/views/components/page/page.post.vue @@ -0,0 +1,68 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.section.vue b/src/client/app/common/views/components/page/page.section.vue new file mode 100644 index 0000000000..03c009d9c3 --- /dev/null +++ b/src/client/app/common/views/components/page/page.section.vue @@ -0,0 +1,55 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.switch.vue b/src/client/app/common/views/components/page/page.switch.vue new file mode 100644 index 0000000000..53695f1b36 --- /dev/null +++ b/src/client/app/common/views/components/page/page.switch.vue @@ -0,0 +1,43 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.text-input.vue b/src/client/app/common/views/components/page/page.text-input.vue new file mode 100644 index 0000000000..cf917dd5a8 --- /dev/null +++ b/src/client/app/common/views/components/page/page.text-input.vue @@ -0,0 +1,41 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.text.vue b/src/client/app/common/views/components/page/page.text.vue new file mode 100644 index 0000000000..326fd39050 --- /dev/null +++ b/src/client/app/common/views/components/page/page.text.vue @@ -0,0 +1,62 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.textarea-input.vue b/src/client/app/common/views/components/page/page.textarea-input.vue new file mode 100644 index 0000000000..eece59fefb --- /dev/null +++ b/src/client/app/common/views/components/page/page.textarea-input.vue @@ -0,0 +1,36 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.textarea.vue b/src/client/app/common/views/components/page/page.textarea.vue new file mode 100644 index 0000000000..03c8542cb0 --- /dev/null +++ b/src/client/app/common/views/components/page/page.textarea.vue @@ -0,0 +1,33 @@ + + + + + diff --git a/src/client/app/common/views/components/page/page.vue b/src/client/app/common/views/components/page/page.vue new file mode 100644 index 0000000000..99e627fd89 --- /dev/null +++ b/src/client/app/common/views/components/page/page.vue @@ -0,0 +1,218 @@ + + + + + diff --git a/src/client/app/common/views/deck/deck.page-column.vue b/src/client/app/common/views/deck/deck.page-column.vue new file mode 100644 index 0000000000..0ef391a51d --- /dev/null +++ b/src/client/app/common/views/deck/deck.page-column.vue @@ -0,0 +1,69 @@ + + + diff --git a/src/client/app/common/views/deck/deck.user-column.home.vue b/src/client/app/common/views/deck/deck.user-column.home.vue index 56b117a7dd..9fb50a6672 100644 --- a/src/client/app/common/views/deck/deck.user-column.home.vue +++ b/src/client/app/common/views/deck/deck.user-column.home.vue @@ -1,5 +1,11 @@