Opening the viewer for folder/file selection (/#glob/filepath)
The window for selecting the folder/file is opened by the
Pm.CreateView method. In the
sViewPath parameter the global path
"/#glob/filepath" is entered.
This viewer
is not functional in
Web panels.
Syntax:
JavaScriptVBScriptSelect and copy to clipboard
var oCreator = Pm.CreateView(oFrom, "/#glob/filepath", sViewPars, sFramePars);
oCreator.Open();
Dim oCreator
Set oCreator = Pm.CreateView(oFrom, "/#glob/filepath", sViewPars, sFramePars)
oCreator.Open
Viewer parameters:
oFrom | (Object) The object, which will mediate the opening of the viewer.
The object specifies the origin of the path, the relative position of the window, the parent, etc..
- The null value means the usage of:
- If the the PmgFrame object is entered here (in the script of the Pmg object), then the viewer opens in this frame.
- If the the PmaPanel object is entered here (in the script of the Pma object), then the viewer opens in this selected object.
See the PmViewCreator.From property. |
sViewPars | (String) Viewer parameters (they differ for various viewer types)
Entries are in the KeyVal format, for example "name1:value1;name2:value2;".
See the PmViewCreator.View property.
Viewer parameters:
initValue | [optional] (String) Initial selection of file/folder, preferably as PROMOTIC path to files and folders. |
mode | [optional] (Long) (Long) Selection mode. Specifies whether the result is a path to the file or to folder.
1 (default) - File selection.
2 - Folder selection. |
roots | [optional] (PmMap) A list of selection origins (root) (logic folders, physical discs, ...) in the form of embedded map (Submap). In order to easily create/set an embedded map (Submap) in another map's item the PmMap.mapSetSubmapAt method can be used. This method creation of the submap in the item and can add multiple items from a string in the KeyVal format.
Each selection origin (root) is constituted by a pair of values: description (titleN) and value (valueN), where N is the index (zero-based index). The titles (titleN) are optional. For example in the original KeyVal notation before transfering into the PmMap object, the entry could look like this: "title0:Boiler1;value0:#data:Boiler1/;title1:Boiler2;value1:#data:Boiler2/;"
If not set, then there will be only a single selection origin defined by initValue.
The allowed values (valueN) of selection origins (root) are:
#xx:yy/zz - PROMOTIC paths including the subfolders, e.g. "value0:#pmres:Img/;value1:#appres:Img/;"
disk: - Devices as drive letters, e.g. "value0:c:;value1:d:;"
disk:yy/zz - Paths as drive letters including subfolders, e.g. "value0:c:\Temp\;value0:d:\Data\;"
$disks - All mapped physical drive devices (drive letters) are added automatically, e.g. "value0:$disks;" |
hide | [optional] (Long) Allows to define what is to be hidden.
0 (default) - Show all.
1 - Hide subfolders.
2 - Hide files. |
existence | [optional] (Long) Allows to set whether the selected file/folder (non)existence is tested.
0 (default) - Not tested.
1 - Confirmation if the selected file/folder already exists.
10 - The selected file/folder must exist.
11 - The selected file/folder must not exist. |
defaultExt | [optional] (String) Default new file extension if if not defined otherwise. For example "csv". |
filter | [optional] (PmMap) A list of displayed file filters in the form of embedded map (Submap). In order to easily create/set an embedded map (Submap) in another map's item the PmMap.mapSetSubmapAt method can be used. This method creation of the submap in the item and can add multiple items from a string in the KeyVal format.
Each filter is constituted by a pair of values: description (titleN) and value (valueN), where N is the index (zero-based index). The titles (titleN) are optional. For example in the original KeyVal notation before transfering into the PmMap object, the entry could look like this: "title0:Images;value0:*.jpg,*.png,*.bmp;title1:All files;value1:*.*;"
If not set, then there will only be a single filter in the selection for all files. |
title | [optional] (String) Window header, if the window is displayed including header (for target:_blank;) |
onChange | [optional] (Function) The event function for managing the event of viewer modification.
For JavaScript the function is entered.
For VBScript the PmAction object is entered.
The function has a single parameter ev containing information regarding the corresponding event.
ev.value - (String) Currently selected path to the file/folder. |
onClose | [optional] (Function) The event function for managing the event of viewer closing.
For JavaScript the function is entered.
For VBScript the PmAction object is entered.
The function has a single parameter ev containing information regarding the corresponding event.
ev.CloseReason - (String) Identifier of the window closing type.
The value "ok" means a valid selection.
The value "cancel" or "" represent cancelled selection.
ev.ReturnValue - (String) Resulting selected file/folder. |
---|
|
sFramePars | (String) Parameters for the frame where the viewer will be displayed
Entries are in the KeyVal format, for example "target:_blank;".
See the PmViewCreator.Frame property. |
---|
The viewer parameters are in the form of the
PmMap object that is filled from value of the
sViewPars parameter (of the
KeyVal type) in the
Pm.CreateView method.
By filling from the
KeyVal value all the parameters are initially stored as string. The content of the
PmMap object can be then modified as needed - items can be modified, added and deleted.
The
PmMap object can also contain other embedded
PmMap objects (
Submap). The
PmMap.mapSetSubmapAt method can be used in order to create a new
PmMap or make one accessible.
Example1:
Selection of file that is located only in the application folder (only ini, log or all files)
JavaScriptSelect and copy to clipboard
var oCreator = Pm.CreateView(null, "/#glob/filepath", "title:App files;initValue:#app:MyApp.log;mode:1;hide:1;defaultExt:ini;", "target:_blank;modal:1;");
var oView = oCreator.View;
oView.mapSetSubmapAt("filter", "", "title0:Setting log;value0:*.ini,*.log;title1:All files;value1:*.*;");
oView.onClose = function(ev)
{
Pm.Debug("onClose ReturnValue=" + ev.ReturnValue);
};
oCreator.Open();
Example3:
Saving the text into a new or selected
txt file in the
Data folder (
#data:). The return value is then processed in function
onClose.
While processing, it is supposed that there is a designer's "
SaveFile" method present in the panel, that receives the parameters and use the
FileTextWrite method to save the file and sends back the saving result.
JavaScriptSelect and copy to clipboard
function onClose(ev)
{
if (ev.CloseReason == "ok")
{
var sFilePath = ev.ReturnValue;
if (sFilePath != "")
{
var sText = "Hello world!";
var bDone = pMe.PmPanel.Methods.SaveFile(sFilePath, sText);
Pm.Debug("Save text to file=" + sFilePath + " is " + bDone);
}
}
}
var oCreator = Pm.CreateView(null, "/#glob/filepath", "title:Create File;initValue:#data:;mode:1;defaultExt:txt;", "target:_blank;modal:1;");
oCreator.View.onClose = onClose;
oCreator.Open();