• ThomasEinasto

    @Jared-Wiltshire

    Is it possible to add custom buttons to <md-toolbar> of the UI simply without doing changes in overrides? I would like to add a userModule component which brings window actions to the toolbar ( minimise, maximise, close)

    Adding custom css so that the toolbar would be draggable can be done in UI settings via custom css and it works perfectly with electron.

    Idea is something like this, so that user would not see the header of the application but everything is styled in css:

    0_1571058857934_8adb39a9-e78c-4cf6-b48c-5bb7523713ed-image.png

    Thanks
    Thomas

    posted in Dashboard Designer & Custom AngularJS Pages read more
  • ThomasEinasto

    @Jared-Wiltshire No problem. Old UI is still existing so no harm done. As this specific functionality is not commonly used then it might happen that sometimes bugs get missed which is why the forum is done essentially to help everybody, IAS staff and the community! :)

    posted in Dashboard Designer & Custom AngularJS Pages read more
  • ThomasEinasto

    Dear IAS staff,

    I am having trouble setting valueAxes minimum value of an ma-serial-chart component.

    Simple example.

                        <ma-serial-chart style="height: 400px; width: 100%;max-height:400px" series-1-values="point4Values" series-1-point="metavolume" series-1-type="column" series-1-axis="left" series-1-color="blue" export="true" legend="true" options="{valueAxes:[{minimum:0}],titles:[{text:'Volume levels'}],export: {'position': 'bottom-right'}}">
                        </ma-serial-chart>
    

    Can you replicate the situation with the chart component ? If I go to the examples menu where the advanced chart is, then it is also not applying minimum value of the options setting which the default example has.

    Edit: Core 3.6.4, advanced components 3.6.0

    Edit 2. Nevermind, got to the cause of the issue. Chart was not allowing min and max due to scaling issues. Will look what can be done to solve this,

    Would like some help for solving this trouble to scale chart for min = 0, start = 35 000

    Edit 3: Have tried bunch of ways and still cant get it to work as I want. Watchlist amcharts setting works perfectly but if assigning manually into the options then the min-max setting fails. What am I doing wrong here?

    Thomas

    posted in Dashboard Designer & Custom AngularJS Pages read more
  • ThomasEinasto

    Dear IAS staff,

    There is a bug in the modbus serial data point saving in the new UI (core 3.6.4, modbus 3.6.4, production).

    When trying to save a modbus point as anything else besides ASCII then it reverts back to ASCII after clicking save. As we have our own solution which we have sold in years which requires points to be saved as UTF-16, the new UI does not let us unfortunately.

    Example: make a fixed length string variable with 36 registers and try saving it in UTF-16BE.

    I can save it in legacy mode but then I guess I should not use the new UI after saving the points. And as copying in legacy is broken because it issues out that "Subclass DWRs must implement method to use" I guess I should bounce between legacy and new UI for creating similar points in the datasource.

    Edit: Or just export the JSON of the points and edit manually and then import the settings back. :)

    Console is also clean and does not show any errors after saving unfortunately. ( Tried using Chrome / Edge )

    Thomas

    posted in Dashboard Designer & Custom AngularJS Pages read more
  • ThomasEinasto

    @hsacontrols said in Mango HTS Dual Ethernet (Individually Addressable):

    I was intending to allocate a different IP address to each of the ports such that I did not require additional ports on a switch ,

    @phildunlap Based on this user is actually connecting the device straight to the port without a gateway/subnet. If I am not mistaken then shouldn't the user configure the system so that one port would act as a DHCP server and then the routing can begin? Or am I wrong here?

    posted in Development general discussion read more
  • ThomasEinasto

    I wanted to copy this response from years ago by you which I found by search but as Mango has changed over the years this was not working anymore.

    @jared-wiltshire said in User permissions to view pages:

    @shaun
    Phillip's post contains a lot of useful information. As he has indicated the best way to restrict users from seeing data they should not be seeing is to set the permissions on the data points and on the JSON store objects.

    However it is also very useful to hide certain navigation links inside your app so your users can't navigate to a page that they will not be able to access any data on. This can be done for menu items by adding a permission property to an object in the MENU_ITEMS array. If you need to hide something in the content of your page you can add a ng-show or ng-if directive, e.g. ng-show="user.hasPermission('superadmin')"

    But as Mango has changed over the years this function was not working anymore :), hence why I tried to provide the best solution I could leverage.

    posted in How-To read more
  • ThomasEinasto

    @craigweb

    Can also vouch for this router. Have used these in our projects and they work without problems

    posted in Hardware read more
  • ThomasEinasto

    Sure there is, look in the forums and you have a lot of information based on what object has permissions variable. i.e
    one can use User.current variable to see what user has been logged in and its options.

    Example:

    {"username":"admin","email":"admin@admin.net","oldHashAlgorithm":false,"grantedPermissions":["excelReports.fileStoreWritePermission","graphical.view.addView","internal.status","action.purgeAllPointValues","SNMP_MIB_STORE_READ","alarms.view","reports.view","graphical.view.upload","filestore.user.create","permissionDatasource","action.log4jUtil","excelreports.view","legacypointdetails.view","graphical.view","filestore.docs.read","dataFileDataSourceREST","watchlist.view","haystack.server","action.noSqlBackup","action.noSqlRestore","mailingLists.create","action.purgeAllEvents","datapointdetails.view","users.view","action.purgeUsingSettings","action.sqlRestore","action.excelReportPurge","SNMP_MIB_STORE_WRITE","filestore.docs.write","filestore.public.write","pointlinks.view","action.configurationBackup","action.reloadLinks","dataImport.view","filestore.core.read","action.reportPurge","permissions.user.editSelf","jsonData.create","permissions.superadmin","filestore.core.write","action.sqlBackup","excelReports.fileStoreReadPermission"],"sessionExpirationOverride":false,"sessionExpirationPeriod":null,"lastLogin":"2019-09-26T17:10:17.653+03:00","lastPasswordChange":"2019-04-17T11:15:25.795+03:00","validationMessages":null,"password":"","phone":"","disabled":false,"homeUrl":"/ui/administration/home","receiveAlarmEmails":"IGNORE","timezone":"","systemTimezone":"Europe/Tallinn","admin":true,"receiveOwnAuditEvents":false,"systemLocale":"en-US","passwordLocked":false,"muted":true,"id":1,"permissions":"superadmin","locale":"","name":"Administrator","originalId":"admin"}
    

    You can see that it has permissions variable. You can use this with ng-disabled directive of an md-switch to something like this

    <md-switch ng-disabled="User.current.permissions !== 'superadmin'" ng-model="myPoint.valueFn" ng-model-options="{getterSetter:true}"></md-switch>
    

    This switch is disabled if user does not have superadmin permissions. One can also leverage the ID of an user and use it like this so that you would not have to explicitly set the permissions to your required user.

    Cheers,
    Thomas

    posted in How-To read more
  • ThomasEinasto

    Hi Rodrigo,

    For solving sms solutions I would personally use a service provider like www.smsapi.com which will send the sms messages for you instead of messing around with 3G modems and such because then you would have to consider that you will always have 3g connectivity and that drivers are also correctly working and such while using the provider you will only have to make sure that the controller is connected to the internet.

    posted in Hardware read more