JasonWoof Got questions, comments, patches, etc.? Contact Jason Woofenden
can choose page layouts, edit sidebar, etc
[wfpl-cms.git] / admin_pages.html
index e6630f5..72252ad 100644 (file)
                                });
                        }
                });
-               function make_wysiwyg(name) {
+               function make_wysiwyg(name, bodyid_postfix) {
                        CKEDITOR.replace(name, {
                                'contentsCss': 'css.css?m=~css.css mtime~',
                                'allowedContent': true,
-                               bodyId: '~$basename~' + '_wysiwyg_' + name,
+                               bodyId: '~$basename~' + '_wysiwyg_' + (bodyid_postfix ? bodyid_postfix : name),
                                'stylesSet': [
                                        { name: 'Paragraph', element: 'p'},
                                        { name: 'Page Headline', element: 'h1'},
                                ]
                        });
                }
+               window.admin_pages_cur_layout = null
+               function admin_pages_layout(layout) {
+                       if (layout === undefined) {
+                               layout = document.getElementById('layout').value
+                       }
+                       if (typeof layout === 'string') {
+                               layout = parseInt(layout);
+                       }
+                       console.log(layout);
+                       if (layout === window.admin_pages_cur_layout) {
+                               return;
+                       }
+                       // hide/show sidebar editor
+                       if (layout === 0) {
+                               document.getElementById('sidebar_editor').style.display = 'none'
+                       } else {
+                               document.getElementById('sidebar_editor').style.display = 'block'
+                       }
+                       // remove existing ckeditors
+                       if (window.admin_pages_cur_layout !== null) {
+                               for (name in CKEDITOR.instances) {
+                                       CKEDITOR.instances[name].destroy();
+                               }
+                       }
+                       // create ckeditors
+                       if (layout === 0) {
+                               make_wysiwyg('content', 'content_full_main');
+                       } else if (layout === 1) {
+                               make_wysiwyg('content', 'content_with_sidebar_main');
+                               make_wysiwyg('sidebar_content', 'content_with_sidebar_sidebar_plain');
+                       } else {
+                               make_wysiwyg('content', 'content_with_sidebar_main');
+                               make_wysiwyg('sidebar_content', 'content_with_sidebar_sidebar_bordered');
+                       }
+
+                       window.admin_pages_cur_layout = layout
+               }
        </script>
        <!--~}~-->
 
                        <div class="field_notes">(If you'd like this page to appear in the navigation with a shorter title.)</div>
                        <div class="field"><input type="text" name="nav_title" value="~nav_title attr~"></div>
 
+                       <div class="caption">Page Template/Layout</div>
+                       <div class="field"><select id="layout" name="layout" onchange="return admin_pages_layout()"><!--~layout options~--></select></div>
+
                        <div class="caption">Page Contents</div>
                        <div class="field_notes">
                                <ul class="first">
                                        <li>To insert an image: place the cursor at the beginning of a line and click the "insert image" button in the editor. Note that you will only be able to insert images that you have already uploaded on the <a href="admin_images" target="_blank">manage images</a> page.</li>
                                </ul>
                        </div>
-                       <div class="field"><textarea class="html_editor" rows="20" cols="50" id="content" name="content">~content html~</textarea><script>make_wysiwyg('content');</script></div>
+                       <div class="field"><textarea class="html_editor" rows="20" cols="50" id="content" name="content">~content html~</textarea></div>
+
+                       <div id="sidebar_editor" style="display: ~sidebar_editor_display~">
+                               <div class="caption">Sidebar Contents</div>
+                               <div class="field_notes">
+                                       <ul class="first">
+                                               <li>Ditto to the notes above "Page Contents" field.</li>
+                                               <li>Centered images appear smaller in this editor than on the real page.</li>
+                                               <li>Don't use the "Insert on Left" and "or Insert on Right" options for images inserting images in this sidebar.</li>
+                                       </ul>
+                               </div>
+                               <div class="field"><textarea class="html_editor" rows="20" cols="50" id="sidebar_content" name="sidebar_content">~sidebar_content html~</textarea></div>
+                       </div>
+
+                       <script>admin_pages_layout()</script>
 
                        <!--
                        <div class="caption">Description</div>