|
1 | 1 | <div data-controller="snippets"> |
2 | 2 | <div data-snippets-target="errors"></div> |
3 | 3 |
|
4 | | - <%= form_for @snippet, remote: true, html: { data: { type: "html", action: "ajax:success->snippets#onUpdateSuccess ajax:error->snippets#onUpdateError" } } do |f| %> |
5 | | - <div> |
6 | | - <%= f.text_field :description, { class: "new-snippet--description", placeholder: "Snippet description..." } %> |
7 | | - <%= f.text_area :body, { data: { controller: 'codemirror', codemirror_target: 'mirror', codemirror_modes_value: @languages.to_json, codemirror_code_value: @snippet.body, codemirror_mode_value: @snippet.language.slug, codemirror_initialized_value: false, codemirror_read_only_value: false, }, class: "font-mono h-80 block w-full shadow-sm focus:ring-indigo-500 focus:border-indigo-500 block w-full sm:text-sm border-gray-300 rounded-md" } %> |
8 | | - </div> |
9 | | - |
10 | | - <div class="create-snippet--options-wrapper"> |
11 | | - <div class="flex v-center" style="cursor: pointer;" |
12 | | - data-controller="checkbox" |
13 | | - data-action="click->checkbox#toggle" |
14 | | - data-checkbox-checked-text-value="Public" |
15 | | - data-checkbox-checked-icon-value="/icons/lock-open.svg" |
16 | | - data-checkbox-unchecked-text-value="Private" |
17 | | - data-checkbox-unchecked-icon-value="/icons/lock-closed.svg" |
18 | | - > |
19 | | - <span data-checkbox-target="text">Public</span> |
20 | | - <img data-checkbox-target="icon" src="/icons/lock-open.svg" width="20"> |
21 | | - <%= f.hidden_field :public, value: true, data: { checkbox_target: 'value' } %> |
| 4 | + <div data-controller="codemirror snippets" data-codemirror-modes-value="<%= @languages.to_json %>" data-codemirror-code-value="<%= @snippet.body %>" data-codemirror-mode-value="<%= @snippet.language.slug %>" data-codemirror-initialized-value="false" data-codemirror-read-only-value="false" class="mt-4"> |
| 5 | + <%= form_for @snippet, remote: true, html: { data: { type: "html", action: "ajax:success->snippets#onUpdateSuccess ajax:error->snippets#onUpdateError" } } do |f| %> |
| 6 | + <div> |
| 7 | + <%= f.text_field :description, { class: "new-snippet--description", placeholder: "Snippet description..." } %> |
| 8 | + <%= f.text_area :body, { data: { codemirror_target: 'mirror' }, class: "font-mono h-80 block w-full shadow-sm focus:ring-indigo-500 focus:border-indigo-500 block w-full sm:text-sm border-gray-300 rounded-md" } %> |
22 | 9 | </div> |
23 | | - <div class="flex"> |
24 | | - <%= f.select :language_id, options_from_collection_for_select(@languages, :id, :name, @snippet.language_id), {}, data: { action: 'change->codemirror#updateMode' } %> |
25 | | - <%= f.select :folder_id, options_from_collection_for_select(@folders, :id, :name, @folder.id), prompt: 'Select folder...' %> |
26 | | - <%= f.submit 'Update', class: "button--cta-primary ml-4" %> |
| 10 | + |
| 11 | + <div class="create-snippet--options-wrapper"> |
| 12 | + <div class="flex v-center" style="cursor: pointer;" |
| 13 | + data-controller="checkbox" |
| 14 | + data-action="click->checkbox#toggle" |
| 15 | + data-checkbox-checked-text-value="Public" |
| 16 | + data-checkbox-checked-icon-value="/icons/lock-open.svg" |
| 17 | + data-checkbox-unchecked-text-value="Private" |
| 18 | + data-checkbox-unchecked-icon-value="/icons/lock-closed.svg" |
| 19 | + > |
| 20 | + <span data-checkbox-target="text">Public</span> |
| 21 | + <img data-checkbox-target="icon" src="/icons/lock-open.svg" width="20"> |
| 22 | + <%= f.hidden_field :public, value: true, data: { checkbox_target: 'value' } %> |
| 23 | + </div> |
| 24 | + <div class="flex"> |
| 25 | + <%= f.select :language_id, options_from_collection_for_select(@languages, :id, :name, @snippet.language_id), {}, data: { action: 'change->codemirror#updateMode' } %> |
| 26 | + <%= f.select :folder_id, options_from_collection_for_select(@folders, :id, :name, @folder.id), prompt: 'Select folder...' %> |
| 27 | + <%= f.submit 'Update', class: "button--cta-primary ml-4" %> |
| 28 | + </div> |
27 | 29 | </div> |
28 | | - </div> |
29 | | - <% end %> |
| 30 | + <% end %> |
| 31 | + </div> |
30 | 32 |
|
31 | 33 | </div> |
0 commit comments