OSDN Git Service

now supporting url only submission
[newslash/newslash.git] / src / newslash_web / templates / common / article / editor.html.tt2
1 <div class="journal-editor">
2   <div class="alert alert-info" v-show="message">
3     <div v-if="createdUrl">
4       投稿を行いました。URL:<A :href="createdUrl" v-text="createdUrl"></a>
5     </div>
6     <div v-else-if="message == 'duplicated_post'">エラー:すでに同じ内容が投稿されています</div>
7     <div v-else-if="message == 'server_error'">サーバーエラー:投稿に失敗しました</div>
8     <div v-else-if="message == 'no_title'">エラー:タイトルがありません</div>
9     <div v-else-if="message == 'no_content'">エラー:本文かURLを指定してください</div>
10     <div v-else-if="message == 'invalid_email'">エラー:不正なメールアドレスです</div>
11     <div v-else-if="message == 'invalid_url'">エラー:不正なURLです</div>
12     <div v-else v-text="message"></div>
13   </div>
14   <form id="post-submission" v-show="showForm">
15
16     <p class="form-group">
17       <label for="post-title">タイトル(必須):</label>
18       <input id="post-title" type="text" class="form-control" name="title" v-model="editor.title" placeholder="タイトル" />
19     </p>
20
21     <div class="form-inline" v-if="item.content_type == 'story'">
22       <p class="form-group">
23         <label for="post-createtime" >日時(JST):</label>
24         <input id="post-createtime" type="datetime-local" class="form-control" name="createtime" v-model="editor.createtime" placeholder="2017/01/01 12:00:00" value="[% date.format(date.now, "%FT%T") %]"/>
25       </p>
26       <p class="form-group">
27         <label for="post-author" >編集者:</label>
28         <select id="post-author" class="form-control" name="author" v-model="editor.author" >
29           [%- FOREACH author IN authors -%]
30           <option value="[% author.nickname %]" [% IF author.uid == user.uid && !x_template %]selected="selected"[% END %]>[% author.nickname %]</option>
31           [%- END -%]
32         </select>
33       </p>
34     </div>
35
36     <p class="form-group" v-if="item.content_type == 'story'">
37       <label for="post-dept">部門名</label>
38       <input id="post-dept" type="text" class="form-control" name="dept" v-model="editor.dept" placeholder="部門名" />
39     </p>
40    
41     <p class="form-group">
42       <label for="post-introtext">本文:</label>
43       <textarea id="post-introtext" name="introtext" class="form-control" v-model="editor.introtext" placeholder="本文をここに記述してください" ></textarea>
44     </p>
45
46     <p class="form-group" v-if="item.content_type == 'story'">
47       <label for="post-bodytext">続きの本文:</label>
48       <textarea id="post-bodytext" name="bodytext" class="form-control" v-model="editor.bodytext" placeholder="続きの本文をここに記述してください" ></textarea>
49     </p>
50
51     <p class="form-group" v-if="item.content_type == 'submission'">
52       <label for="post-url">URL(本文がない場合は必須):</label>
53       <input id="post-url" type="text" class="form-control" name="url" v-model="editor.url" placeholder="重要なURLを1つ(任意)" />
54     </p>
55
56     <p class="form-group" v-if="item.content_type == 'submission'">
57       <label for="post-email">投稿者のメールアドレス/URL(任意):</label>
58       <input id="post-email" type="text" class="form-control" name="email" v-model="editor.email" placeholder="メールアドレスかURL" />
59     </p>
60
61     <div class="tag-editor">
62       <label for="tag-single">タグ(空白区切り、任意):</label>
63       <div class="form-group">
64         <input type="text" class="form-control" id="tag-single"
65                v-model="editor.tags_string">
66       </div>
67
68       <div class="topics">
69         <label>トピックス(タグに応じて自動的に設定されます):</label>
70         <ol class="list-inline">
71           <li v-for="topic in currentTopics">
72             <img :src="topicIconURL(topic)" v-show="topicIconURL(topic)" />
73             <span v-text="topic"></span>
74           </li>
75         </ol>
76       </div>
77
78     </div>
79     
80     <div  class="form-group" v-if="item.content_type == 'story'">
81       <label for="post-add_related">関連ストーリー:</label>
82       <div class="related-stories">
83         <ul v-for="rel in item.related">
84           <li v-if="rel.type == 'story'"><a :href="'/story/' + rel.key_id" v-text="rel.title"></a></li>
85         </ul>
86       </div>
87       <textarea id="post-add_related" name="add_related" class="form-control" v-model="editor.related_urls" placeholder="関連ストーリー(1行に1URL)" ></textarea>
88     </div>
89
90     <div class="form-inline" v-if="item.content_type == 'story'">
91       <p class="form-group">
92         <label for="post-mediaurl">メディアURL:</label>
93         <input id="post-mediaurl" type="text" class="form-control" name="mediaurl" v-model="editor.mediaurl" placeholder="URL" />
94       </p>
95       <p class="form-group">
96         <label for="post-mediatype">メディアタイプ:</label>
97         <select id="post-mediatype" class="form-control" name="mediatype" v-model="editor.mediatype">
98           <option value="youtube">YouTube</option>
99         </select>
100       </p>
101     </div>
102
103     <div class="form-inline" v-if="editor.content_type == 'story' || editor.content_type == 'journal'">
104       <p class="form-group">
105         <label for="post-commentstatus">コメント設定:</label>
106         <select id="post-commentstatus" class="form-control" name="commentstatus" v-model="commentstatus">
107           <option value="disabled">コメント無効</option>
108           <option value="enabled"[% IF !x_template %] selected="selected"[% END %]>コメント有効</option>
109           <option value="friends_fof_only">トモダチとそのトモダチ</option>
110           <option value="friends_only">トモダチのみ</option>
111           <option value="logged_in">ログインユーザのみ</option>
112           <option value="no_foe">テキじゃないみんな</option>
113           <option value="no_foe_eof">テキとトモダチのテキ以外</option>
114         </select>
115       </p>
116
117       <p class="checkbox" v-if="item.content_type == 'story'">
118         <label>
119           <input type="checkbox" id="post-display" name="display" v-model="editor.display" value="1" [% IF !x_template %]checked="checked"[% END %]/>
120           管理者や編集者以外にも表示
121         </label>
122       </p>
123     </div>
124
125     <p class="checkbox" v-show="!item.id && item.content_type == 'journal'">
126       <label>
127         <input type="checkbox" id="post-submissioncopy" name="submissioncopy" v-model="editor.submissioncopy" value="1" />
128         日記のコピーをタレコミとして投稿する
129       </label>
130     </p>
131
132     <div class="submit">
133       <button type="submit" class="btn btn-primary" v-on:click.prevent="showPreview">投稿確認</button>
134       <button type="button" class="btn btn-default"
135               v-if="cancelable"
136               v-on:click.prevent="cancelEdit">キャンセル</button>
137     </div>
138   </form>
139
140   <form id="post-submit" v-show="showSubmit">
141     <p>
142       <button type="submit" class="btn btn-default" v-on:click.prevent="postItem" :disabled="disablePost">投稿</button>
143       <button type="button" class="btn" v-on:click="leavePreview" :disabled="disablePost">戻る</button>
144     </p>
145   </form>
146 </div>