close folder chooser dialog when folder is selected

This commit is contained in:
Uwe Steinmann 2013-05-17 08:47:04 +02:00
parent 487f6b1806
commit 7ea3c9a73a
2 changed files with 12 additions and 16 deletions

View File

@ -704,25 +704,17 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
} /* }}} */ } /* }}} */
function printFolderChooser($formName, $accessMode, $exclude = -1, $default = false) { /* {{{ */ function printFolderChooser($formName, $accessMode, $exclude = -1, $default = false) { /* {{{ */
?>
<script language="JavaScript">
var openDlg;
function chooseFolder<?php print $formName ?>() {
openDlg = open("out.FolderChooser.php?form=<?php echo $formName?>&mode=<?php echo $accessMode?>&exclude=<?php echo $exclude?>", "openDlg", "width=480,height=480,scrollbars=yes,resizable=yes,status=yes");
}
</script>
<?php
print "<input type=\"hidden\" id=\"targetid".$formName."\" name=\"targetid".$formName."\" value=\"". (($default) ? $default->getID() : "") ."\">"; print "<input type=\"hidden\" id=\"targetid".$formName."\" name=\"targetid".$formName."\" value=\"". (($default) ? $default->getID() : "") ."\">";
print "<div class=\"input-append\">\n"; print "<div class=\"input-append\">\n";
print "<input type=\"text\" id=\"choosefoldersearch\" data-provide=\"typeahead\" name=\"targetname".$formName."\" value=\"". (($default) ? htmlspecialchars($default->getName()) : "") ."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" />"; print "<input type=\"text\" id=\"choosefoldersearch\" data-provide=\"typeahead\" name=\"targetname".$formName."\" value=\"". (($default) ? htmlspecialchars($default->getName()) : "") ."\" placeholder=\"".getMLText('type_to_search')."\" autocomplete=\"off\" />";
// print "<button type=\"button\" class=\"btn\" onclick=\"chooseFolder".$formName."(); return false;\">".getMLText("folder")."...</button>"; // print "<button type=\"button\" class=\"btn\" onclick=\"chooseFolder".$formName."(); return false;\">".getMLText("folder")."...</button>";
print "<a data-target=\"#folderChooser\" href=\"out.FolderChooser.php?form=".$formName."&mode=".$accessMode."&exclude=".$exclude."\" role=\"button\" class=\"btn\" data-toggle=\"modal\">".getMLText("folder")."…</a>\n"; print "<a data-target=\"#folderChooser".$formName."\" href=\"out.FolderChooser.php?form=".$formName."&mode=".$accessMode."&exclude=".$exclude."\" role=\"button\" class=\"btn\" data-toggle=\"modal\">".getMLText("folder")."…</a>\n";
print "</div>\n"; print "</div>\n";
?> ?>
<div class="modal hide" id="folderChooser" tabindex="-1" role="dialog" aria-labelledby="folderChooserLabel" aria-hidden="true"> <div class="modal hide" id="folderChooser<?= $formName ?>" tabindex="-1" role="dialog" aria-labelledby="folderChooser<?= $formName ?>Label" aria-hidden="true">
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button> <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="folderChooserLabel"><?php printMLText("choose_target_folder") ?></h3> <h3 id="folderChooser<?= $formName ?>Label"><?php printMLText("choose_target_folder") ?></h3>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<p>Please wait, until document tree is loaded </p> <p>Please wait, until document tree is loaded </p>
@ -731,6 +723,13 @@ class SeedDMS_Bootstrap_Style extends SeedDMS_View_Common {
<button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button> <button class="btn btn-primary" data-dismiss="modal" aria-hidden="true"><?php printMLText("close") ?></button>
</div> </div>
</div> </div>
<script language="JavaScript">
/* Set up a callback which is called when a folder in the tree is selected */
modalFolderChooser<?= $formName ?> = $('#folderChooser<?= $formName ?>');
function folderSelectedCallback<?= $formName ?>(id, name) {
modalFolderChooser<?= $formName ?>.modal('hide');
}
</script>
<?php <?php
} /* }}} */ } /* }}} */

View File

@ -52,23 +52,20 @@ function toggleTree(id){
var targetName; var targetName;
var targetID; var targetID;
function folderSelected(id, name) { function folderSelected(id, name) {
targetName.value = name; targetName.value = name;
targetID.value = id; targetID.value = id;
// window.close(); if(typeof(folderSelectedCallback<?= $form ?>) !== 'undefined')
// return true; folderSelectedCallback<?= $form ?>(id, name);
} }
</script> </script>
<?php <?php
$this->contentContainerStart(); $this->contentContainerStart();
$this->printFoldersTree($mode, $exclude, $rootfolderid); $this->printFoldersTree($mode, $exclude, $rootfolderid);
$this->contentContainerEnd(); $this->contentContainerEnd();
?> ?>
<script language="JavaScript"> <script language="JavaScript">
targetName = document.<?php echo $form?>.targetname<?php print $form ?>; targetName = document.<?php echo $form?>.targetname<?php print $form ?>;
targetID = document.<?php echo $form?>.targetid<?php print $form ?>; targetID = document.<?php echo $form?>.targetid<?php print $form ?>;