From 0a2675d8b698302e50cb64ce5793ab9d22dee329 Mon Sep 17 00:00:00 2001 From: Fabio Comuni Date: Wed, 28 Mar 2012 10:49:34 +0200 Subject: [PATCH] filer: replace "file as" prompt with combobox opened in fancybox --- mod/filer.php | 16 +++++++++-- view/filer_dialog.tpl | 4 +++ view/jot-header.tpl | 39 ++++++++++++++++++++------- view/theme/dispy-dark/jot-header.tpl | 40 +++++++++++++++++++++------- view/theme/dispy/jot-header.tpl | 40 +++++++++++++++++++++------- view/theme/testbubble/jot-header.tpl | 35 ++++++++++++++++++++++++ 6 files changed, 145 insertions(+), 29 deletions(-) create mode 100644 view/filer_dialog.tpl diff --git a/mod/filer.php b/mod/filer.php index a9e2135361..82537848ba 100755 --- a/mod/filer.php +++ b/mod/filer.php @@ -16,8 +16,20 @@ function filer_content(&$a) { logger('filer: tag ' . $term . ' item ' . $item_id); - if($item_id && strlen($term)) + if($item_id && strlen($term)){ + // file item file_tag_save_file(local_user(),$item_id,$term); - + } else { + // return filer dialog + $filetags = get_pconfig(local_user(),'system','filetags'); + $filetags = explode("][", trim($filetags,"[]")); + $tpl = get_markup_template("filer_dialog.tpl"); + $o = replace_macros($tpl, array( + '$field' => array('term', t("File as:"), '', '', $filetags, t('- select -')), + '$submit' => t('Save'), + )); + + echo $o; + } killme(); } diff --git a/view/filer_dialog.tpl b/view/filer_dialog.tpl new file mode 100644 index 0000000000..ae837d6b74 --- /dev/null +++ b/view/filer_dialog.tpl @@ -0,0 +1,4 @@ +{{ inc field_combobox.tpl }}{{ endinc }} +
+ +
diff --git a/view/jot-header.tpl b/view/jot-header.tpl index 99e3aa0ec5..67e5eb6810 100755 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -264,15 +264,36 @@ function enableOnUser(){ } function itemFiler(id) { - reply = prompt("$fileas"); - if(reply && reply.length) { - commentBusy = true; - $('body').css('cursor', 'wait'); - $.get('filer/' + id + '?term=' + reply); - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,3000); - liking = 1; - } + + var bordercolor = $("input").css("border-color"); + + $.get('filer/', function(data){ + $.fancybox(data); + $("#id_term").keypress(function(){ + $(this).css("border-color",bordercolor); + }) + $("#select_term").change(function(){ + $("#id_term").css("border-color",bordercolor); + }) + + $("#filer_save").click(function(e){ + e.preventDefault(); + reply = $("#id_term").val(); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + $.fancybox.close(); + } else { + $("#id_term").css("border-color","#FF0000"); + } + return false; + }); + }); + } function jotClearLocation() { diff --git a/view/theme/dispy-dark/jot-header.tpl b/view/theme/dispy-dark/jot-header.tpl index 4c8f59d796..92eccf7401 100644 --- a/view/theme/dispy-dark/jot-header.tpl +++ b/view/theme/dispy-dark/jot-header.tpl @@ -264,17 +264,39 @@ function enableOnUser(){ } function itemFiler(id) { - reply = prompt("$fileas"); - if(reply && reply.length) { - commentBusy = true; - $('body').css('cursor', 'wait'); - $.get('filer/' + id + '?term=' + reply); - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,3000); - liking = 1; - } + + var bordercolor = $("input").css("border-color"); + + $.get('filer/', function(data){ + $.fancybox(data); + $("#id_term").keypress(function(){ + $(this).css("border-color",bordercolor); + }) + $("#select_term").change(function(){ + $("#id_term").css("border-color",bordercolor); + }) + + $("#filer_save").click(function(e){ + e.preventDefault(); + reply = $("#id_term").val(); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + $.fancybox.close(); + } else { + $("#id_term").css("border-color","#FF0000"); + } + return false; + }); + }); + } + function jotClearLocation() { $('#jot-coord').val(''); $('#profile-nolocation-wrapper').hide(); diff --git a/view/theme/dispy/jot-header.tpl b/view/theme/dispy/jot-header.tpl index 4c8f59d796..92eccf7401 100644 --- a/view/theme/dispy/jot-header.tpl +++ b/view/theme/dispy/jot-header.tpl @@ -264,17 +264,39 @@ function enableOnUser(){ } function itemFiler(id) { - reply = prompt("$fileas"); - if(reply && reply.length) { - commentBusy = true; - $('body').css('cursor', 'wait'); - $.get('filer/' + id + '?term=' + reply); - if(timer) clearTimeout(timer); - timer = setTimeout(NavUpdate,3000); - liking = 1; - } + + var bordercolor = $("input").css("border-color"); + + $.get('filer/', function(data){ + $.fancybox(data); + $("#id_term").keypress(function(){ + $(this).css("border-color",bordercolor); + }) + $("#select_term").change(function(){ + $("#id_term").css("border-color",bordercolor); + }) + + $("#filer_save").click(function(e){ + e.preventDefault(); + reply = $("#id_term").val(); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + $.fancybox.close(); + } else { + $("#id_term").css("border-color","#FF0000"); + } + return false; + }); + }); + } + function jotClearLocation() { $('#jot-coord').val(''); $('#profile-nolocation-wrapper').hide(); diff --git a/view/theme/testbubble/jot-header.tpl b/view/theme/testbubble/jot-header.tpl index b44ea78fdd..0d11da2717 100755 --- a/view/theme/testbubble/jot-header.tpl +++ b/view/theme/testbubble/jot-header.tpl @@ -304,6 +304,41 @@ function initEditor(cb) { } } } + + function itemFiler(id) { + + var bordercolor = $("input").css("border-color"); + + $.get('filer/', function(data){ + $.fancybox(data); + $("#id_term").keypress(function(){ + $(this).css("border-color",bordercolor); + }) + $("#select_term").change(function(){ + $("#id_term").css("border-color",bordercolor); + }) + + $("#filer_save").click(function(e){ + e.preventDefault(); + reply = $("#id_term").val(); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + $.fancybox.close(); + } else { + $("#id_term").css("border-color","#FF0000"); + } + return false; + }); + }); + + } + + function jotClearLocation() { $('#jot-coord').val('');