From 82106632f00dd8dc08ed4d845a4b74be53d5f563 Mon Sep 17 00:00:00 2001 From: Fabio Comuni Date: Wed, 28 Mar 2012 10:43:52 +0200 Subject: [PATCH 1/3] template: field_combobox a text input plus a select wich updates text input value on change. html5 version commented out for poor browsers support. --- view/field_combobox.tpl | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 view/field_combobox.tpl diff --git a/view/field_combobox.tpl b/view/field_combobox.tpl new file mode 100644 index 0000000000..6581330714 --- /dev/null +++ b/view/field_combobox.tpl @@ -0,0 +1,18 @@ + +
+ + {# html5 don't work on Chrome, Safari and IE9 + + + {{ for $field.4 as $opt=>$val }} #} + + + + + $field.3 +
+ From 7aec2fd68d6cec75d14c02b63a150d904aae817e Mon Sep 17 00:00:00 2001 From: Fabio Comuni Date: Wed, 28 Mar 2012 10:45:16 +0200 Subject: [PATCH 2/3] filer: info() on item filed --- include/text.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/text.php b/include/text.php index 6f66cef651..5aaf047291 100644 --- a/include/text.php +++ b/include/text.php @@ -1300,6 +1300,7 @@ function file_tag_save_file($uid,$item,$file) { $saved = get_pconfig($uid,'system','filetags'); if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']'))) set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']'); + info( t('Item filed') ); } return true; } From 0a2675d8b698302e50cb64ce5793ab9d22dee329 Mon Sep 17 00:00:00 2001 From: Fabio Comuni Date: Wed, 28 Mar 2012 10:49:34 +0200 Subject: [PATCH 3/3] 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('');