I have a list displayed inside a web block. I need the system function that when I right click the filename displayed, and select open in new tab, the file preview will display on the new tab but when I tried doing it, the new tab goes to the url * about:blank#blocked * . What could possibly be the reason for this and how can i resolve this? Thank you
This is should work, although it is for left click, I am sure an extended property call onRightclick or something along those lines will work.
In the Interface tab right click your UIFlow (For me it is called Common)
Add External Site
Rename External Site to "ExternalURL"
Right click ExternalURL
Add Input Parameter
Name the new Input "URL"
Set Is Manditory as Yes
Set Data Type as Text
On your link properties
Set Destination to UIFlowName\ExternalURL (For me it is called Common\ExternalURL)
Set URL to your desired address (example: "http://google.com")
Add an Extended Property called "formtarget"
Set its value to "_blank"
Related
I am working on an application which I used pdfkit to implement that, and it shows and save pdf files.
My problem is that when I receive a pdf file in my email and then I want to save that pdf file in that application, when I click on save button it suggests this page to me but my application is not in the list. How can I make sure that my application also comes in this list as a suggested app?
Refer this link:
https://developer.apple.com/library/content/qa/qa1587/_index.html.
You need to register the document types that your application can open with iOS. To do this you need to add a document type to your app’s Info.plist for each document type that your app can open. Additionally if any of the document types are not known by iOS, you will need to provide an Uniform Type Identifier (UTI) for that document type.
Adding A Document Type:
To add the document type do the following:
In your Xcode project, select the target you want to add the document type to.
1.Select the Info tab.
2.Click on the disclosure button for Document Types to open the document types.
3.Click the “+” button.
In the newly created document type :
4.Type the name of the document type.
5.In the “Types” section fill in the UTI for the new type.
6.Provide an icon for the document.
7.Click the disclosure triangle to open Additional document type properties.
8.Click in the table to add a new key and value.
9.For the key value type: CFBundleTypeRole.
10.For the value type: Editor.
11.Click the + button to add another key/value pair.
12.For the key value type: LSHandlerRank.
13.For the value type: Owner.
Adding A Custom UTI:
If the document type you are adding is a custom document type, or a document type that iOS does not already know about, you will need to define the UTI for the document type. To add a new UTI do the following:
In your Xcode project select the target you want to add the new UTI to.
Select the Info tab.
1.Click on the disclosure button for Exported UTIs.
2.Click the “+” button.
3.Select “Add Exported UTI”.
4.In the Description field, fill in a description of the UTI.
5.In the Identifier field, fill in the identifier for the UTI.
6.In the Conforms To field fill in the list of UTIs that this new UTI conforms to.
7.Toggle the “Additional exported UTI properties” disclosure triangle to open up a table where you can add some additional information.
8.Click in the empty table and a list of items that can be added to the table will be displayed.
9.Type in “UTTypeTagSpecification”.
10.Set the type to Dictionary.
11.Click the disclosure triangle to open it, and click the + button in the table row to add an entry.
12.For the “New item” change the name to “public.filename-extension”.
13.For the type of the item change it to “Array”.
14.Toggle open the item you just added and click the + button in the table row.
15.For item 0 change the “value” to the file extension of your document. For example, txt, pdf, docx, etc.
The easiest way to test your custom document type is to email your custom file to your iOS device. Navigate to the email and ensure that the attachment is there. Tap and hold the document attachment icon. This should open a popover on the iPad, or an action sheet on the iPhone, that shows all of the apps that open your document type. Your app should show up in the list. Tap your app icon and your app should launch and receive the document from the email.
You need to create Action Extension.
Take a look at PSPDFKit's article.
To be able to filter out items that should not be rendered with .Where("Visible") I need a property called umbracoNaviHide that returns true or false.
In earlier versions this was added to the Generic tab. However now you cant append to that tab anymore.
How would I accomplish hiding pages now?
Here's my foreach:
#foreach (var Area in Model.Content.Children.Where("Visible"))
{
Here's a statement about it. But I cant find any workaround.
Related Changes Summary - 7.4 beta - Option toCannot add properties to the "Generic properties" tab
Description - In the 7.4 beta it's not possible anymore to add
properties to the "Generic properties" tab. I know this has been done
because properties can be a bit hidden on that tab and usually are
better on a separate tab. But there are situations where the
properties are better on that tab.
You can add that property as a true/false datatype to any tab. However, it's important to note that umbracoNaviHide does not do anything special it is just a magic string, that, when implemented as a true/false datatype, it works with
.Where("Visible").
Personally I don't use it anymore. If I need to cause items to be visible or not then I would name the property more specifically. For example, it is often useful when implementing menus where you want some nodes to be visible but not others. I generally have a Menu tab where one of the properties is a true/false type called Show in menu with an alias of showInMenu.
In code it could be something like below (I have used TypedContentAtXPath to get the parent node of a specific doc type. Of course there are various ways of doing this)
var homeNode = Umbraco.TypedContentAtXPath("//MyHomePageDocType").First();
var menuItems = homeNode.Children.Where(item=>item.GetPropertyValue<bool>("showInMenu"));
foreach(var item in menuItems)
{
// Do your menu stuff here
}
Hope that helps
J
You can create a composition for node visibility with a checkbox to show or hide the menu item. And you can inherit this to the doc types that you do not want to show.
And then you can do
_homeNode.Children.Where(x => !x.GetPropertyValue<bool>("hideInNavigation"));
Hope this helps!
Am using Umbraco 4.11.10
Is there a standard way to create a document type property which when updated, automatically syncs with the content node name?
I know this can be done in the Properties section in the Name field but that field cannot be moved from the properties tab and it is a little out of the way - users get confused.
How is this usually done?
Wing
There are some special use umbraco field aliases. One is umbracoUrlName which will override the page url - just add it to your doctype and put it in whichever tab you want to change the url from.
EDIT
Another option would be to create a custom data type and use it to create a field that overwrites the node name. Add a text field as the UI of the custom data type; add an event that is fired whrn the textbox changes and update the name.
http://our.umbraco.org/wiki/reference/api-cheatsheet/modifying-document-properties
// Get the document by its ID
Document doc = new Document(node.Id);
// Get the properties you wish to modify by it's alias and set their value
// the value is saved in the database instantly!
doc.getProperty("name").Value = <input textbox value?;
// After modifying the document, prepare it for publishing
User author = User.GetUser(0);
doc.Publish(author);
// Tell umbraco to publish the document so the updated properties are visible on website
umbraco.library.UpdateDocumentCache(doc.Id);
I am creating a sidebar extension which contains a new tab button which adds a new tab containing some elements to the box contained in my sidebar using javascript with the help of document.createElement() function. Now i want to restore the new tabs added by the user while working with the extension the next time my sidebar is loaded after closing along with all the previous values filled in the textboxes. something like the session restore feature of firefox
As i understand, you are talking about tabbox elements.
You actually have two different XUL documents - one redefined in overlay.xul and sidebar's xul document.
I have solved exactly the same issue with sidebar data storing by the following:
All javascript code is stored as main window's object using something like:
var your_javascript_module = (function () {
//your code here
})();
Put module initialization into scripts.js, reference it from overlay.xul
When you open sidebar (and load, let's say sidebar.xul), you can access this object with the following code:
var your_javascript_module =window.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIWebNavigation)
.QueryInterface(Components.interfaces.nsIDocShellTreeItem)
.rootTreeItem
.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow).your_javascript_module;
Using this, you will have access to all of code from within sidebar.xul scope.
To store taboxe's state - just create some 'storage' object within your_javascript_module and refresh sidebar.xul contents every time sidebar is getting opened.
I'm suggesting putting all javascript into overlay, as it will be always present (until FF is open of course), contrary to the sidebar's scripts that are unloaded on close.
Hope this can still be useful-)
Suppose this is my first screen
a. it contains BasicEditField to enter url.
b. In that screen, on the makeMenu function, we add a menu item "get"
and on clicking get, the requested webpage is retrived. The web page contains JSON object and i parse the JSON object and i get the strings like 1.roll_no 2.name 3.marks.
Now my qyestion is on clicking the get Menuitem, how can i display this strings(I mean parse JSON Object) in anew screen instead of the original screen where i had entered the url. Plz help????
In the Runnable of your MenuItem just have it push a new screen that either has a constructor that you feed the Strings into, or expose some methods on your screen that set the Strings.
If you don't know how to parse JSON (and are using an OS other than 6), check out org.json.me. If you're using 6, the JSON classes are already included.