Kyle Johnson
27cfe1bd20
Use ng-include instead of php include() in header
2015-02-11 09:33:03 -05:00
Kyle Johnson
c59791bf9b
Rename state.php to state.html
2015-02-11 09:30:16 -05:00
Kyle Johnson
ac6de04bb7
Remove php from state view
2015-02-11 09:28:50 -05:00
Kyle Johnson
40f12b7267
Remove legacy running check in header.php
2015-02-11 09:26:43 -05:00
Kyle Johnson
f7798797a0
Fix layout of Console view.
...
Per bootstrap, only .col- should be a child of .row
Also removed the sidebar in the console view, it is now part of
list mode in the console view
2015-02-11 08:59:58 -05:00
Kyle Johnson
b6da855d72
Rework of the Console / Monitors view.
...
We now have two views - grid or list. Grid view will be montage
and doesn't have any 'admin' functions. List view has admin
functions: delete, edit, add, etc.
If there are no monitors, such as in a new install, the view is
replaced by an alert which states that there are no monitors, and
provides a link for adding a monitor.
* http://i.imgur.com/LinFQsN.png
* http://i.imgur.com/mwkOgzR.png
* http://i.imgur.com/BrEjzYL.png
2015-02-10 09:58:34 -05:00
Kyle Johnson
d5b8cd2f78
Surround ng-true-value and ng-false-value with '
2015-02-02 19:16:01 -05:00
Kyle Johnson
52fd26cc5d
Remove the footer from the options view
2015-02-02 19:09:27 -05:00
Kyle Johnson
8ba365b42f
Display Options tabs vertically.
...
In the 'Options' view, show the tabs horizontally via bootstrap's
grid layout.
2015-02-02 15:33:40 -05:00
Kyle Johnson
32ca007f74
Fix bug: Frames button did not properly swap text
2015-01-27 11:26:01 -05:00
Kyle Johnson
e89e63c5e4
Add frontend support for viewing an Event's Frames
...
Each Event has a 'Frames' button. Clicking this changes
$scope.stream to false, hides the eventStream div, shows the
eventFrames div, and changes the text of the button to 'Stream'.
Each Frame is laid out in a box, with its associated image file
and details (delta, score, type, time).
The 'src' for each Frame's image was the difficult part. The 'zpad'
filter is called for each Frame, so that we know how many 0's to pad
the Frame.FrameId with.
Finally if Frame.Type == Alarm, the box for that div is colored red.
2015-01-27 11:19:24 -05:00
Kyle Johnson
786009407c
Add Angular filter for padding a number
...
This is needed because of the way Frames are stored on the
filesystem, such as 00051-capture.jpg, vs. how they're stored
in the database, such as 51
2015-01-27 11:15:10 -05:00
Kyle Johnson
8311951c86
Add Angular service for finding config by Name
2015-01-27 11:14:59 -05:00
Kyle Johnson
7565edfc69
API: Return Filesystem path to event within json payload
2015-01-27 11:12:32 -05:00
Kyle Johnson
c486cd0741
Add API function to find Config by Name
2015-01-27 11:11:40 -05:00
Kyle Johnson
7a5ee71080
Use Monitor's WebColour in Host 'Disk Usage' graph
2015-01-26 17:22:57 -05:00
Kyle Johnson
e4b1f8a64e
Add API function for getting Event's path
2015-01-23 11:57:31 -05:00
Kyle Johnson
4e0e8664b1
Fix some tabbing in controllers.js
2015-01-21 17:26:46 -05:00
Kyle Johnson
a8b56f37e0
Add frontend support to archive / unarchive Event
2015-01-21 17:25:56 -05:00
Kyle Johnson
5b9a27c5ca
Add API function to archive / unarchive an Event
2015-01-21 17:24:55 -05:00
Kyle Johnson
932831ba6c
Fix bug: Wrong event opened after clicking Delete
2015-01-21 11:07:29 -05:00
Kyle Johnson
b36bbbe0e4
Decrement $scope.totalEvents after deleting event
2015-01-21 10:29:06 -05:00
Kyle Johnson
2f44a45bbc
Add searching events by StartTime and MonitorId
2015-01-21 10:23:46 -05:00
Kyle Johnson
d2ac0cac04
Get event URL based on whether there is a filter
2015-01-21 10:22:25 -05:00
Kyle Johnson
3847eba14d
Add styling to .sidebar
2015-01-21 10:21:41 -05:00
Kyle Johnson
f45479cb8b
Add moment.js - required for datetimepicker
2015-01-21 10:21:14 -05:00
Kyle Johnson
4e57c4c28d
Add datetimepicker
2015-01-21 10:20:25 -05:00
Kyle Johnson
0d6d531e8b
Use the API to start and stop ZM
2015-01-17 12:25:33 -05:00
Kyle Johnson
7af0cadd67
Add API support for starting and stopping ZM
2015-01-17 12:23:58 -05:00
Kyle Johnson
432c3c9d82
Add States MVC to API
2015-01-17 11:18:22 -05:00
Kyle Johnson
c238b0c10a
Move a misplaced php bracket.
...
Was causing the page title to not be set.
2015-01-12 23:29:20 -05:00
Kyle Johnson
1cd7f50e1b
Significantly cleaned up Bootstrap functions.php
...
Got rid of all unnecessary php and variables.
2015-01-12 23:24:50 -05:00
Kyle Johnson
0b0545823d
Remove event from view (scope) after deleting it
2015-01-09 14:24:45 -05:00
Kyle Johnson
8279f71266
Rewrite of Log view to use dir-paginate
2015-01-08 16:06:13 -05:00
Kyle Johnson
c42ad0ba13
Add support for deleting monitor in new ui
...
Deletes via the API. Also attempts to stop any zma or zmc processes
for the given monitor before deleting it from the table.
2015-01-07 16:43:37 -05:00
Kyle Johnson
26c29afb38
Start a monitor after adding it via api
2015-01-07 14:50:57 -05:00
Kyle Johnson
45e450e988
Rename getEvent to get
2015-01-06 18:39:04 -05:00
Kyle Johnson
11b1344697
Allow playing back and deleting event from a modal
2015-01-06 18:36:55 -05:00
Kyle Johnson
a29b551a64
Expand scope of EventsController to include sidebar
2015-01-06 18:19:57 -05:00
Kyle Johnson
b904cfde58
Remove events.css and event.css
2015-01-05 15:44:49 -05:00
Kyle Johnson
501b762b81
Remove event.js and event.js.php. Recreating in angular
2015-01-05 15:42:09 -05:00
Kyle Johnson
a1d9f25c75
Remove bad vim swap file
2015-01-05 15:41:33 -05:00
Kyle Johnson
afefef3cc2
Only build filter if named params are set
2015-01-05 14:21:19 -05:00
Kyle Johnson
648252cf50
Allow filtering of events in index view
2015-01-05 14:08:09 -05:00
Kyle Johnson
040094e984
Add initial API Filter component
...
The purpose of this is to turn ZoneMinder filter queries into usable
CakePHP find() conditions.
As example would be turning
api/events/index/MonitorId:7/MonitorId:8/StartTime >=:2015-01-05.json
into an array like this:
'conditions' => array(
'MonitorId' => (7, 8),
'StartTime >=' => '2015-01-05'
)
2015-01-05 14:02:42 -05:00
Kyle Johnson
9221675d2e
Upgrade Angular from 1.3.2 to 1.3.8
2015-01-05 12:03:22 -05:00
Kyle Johnson
c945b23dae
Log which event a frame could not be found for
2015-01-01 11:33:12 -05:00
Kyle Johnson
da495c65ac
Add a link to replay each event in the Events list
2014-12-29 12:24:27 -05:00
Kyle Johnson
96551c98cf
Use pagination directive in Events view
...
Pagination is now handled via the pagination directive with
asynchronous data. The server returns a subset of the total events.
The directive looks at the 'limit' and 'count' fields to determine
how many pages to generate
2014-12-29 12:19:30 -05:00
Kyle Johnson
07e04ea9ff
Load pagination directive into the angular app
2014-12-29 12:15:51 -05:00