Kyle Johnson
afdd9b4bfc
Remove sidebar.php, no longer used
2015-02-11 09:35:53 -05:00
Kyle Johnson
b77e31ff94
Link monitor name to monitor edit page in console
2015-02-11 09:35:07 -05:00
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
Kyle Johnson
4b029fc2ae
Remove page querystring from Events link in header
2014-12-29 12:13:13 -05:00
Kyle Johnson
ad8bbea2bc
Add pagination directive to angular frontend
...
Big thanks to @michaelbromley for his work on this. Source can
be be found at https://github.com/michaelbromley/angularUtils/tree/master/src/directives/pagination
2014-12-29 12:11:53 -05:00
Kyle Johnson
a2cd6e1434
Add pagination support to Events in the API
...
/api/events.json now accepts the ?page querystring, e.g.
/api/events.json?page=2 or /api/events.json
2014-12-29 12:10:05 -05:00
Kyle Johnson
a7d32a2cd7
Default to Low bandwidth in API if not set
2014-12-25 23:47:44 -05:00
Kyle Johnson
a71e291331
Add footer to events view
2014-12-23 22:43:42 -05:00
Kyle Johnson
0c38102951
First stab at Events view via angular and API
2014-12-23 22:38:54 -05:00
Kyle Johnson
930b94be40
Create a thumbnail for each event in index view
2014-12-23 22:11:24 -05:00
Kyle Johnson
1146e42c0f
Add createThumbnail function to the API
2014-12-23 22:10:52 -05:00
Kyle Johnson
6718559be5
Set Frame model to not be recursive by default
2014-12-23 22:05:23 -05:00
Kyle Johnson
39501f4f52
Add angular function to show length of event
2014-12-23 22:04:23 -05:00
Kyle Johnson
5598cce260
Add getImageSrc function to the API via component
2014-12-23 17:42:44 -05:00
Kyle Johnson
ef99e30a33
Add reScale and deScale components to API
2014-12-23 11:22:34 -05:00
Kyle Johnson
e61b19b4d8
Fix bug where only Remote tab would display
2014-12-21 21:54:27 -05:00
Kyle Johnson
9e417730d2
Change Monitor input type from number to text
...
Angular seems to have a bug where when an input is type="number",
assiging a value to it via ng-model produces an error.
2014-12-21 21:47:04 -05:00
Kyle Johnson
0436b099d0
Use monitor save function from Factory, not controller
2014-12-21 21:45:44 -05:00
Kyle Johnson
1fadbff72d
Add support for editing an existing monitor
...
Saving and editing of monitors now works. Tested only with
Type = Remote.
There is a bug where when editing a monitor, Orientation is not
set properly. Due to number vs. string and mysql enum.
0 != '0'
2014-12-21 21:44:18 -05:00
Kyle Johnson
44a44580b7
Add Angular factory to get and save Monitors
2014-12-21 21:42:54 -05:00
Kyle Johnson
de221f4d57
Remove the old console.js file
2014-12-19 10:25:34 -05:00
Kyle Johnson
09ce6e01df
Set monitor Method to simple by default
2014-12-19 10:17:25 -05:00
Kyle Johnson
d79286e101
Fix bug where Remote tab was not displayed
2014-12-19 10:15:41 -05:00
Kyle Johnson
227f32a6a9
Fix bug where monitor source type was not set
2014-12-19 10:13:52 -05:00
Kyle Johnson
2e96b141e5
Major rehaul of Monitor view in Angular JS
...
You can now add monitors via angularjs, with the api as the
backend.
2014-12-17 16:08:35 -05:00
Kyle Johnson
d5c8de6cb7
Set each input's ng-model for remote monitor type
2014-12-16 21:05:07 -05:00
Kyle Johnson
6d921a2a1a
Moved curl, ffmpeg, vlc and file into their own files
2014-12-16 20:55:21 -05:00
Kyle Johnson
de5106d90c
Moved 'Remote' monitor type into its own file
2014-12-16 20:54:42 -05:00
Kyle Johnson
6764211ebd
Add initial MonitorController
2014-12-16 17:11:28 -05:00
Kyle Johnson
f770382268
Move FPS options to bottom of General tab
2014-12-16 17:11:02 -05:00
Kyle Johnson
f9519d963c
Fix ng-model names in General tab
...
As ng-model is namespaced into the MonitorController,
it is safe to name the variables 'Name' instead of
newMonitor[Name] as before
2014-12-16 17:10:02 -05:00
Kyle Johnson
d662bf41e9
First pass at formatting Misc tab
2014-12-16 17:07:19 -05:00
Kyle Johnson
2f254eefef
Split 'Local' and 'Remote' tabs into their own files
2014-12-16 17:06:54 -05:00
Kyle Johnson
00427c2e41
Fix indenting and missing </div> in monitor.php
2014-12-16 17:04:02 -05:00
Kyle Johnson
735c14ea2d
Replace 'name' with 'ng-model' in General monitor tab
2014-12-16 14:18:54 -05:00
Kyle Johnson
21f29cfa29
Open the General monitor tab by default
2014-12-16 14:04:30 -05:00
Kyle Johnson
d76e9e5f5d
Initial work on cleaning up monitor view.
...
Starting by splitting each 'tab' out into their own php
file, and then including it. Easier to manage. Following up by
removing tables and replacing with a responsive form layout.
Also working on removing PHP dependencies and using the UI instead.
2014-12-13 23:15:31 -05:00
Kyle Johnson
030f6af057
Initial angular view for Logs
2014-12-01 16:16:30 +00:00
Kyle Johnson
904b946bfb
Initial Logs controller
2014-12-01 16:15:42 +00:00
Kyle Johnson
87e1133506
Initial Log factory for returning log entires
2014-12-01 16:15:12 +00:00
Kyle Johnson
f213657c0e
Add cakephp route for logs
2014-12-01 16:14:23 +00:00
Kyle Johnson
9a041efbf0
Remove log.js
2014-12-01 16:14:02 +00:00
Kyle Johnson
dd9188b7cd
Remove Logs views, ouput log json via _serialize
2014-12-01 16:13:08 +00:00
Kyle Johnson
682190c186
Redo console HTML to be organized by flexbox, not bootstrap grid
...
Utilizing css3 flexbox, I'm able to easily lay out all monitors
with equal width and height, while not having to worry about parent
.row <div>'s
2014-11-28 16:56:22 +00:00
Kyle Johnson
8b7733cd37
Remove mootools, overlay and logger from bootstrap
...
Everything these files do is being replaced by AngularJS
2014-11-28 16:55:12 +00:00
Kyle Johnson
e56248ab88
Remove copywrite from console view header
2014-11-28 00:27:55 +00:00
Kyle Johnson
cdcf29964b
Remove rest of unused php from console view.
2014-11-28 00:27:04 +00:00
Kyle Johnson
ff65a701eb
Display stills of each monitor, set per-monitor alerts
...
This commit displays a still of each monitor at page load time.
The panel surrounding the monitor is context sensitive - if zmc or
zma is not running, the panel is red (well, pink).
Also if either zmc or zma are not running, we add an icon in the
panel's header, explaining what is wrong.
2014-11-28 00:25:15 +00:00
Kyle Johnson
addc985656
Load ui.bootstrap angular module
2014-11-28 00:20:04 +00:00
Kyle Johnson
1d7d53d166
Add ui-bootstrap 0.12
2014-11-27 14:50:31 +00:00
Kyle Johnson
b3d1811c43
Add getMonitors factory to angular
2014-11-27 14:35:00 +00:00