source: trunk/skins/lemill/widget_imageselector.pt @ 415

Revision 415, 6.3 KB checked in by vahur, 13 years ago (diff)

closes #446, #447 spent 16h
Presentation template. needs testing with IE and other browsers. works nicely with Mozilla
sorting, reordering and deleting slide is missing.

Line 
1<html xmlns="http://www.w3.org/1999/xhtml"
2      xmlns:tal="http://xml.zope.org/namespaces/tal"
3      xmlns:metal="http://xml.zope.org/namespaces/metal"
4      xmlns:i18n="http://xml.zope.org/namespaces/i18n"
5      i18n:domain="plone">
6
7<head>
8    <title></title>
9</head>
10
11<body>
12
13    <!-- Selection Widgets -->
14
15    <!-- view macro... do something useful here! -->
16    <metal:view_macro define-macro="view">
17        <tal:checkTemplate condition="python:context.getTemplateId() == 'presentation'">
18            <tal:def define="value accessor">
19            <tal:slides repeat="slide value">
20                <div class="presentation-edit-box">
21                    <img src="" alt="" title=""
22                    tal:attributes="src string:${slide/getId}/image_large" />
23                </div>
24                <div tal:content="slide/getDescription"></div>
25                <div class="visualClear" style="height:40px">&nbsp;</div>
26            </tal:slides>
27            </tal:def>
28        </tal:checkTemplate>
29    </metal:view_macro>
30    <!--
31                      tal:define="vocab python:field.Vocabulary(here);
32                                  value python:accessor();
33                                  display python:here.displayValue(vocab, value)"
34                                  tal:replace="display" />
35                                  -->
36
37    <metal:define define-macro="edit">
38    <tal:checkTemplate condition="python:context.getTemplateId() == 'presentation'">
39        <metal:use use-macro="field_macro | here/widgets/field/macros/edit">
40            <metal:fill fill-slot="widget_body">
41            <table style="width:100%"
42                tal:define="slide_refs python:test(context.getRefsToSlides(), context.getRefsToSlides(), [0,0,0,0,0,0,0,0,0])">
43                <tr>
44                    <td style="width:550px">
45            <tal:repeat repeat="n python:range(0,len(slide_refs))">
46            <div class="one-presentation-slide" id="one-presentation-slide-n"
47                tal:attributes="id string:one-presentation-slide-$n"
48                tal:define="slide python:slide_refs[n];
49                            slide_id slide/getId | python:0;
50                            slide_uid slide/UID | python:0;
51                            slide_desc slide/getDescription | string:">
52                <div class="presentation-edit-box" id="presentation-edit-box"
53                    tal:attributes="id string:presentation-edit-box-$n;
54                    style python:test(slide_id!=0, 'background-image:url(\''+str(slide_id)+'/image_large\')', '')">
55                    <div style="height:120px" class="visualClear">&nbsp;</div>
56
57                    <div id="presentation-controls-n"
58                        tal:attributes="id string:presentation-controls-$n;
59                                        style python:test(slide_id!=0, 'display:none', '')">
60                    <div>
61                        Upload a slide...
62                        <input type="hidden"
63                               value="0"
64                               name="presentation-piece-n"
65                               id="presentation-piece-n"
66                               tal:attributes="id string:presentation-piece-$n;
67                                               name string:presentation-piece-$n;
68                                               value slide_uid | python:0"
69                        />
70                        <input id="presentation-file"
71                               type="file"
72                               value=""
73                               name="file_box"
74                               tal:attributes="id string:presentation-file-$n;
75                                               name string:presentation-file-$n"
76                        />
77                        <br />
78                        <input id="presentation-uploadbutton"
79                               type="submit"
80                               name="form.button.uploadSlide"
81                               value="Upload Image"
82                               tal:attributes="id string:presentation-uploadbutton-$n" />
83                    </div>
84                    <div style="height:50px" class="visualClear">&nbsp;</div>
85                    <div>
86                        ... or search from pieces:
87                        <input id="presentation-search"
88                               type="text"
89                               value=""
90                               id="search_box"
91                               tal:attributes="id string:presentation-search-$n" />
92                        <input id="presentation-searchbutton"
93                               type="button"
94                               value="Search"
95                               name="searchButton"
96                               onclick="javascript:search_for_pieces()"
97                               tal:attributes="id string:presentation-searchbutton-$n;
98                                               onclick string:javascript:search_for_pieces(event, $n)"
99                        />
100                    </div>
101                    </div>
102
103                </div>
104                <div id="presentation-caption-div">
105                    Caption for slide:
106                    <div class="visualClear" style="height:1px"></div>
107                    <textarea name="presentation-caption-n" id="presentation-caption-n"
108                        tal:attributes="id string:presentation-caption-$n;
109                                        name string:presentation-caption-$n"
110                        tal:content="slide_desc"></textarea>
111                </div>
112                <div class="visualClear">&nbsp;</div>
113                <div class="visualClear">&nbsp;</div>
114            </div>
115            </tal:repeat>
116            <div id="insertHere"></div>
117        </td>
118        <td style="width:200px">
119            <div id="presentation-search-results">
120                <b>Search results</b>
121                <div id="presentation-search-results-body">
122                    search results here!
123                </div>
124            </div>
125        </td>
126        </tr>
127            </table>
128            </metal:fill>
129            </metal:use>
130    </tal:checkTemplate>
131    </metal:define>
132   
133    <metal:define define-macro="show_small_images">
134    </metal:define>
135
136    <div metal:define-macro="search">
137        <div metal:use-macro="here/imageselection/macros/edit" />
138    </div>
139
140</body>
141
142</html>
Note: See TracBrowser for help on using the repository browser.