123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103 |
- // @codekit-prepend "gui.js"
- (function($) {
- MaterioFlag = function(){
-
- /**
- * init()
- */
- function init(){
- trace('init MaterioFlag');
- $(document).bind('flagGlobalAfterLinkUpdate', onFlaging);
- $(document).bind('resultscompleted', onResultsUpdated);
- ajaxifyLinks();
- };
- function onFlaging(event){
- trace('onFlaging', event);
- if($('#block-materio-flag-materio-flag-mybookmarks').length){
- $.getJSON('/materioflag/refresh/block/bookmarks', function(json){
- trace('json', json);
- $('#block-materio-flag-materio-flag-mybookmarks').replaceWith(json.block);
- Drupal.flagLink('#block-materio-flag-materio-flag-mybookmarks');
- // TODO: update flags stars on search results after unflaging from block
- $.event.trigger('mybookmarks-block-updated');
- });
- }
-
- if($('#block-materio-flag-materio-flag-mylists').length){
- $.getJSON('/materioflag/refresh/block/mylists', function(json){
- trace('json', json);
- $('#block-materio-flag-materio-flag-mylists').replaceWith(json.block);
- Drupal.flagLink('#block-materio-flag-materio-flag-mylists');
- // TODO: update flags stars on search results after unflaging from block
- $.event.trigger('mylists-block-updated');
- });
- }
- };
- function onResultsUpdated(event){
- trace('onResultsUpdated', event);
- ajaxifyLinks(event.container);
- };
- function ajaxifyLinks(cont){
- trace('ajaxifyLinks');
- var container = cont || 'body';
- $('a.flag-lists-create:not(.ajax)', container)
- .bind('click', onClickCreatLink)
- .addClass('ajax');
-
- };
- function onClickCreatLink(event){
- event.preventDefault();
- var $link = $(event.currentTarget);
- var type = $link.attr('href').match(/[^\/]*$/);
- // trace('type', type);
- var url = 'materioflag/createlist/form/'+type[0];
- $.getJSON(url, function(json){
- trace('json', json);
- showCreateListForm(json);
- });
- return false;
- }
- function showCreateListForm(json){
- var $modal = $('<div id="modal"/>').appendTo('body');
- $modal
- .css({
- position:'absolute',
- top:'40%', left:'50%',
- marginLeft:'-200px', width:'400px',
- zIndex:"99999"
- })
- .append(json.return);
- // .find('#flag-lists-form').bind('submit', function(event) {
- // trace('submit',event);
- // var title = $(this).find('input[name*="title"]').val();
- // createList(title);
- // return false;
- // });
- };
- function createList(title){
- var url = 'materioflag/createlist/'+title;
- $.getJSON(url, function(json){
- trace('json', json);
- });
- };
-
- init();
- };
- var materioflag = new MaterioFlag();
-
- })(jQuery);
|