Changeset 2312 in products
- Timestamp:
- May 13, 2010 7:05:47 PM (14 years ago)
- Location:
- quintagroup.referencedatagridfield/branches/plone4/quintagroup/referencedatagridfield
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
quintagroup.referencedatagridfield/branches/plone4/quintagroup/referencedatagridfield/_field.py
r2308 r2312 33 33 'macro': "referencedatagridwidget", 34 34 'helper_css': ('datagridwidget.css','referencedatagridwidget.css'), 35 'helper_js': ('referencebrowser.js', 'datagridwidget.js', ),35 'helper_js': ('referencebrowser.js', 'datagridwidget.js', 'referencedatagridwidget.js'), 36 36 'force_close_on_insert': True, 37 37 'popup_name': 'datagridref_popup', -
quintagroup.referencedatagridfield/branches/plone4/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencebrowser.js
r2311 r2312 1 jq(function() { 2 3 // the overlay itself 4 jq('.addreference').overlay({ 5 closeOnClick: false, 6 onBeforeLoad: function() { 7 ov = jq('div#content').data('overlay'); 8 // close overlay, if there is one already 9 // we only allow one referencebrowser per time 10 if (ov) {ov.close(); } 11 var wrap = this.getContent().find('.overlaycontent'); 12 var src = this.getTrigger().attr('src'); 13 var srcfilter = src + ' >*'; 14 wrap.data('srcfilter', srcfilter); 15 jq('div#content').data('overlay', this); 16 resetHistory(); 17 wrap.load(srcfilter); 18 }, 19 onLoad: function() { 20 widget_id = this.getTrigger().attr('rel').substring(6); 21 disablecurrentrelations(widget_id); 22 }}); 23 24 // the breadcrumb-links and the links of the 'tree'-navigation 25 jq('[id^=atrb_] a.browsesite').live('click', function(event) { 26 var target = jq(this); 27 var src = target.attr('href'); 28 var wrap = target.parents('.overlaycontent'); 29 var srcfilter = src + ' >*'; 30 pushToHistory(wrap.data('srcfilter')); 31 wrap.data('srcfilter', srcfilter); 32 // the history we are constructing here is destinct from the 33 // srcfilter-history. here we construct a selection-widget, which 34 // is available, if the history_length-parameter is set on the widget 35 // the srcfilter-history is used for storing the URLs to make the 36 // 'Back'-link work. 37 var newoption = '<option value="' + src + '">' + target.attr('rel') + '</option>'; 38 refreshOverlay(wrap, srcfilter, newoption); 39 return false; 40 }); 41 42 // the links for inserting referencens 43 jq('[id^=atrb_] input.insertreference').live('click', function(event) { 44 var target = jq(this); 45 var wrap = target.parents('.overlaycontent'); 46 var fieldname = wrap.find('input[name=fieldName]').attr('value'); 47 var multi = wrap.find('input[name=multiValued]').attr('value'); 48 var close_window = wrap.find('input[name=close_window]').attr('value'); 49 var title = target.parents('tr').find('img').attr('alt'); 50 var uid = target.attr('rel'); 51 refbrowser_setReference(fieldname, uid, title, parseInt(multi)); 52 if (close_window === '1') { 53 overlay = jq('div#content').data('overlay'); 54 overlay.close(); 55 } else { 56 showMessage(title); 57 }; 58 jq(this).attr('disabled', 'disabled'); 59 }); 60 61 62 // the history menu 63 jq('[id^=atrb_] form#history select[name=path]').live('change', function(event) { 64 var target = jq(this); 65 var wrap = target.parents('.overlaycontent'); 66 src = jq('[id^=atrb_] form#history select[name=path] :selected').attr('value'); 67 var srcfilter = src + ' >*'; 68 refreshOverlay(wrap, srcfilter, ''); 69 return false; 70 }); 71 72 // the search form 73 jq('[id^=atrb_] form#search input[name=submit]').live('click', function(event) { 74 var target = jq(this); 75 var src = target.parents('form').attr('action'); 76 var wrap = target.parents('.overlaycontent'); 77 var fieldname = wrap.find('input[name=fieldName]').attr('value'); 78 var fieldrealname = wrap.find('input[name=fieldRealName]').attr('value'); 79 var at_url = wrap.find('input[name=at_url]').attr('value'); 80 var searchvalue = wrap.find('input[name=searchValue]').attr('value'); 81 var multi = wrap.find('input[name=multiValued]').attr('value'); 82 var close_window = wrap.find('input[name=close_window]').attr('value'); 83 qs = 'searchValue=' + searchvalue + '&fieldRealName=' + fieldrealname + 84 '&fieldName=' + fieldname + '&multiValued=' + multi + 85 '&close_window' + close_window + '&at_url=' + at_url; 86 var srcfilter = src + '?' + qs + ' >*'; 87 pushToHistory(wrap.data('srcfilter')); 88 wrap.data('srcfilter', srcfilter); 89 refreshOverlay(wrap, srcfilter, ''); 90 return false; 91 }); 92 1 prepareRefPopup = function(context) { 2 jq(function() { 3 4 // the overlay itself 5 jq('.addreference', context).overlay({ 6 closeOnClick: false, 7 onBeforeLoad: function() { 8 ov = jq('div#content', this).data('overlay'); 9 // close overlay, if there is one already 10 // we only allow one referencebrowser per time 11 if (ov) {ov.close(); } 12 var wrap = this.getContent().find('.overlaycontent'); 13 var src = this.getTrigger().attr('src'); 14 var srcfilter = src + ' >*'; 15 wrap.data('srcfilter', srcfilter); 16 jq('div#content', this).data('overlay', this); 17 resetHistory(); 18 wrap.load(srcfilter); 19 }, 20 onLoad: function() { 21 widget_id = this.getTrigger().attr('rel').substring(6); 22 disablecurrentrelations(widget_id); 23 }}); 24 25 // the breadcrumb-links and the links of the 'tree'-navigation 26 jq('[id^=atrb_] a.browsesite', context).live('click', function(event) { 27 var target = jq(this); 28 var src = target.attr('href'); 29 var wrap = target.parents('.overlaycontent'); 30 var srcfilter = src + ' >*'; 31 pushToHistory(wrap.data('srcfilter')); 32 wrap.data('srcfilter', srcfilter); 33 // the history we are constructing here is destinct from the 34 // srcfilter-history. here we construct a selection-widget, which 35 // is available, if the history_length-parameter is set on the widget 36 // the srcfilter-history is used for storing the URLs to make the 37 // 'Back'-link work. 38 var newoption = '<option value="' + src + '">' + target.attr('rel') + '</option>'; 39 refreshOverlay(wrap, srcfilter, newoption); 40 return false; 41 }); 42 43 // the links for inserting referencens 44 jq('[id^=atrb_] input.insertreference', context).live('click', function(event) { 45 var target = jq(this); 46 var wrap = target.parents('.overlaycontent'); 47 var fieldname = wrap.find('input[name=fieldName]').attr('value'); 48 var multi = wrap.find('input[name=multiValued]').attr('value'); 49 var close_window = wrap.find('input[name=close_window]').attr('value'); 50 var title = target.parents('tr').find('img').attr('alt'); 51 var uid = target.attr('rel'); 52 refbrowser_setReference(fieldname, uid, title, parseInt(multi)); 53 if (close_window === '1') { 54 overlay = jq('div#content', this).data('overlay'); 55 overlay.close(); 56 } else { 57 showMessage(title); 58 }; 59 jq(this).attr('disabled', 'disabled'); 60 }); 61 62 63 // the history menu 64 jq('[id^=atrb_] form#history select[name=path]', context).live('change', function(event) { 65 var target = jq(this); 66 var wrap = target.parents('.overlaycontent'); 67 src = jq('[id^=atrb_] form#history select[name=path] :selected', this).attr('value'); 68 var srcfilter = src + ' >*'; 69 refreshOverlay(wrap, srcfilter, ''); 70 return false; 71 }); 72 73 // the search form 74 jq('[id^=atrb_] form#search input[name=submit]', context).live('click', function(event) { 75 var target = jq(this); 76 var src = target.parents('form').attr('action'); 77 var wrap = target.parents('.overlaycontent'); 78 var fieldname = wrap.find('input[name=fieldName]').attr('value'); 79 var fieldrealname = wrap.find('input[name=fieldRealName]').attr('value'); 80 var at_url = wrap.find('input[name=at_url]').attr('value'); 81 var searchvalue = wrap.find('input[name=searchValue]').attr('value'); 82 var multi = wrap.find('input[name=multiValued]').attr('value'); 83 var close_window = wrap.find('input[name=close_window]').attr('value'); 84 qs = 'searchValue=' + searchvalue + '&fieldRealName=' + fieldrealname + 85 '&fieldName=' + fieldname + '&multiValued=' + multi + 86 '&close_window' + close_window + '&at_url=' + at_url; 87 var srcfilter = src + '?' + qs + ' >*'; 88 pushToHistory(wrap.data('srcfilter')); 89 wrap.data('srcfilter', srcfilter); 90 refreshOverlay(wrap, srcfilter, ''); 91 return false; 92 }); 93 94 }); 95 }; 96 97 jq(document).ready(function(){ 98 prepareRefPopup(this); 93 99 }); 100 jq.fn.prepRefPopup = function() { 101 prepareRefPopup(this); 102 }; 94 103 95 104 function disablecurrentrelations (widget_id) { -
quintagroup.referencedatagridfield/branches/plone4/quintagroup/referencedatagridfield/skins/referencedatagridfield/referencedatagridwidget.pt
r2296 r2312 77 77 <a class="referencedatagridwidget-add-button" id="datagridwidget-add-button" 78 78 tal:condition="field/allow_insert" 79 tal:attributes='onclick python: "dataGridFieldFunctions.addR ow(\"" + field.getName() + "\")"'>Add new</a>79 tal:attributes='onclick python: "dataGridFieldFunctions.addReferenceDataGridRow(\"" + field.getName() + "\")"'>Add new</a> 80 80 81 81 <tal:comment replace="nothing">
Note: See TracChangeset
for help on using the changeset viewer.