So ripped this up to try to auto generate page menu's as a test.
is there no way to endcode the parameter into the MenuItemTag,
there is teh Decode of course but why is there no Encode?
Am i missing something?
Tried passing the Parameters multiple ways Unique, ParameterSet, root, name.
But it does seem to have no easy way to do this is it locked out for some reason?
{================================ Tag Widget =================================}
(
GTL_DoRecursive <:"GetTagList Parameter DoRecursive, Default FALSE":> Status;
GTL_SearchType <:"GetTagList Parameter SearchType, Default FALSE":> Status;
GTL_SearchString <:"GetTagList Parameter SearchString Override, Default *":> Text;
GTL_TagType <:"GetTagList Parameter TagType Override, Default Invalid":> Text;
GTL_AreaSearch <:"GetTagList Parameter AreaSearch Override, Default Invalid":> Text;
GTL_RealmAreaFiltering <:"GetTagList Parameter EnableRealmAreaFiltering Override, Default 0":> Short;
GTL_ExcludeSubordinateTags <:"GetTagList Parameter ExcludeSubordinateTags, Default FALSE":> Status;
GTL_ParmSearchString <:"GetTagList Parameter ParmSearchString, Default Invalid":> Text;
Menuobj Object<MenuItemTag>;
)
[
Shared UserMethods(LIBRARIES);
Title = "uen3Qk7/D";
rawList ;
PageListObj;
x;
Parameters;
PageListName;
FolderName;
SHName = "UWI";
Success; TagParms; NewTags; Errors; Generated;
Shared Custom_Area(POINTS);
]
GetMenuTags [
If 1 Check;
[
FolderName = Concat(Menuobj\Name, "\", \Root\Shortname);
rawList = \GetTagList(PickValid(Menuobj\Name, Invalid), PickValid(GTL_DoRecursive, 0), PickValid(GTL_SearchType, 0), PickValid(GTL_SearchString, "*"), PickValid(GTL_TagType, Invalid), PickValid(GTL_AreaSearch, Invalid), PickValid(GTL_RealmAreaFiltering, 0), 0, 0, 0, PickValid(GTL_ExcludeSubordinateTags, 0), Invalid, PickValid(GTL_ParmSearchString, Invalid));
PageListObj = New(ArraySize(rawList));
X = 0;
WhileLoop(X < ArraySize(rawList),
IfThen(Scope(Self, rawList[X])\Type <> 0, PageListObj[X] = Scope(Self, rawList[X]));
X++;
);
Compress(PageListObj[0], ArraySize(PageListObj));
Parameters = New(Avalid(PageListObj[0], ArraySize(PageListObj)));
PageListName = New(Avalid(PageListObj[0], ArraySize(PageListObj)));
X = 0;
WhileLoop(X < ArraySize(Parameters),
Parameters[X] = \MenuManager.DecodeParms(PageListObj[X].Parameters, TRUE);
PageListName[X] = PickValid(\GetPhrase(PageListObj[X]\ItemDrawLabel), PageListObj[X]\CodeReference);
Generated = Parameters[X][0] <> \Root\UniqueID;
X++;
);
]
]
Check [
If FALSE(Generated) TagWidgetMain;
[
TagParms = Dictionary();
NewTags = Dictionary();
NewTags[FolderName] = "MenuItemTag";
TagParms[FolderName] = Dictionary();
TagParms[FolderName]["Area"] = "System";
TagParms[FolderName]["Type"] = 2;
TagParms[FolderName]["CodeReference"] = PickValid(\GetContainerDetailsPage(\Root\Name, 0), \Root\CustomDetailsPage);
TagParms[FolderName]["Parameters"] = TextEncode(\Root\UniqueID);
TagParms[FolderName]["ItemDrawLabel"] = \Root\Shortname;
TagParms[FolderName]["DisplayOrder"] = 0;
Success = Invalid;
\Code.ModifyTags(&Success, TagParms, NewTags, \GetUserID(), "Add tags", TRUE, FALSE, &Errors);
]
]
TagWidgetMain [
]
So ripped this up to try to auto generate page menu's as a test.
is there no way to endcode the parameter into the MenuItemTag,
there is teh Decode of course but why is there no Encode?
Am i missing something?
Tried passing the Parameters multiple ways Unique, ParameterSet, root, name.
But it does seem to have no easy way to do this is it locked out for some reason?
````
{================================ Tag Widget =================================}
(
GTL_DoRecursive <:"GetTagList Parameter DoRecursive, Default FALSE":> Status;
GTL_SearchType <:"GetTagList Parameter SearchType, Default FALSE":> Status;
GTL_SearchString <:"GetTagList Parameter SearchString Override, Default *":> Text;
GTL_TagType <:"GetTagList Parameter TagType Override, Default Invalid":> Text;
GTL_AreaSearch <:"GetTagList Parameter AreaSearch Override, Default Invalid":> Text;
GTL_RealmAreaFiltering <:"GetTagList Parameter EnableRealmAreaFiltering Override, Default 0":> Short;
GTL_ExcludeSubordinateTags <:"GetTagList Parameter ExcludeSubordinateTags, Default FALSE":> Status;
GTL_ParmSearchString <:"GetTagList Parameter ParmSearchString, Default Invalid":> Text;
Menuobj Object<MenuItemTag>;
)
[
Shared UserMethods(LIBRARIES);
Title = "uen3Qk7/D";
rawList ;
PageListObj;
x;
Parameters;
PageListName;
FolderName;
SHName = "UWI";
Success; TagParms; NewTags; Errors; Generated;
Shared Custom_Area(POINTS);
]
GetMenuTags [
If 1 Check;
[
FolderName = Concat(Menuobj\Name, "\", \Root\Shortname);
rawList = \GetTagList(PickValid(Menuobj\Name, Invalid), PickValid(GTL_DoRecursive, 0), PickValid(GTL_SearchType, 0), PickValid(GTL_SearchString, "*"), PickValid(GTL_TagType, Invalid), PickValid(GTL_AreaSearch, Invalid), PickValid(GTL_RealmAreaFiltering, 0), 0, 0, 0, PickValid(GTL_ExcludeSubordinateTags, 0), Invalid, PickValid(GTL_ParmSearchString, Invalid));
PageListObj = New(ArraySize(rawList));
X = 0;
WhileLoop(X < ArraySize(rawList),
IfThen(Scope(Self, rawList[X])\Type <> 0, PageListObj[X] = Scope(Self, rawList[X]));
X++;
);
Compress(PageListObj[0], ArraySize(PageListObj));
Parameters = New(Avalid(PageListObj[0], ArraySize(PageListObj)));
PageListName = New(Avalid(PageListObj[0], ArraySize(PageListObj)));
X = 0;
WhileLoop(X < ArraySize(Parameters),
Parameters[X] = \MenuManager.DecodeParms(PageListObj[X].Parameters, TRUE);
PageListName[X] = PickValid(\GetPhrase(PageListObj[X]\ItemDrawLabel), PageListObj[X]\CodeReference);
Generated = Parameters[X][0] <> \Root\UniqueID;
X++;
);
]
]
Check [
If FALSE(Generated) TagWidgetMain;
[
TagParms = Dictionary();
NewTags = Dictionary();
NewTags[FolderName] = "MenuItemTag";
TagParms[FolderName] = Dictionary();
TagParms[FolderName]["Area"] = "System";
TagParms[FolderName]["Type"] = 2;
TagParms[FolderName]["CodeReference"] = PickValid(\GetContainerDetailsPage(\Root\Name, 0), \Root\CustomDetailsPage);
TagParms[FolderName]["Parameters"] = TextEncode(\Root\UniqueID);
TagParms[FolderName]["ItemDrawLabel"] = \Root\Shortname;
TagParms[FolderName]["DisplayOrder"] = 0;
Success = Invalid;
\Code.ModifyTags(&Success, TagParms, NewTags, \GetUserID(), "Add tags", TRUE, FALSE, &Errors);
]
]
TagWidgetMain [
]
````