So i am trying to reuse so code across two separate dashboards. The code is loaded in to a template widget via ng include as below:
<div ng-include="'/static/HabPanelTemplate/Tablet_Den_Switches.html'"></div>
<div ng-include="'/static/HabPanelTemplate/Tablet_Camera_Divs.html'"></div>
What i would like to do is be able in Tablet_Den_Switches.html’
to have a line like
<div ng-init="CameraViewIf='DenCameraView'"></div>
so that i can reuse Tablet_Camera_Divs.htm
and code it something like:
<div ng-if="itemValue(CameraViewIf)=='CameraKioskView'">
<div style="height: 800px">
<div uib-carousel active="0" interval="5000" no-wrap="false">
<div uib-slide index="0" ng-init="model1 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=2&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model1" style="margin:auto;"/>
</div>
<div uib-slide index="1" ng-init="model2 = { 'url':'http:/CameraViewIf/192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=3&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model2" style="margin:auto;"/>
</div>
<div uib-slide index="2" ng-init="model3 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=4&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model3" style="margin:auto;"/>
</div>
<div uib-slide index="3" ng-init="model4 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=5&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model4" style="margin:auto;"/>
</div>
<div uib-slide index="4" ng-init="model5 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=6&scale=100&maxfps=12&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model5" style="margin:auto;"/>
</div>
</div>
</div>
</div>
There are multiple ng-ifs in this file and i would like to use it on different dashboards but there would be a different item to evaluate in the ng-if and i would rather not have to repeat all this code for when i want to make changes (add or remove cameras etc,) The above does not work. Ideas?
here is our it is currently hard coded and working (added second div to show that multiple ng-ifs re in play here)
<div ng-if="itemValue('DenCameraView')=='CameraKioskView'">
<div style="height: 800px">
<div uib-carousel active="0" interval="5000" no-wrap="false">
<div uib-slide index="0" ng-init="model1 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=2&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model1" style="margin:auto;"/>
</div>
<div uib-slide index="1" ng-init="model2 = { 'url':'http:/CameraViewIf/192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=3&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model2" style="margin:auto;"/>
</div>
<div uib-slide index="2" ng-init="model3 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=4&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model3" style="margin:auto;"/>
</div>
<div uib-slide index="3" ng-init="model4 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=5&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model4" style="margin:auto;"/>
</div>
<div uib-slide index="4" ng-init="model5 = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=6&scale=100&maxfps=12&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="model5" style="margin:auto;"/>
</div>
</div>
</div>
</div>
<div ng-if="itemValue('DenCameraView')=='TabletFrontDoorOpen'">
<div style="height: 800px">
<div ng-init="frontDoor = { 'url':'http://192.168.50.5/zm/cgi-bin/nph-zms?mode=jpeg&monitor=2&scale=100&maxfps=15&buffer=1000&user=volfan6415&pass=Pippi1959', 'refresh': 1 }">
<widget-image ng-model="frontDoor" style="margin:auto;"/>
</div>
</div>