UX: How do you use triplat-route to navigate back to the main page?

I’ve been following the video tutorials on the UX framework, and I think I understand how triplat-route works now. However, I’m unsure how to navigate back to the main page from one of my elements in the iron-pages tag. Do I need to have a universal menu across my whole app? I’d prefer not to do that, if possible.

If you defined, in the root page, a home route like this:

<triplat-route id=”homeRoute” name=”home” path=”/”></triplat-route>

Then, inside a child page you can do this:

<triplat-route id=”homeRoute” name=”home”></triplat-route>

_navigateHome: function(){



[Admin: To see other related posts, use the UX tag or UX Framework tag.]

Continue reading

IV96616: Exporting graphic floor map to PDF hangs on Xref layer 0

We can’t export the graphic floor map to PDF from TRIRIGA. The system is “hanging” and not exporting. This is only happening with some drawings and only occurs when using Layer 0 from the Xref file ( xrefdwg | 0 ). If all other layers are off and a layer zero from any Xref is displayed on the graphics section, even if empty, the export will fail to complete.

The export graphic was throwing a malformed XML exception. The root cause was that there was a “1 = 1” element that got pulled in from the layout of an attached Xref onto layer 0 on that Xref. It turns out that, for any text element that contains any equals sign, the process of sending the SVG from the client to server using a Dojo API to post via a hidden input element, resulted in extra double quotes getting sent, and causing the SVG XML to be malformed.

We resolved this by pre-processing the SVG sent to the server to remove these extra double quotes, before sending it to the SVG converter. Moving forward, the export graphic will now successfully export a graphics section that includes text that contains any equals sign. Text that contains both double quotes and equals in it, will get the double quotes removed for technical reasons.

[Admin: To see other related posts, use the Xref tag or SVG tag.]

Continue reading

UX: How do you include the Polymer app-toolbar element?

I would like to use the Polymer <app> elements. I am trying to use <app-toolbar> to create a menu and click on the <app-menu> to display the menu and submenu. But every time I use the <app-toolbar> element, I get an exception.

  • <link rel=”import” href=”../app-toolbar/app-toolbar.html”>
  • http:// XXXXXX:12121/p/components/r/en-US/l/app-toolbar/app-toolbar.html

After more research, it seems that the <app> components are not included in the bower-components dependencies. How can I include this? Am I missing something?

Continue reading

UX: How do you manually fix the triplat-graphics-layer-manager?

I’m having an issue with triplat-graphics-layer-manager.html which I can easily fix, but I’m not sure where to start. Can I download it, add it to my view, and use it? Or do I need to do something else?

The issue is that I have 20-30 layers that are enabled by default in the Layer Manager, but I want to hide them from UX. From that list, if the drawing is missing the layer, the code errors out. The fix is to add a check for the element before trying to hide it. If any TRIRIGA developers want to look at it, here is the error code/line:

Uncaught TypeError: Cannot read property 'style' of undefined @ triplat-graphic-layer-manager.html:54

Before line 54, I just need to do a check on: typeof layer != “undefined”, and I think it should be fine. Please let me know how I can get this fix into my environment as it is critical, and I’m having major issues with iPads rendering my drawings.

Continue reading

UX: How do you update the value of one element from another?

To update an element’s value that has a data binding from another element’s value (or other elements’ values), for example, a paper-input, you can set the attribute on-change for the paper-input to a custom function. You can define the custom function to set the element’s value however you want, for example, copy or concatenation.

In the example code, I mimic the classic Employee form to update the full name by concatenating the first name and last name on change. The updated value will be reflected on the element. You can virtually apply this concept to other types of elements and with other types of events. The important point is that what you once needed a workflow for, can be replaced by a simple JavaScript function…

Continue reading