Kyle Johnson
498b281082
Use full path to events_search.thml
2015-02-11 15:23:52 -05:00
Kyle Johnson
2bb1394484
Migrate from ngRoute to ui-router
2015-02-11 15:22:39 -05:00
Kyle Johnson
081db1d160
Move options.php to options.html
2015-02-11 15:21:07 -05:00
Kyle Johnson
201711866e
Use ng-include instead of php include()
2015-02-11 15:20:50 -05:00
Kyle Johnson
959a9a58ce
Move events.php to events.html
2015-02-11 15:18:30 -05:00
Kyle Johnson
8ca9d3f759
Use ng-include instead of php include()
2015-02-11 15:18:13 -05:00
Kyle Johnson
71ecfdcb1b
Clean up more paths
2015-02-11 14:34:10 -05:00
Kyle Johnson
9cf8262eca
Clean up paths in index.html
2015-02-11 14:24:46 -05:00
Kyle Johnson
d500c60e91
Move bootstrap to the web root
2015-02-11 14:20:10 -05:00
Kyle Johnson
d269309c42
Remove makefiles from bootstrap skin
2015-02-11 14:16:18 -05:00
Kyle Johnson
340da70ab1
Removing most legacy ui files from bootstrap skin
2015-02-11 14:11:47 -05:00
Kyle Johnson
5cf9677680
Initial work at moving to single page app (no php)
2015-02-11 14:09:41 -05:00
Kyle Johnson
9a9f747b67
Move console.php to console.html
2015-02-11 13:49:16 -05:00
Kyle Johnson
4fd9dee168
Remove php from console.php
2015-02-11 13:48:59 -05:00
Kyle Johnson
220302b433
Rename header.php to header.html
2015-02-11 13:47:44 -05:00
Kyle Johnson
2187e9a99c
Remove php from header.php
2015-02-11 13:47:36 -05:00
Kyle Johnson
23b50f044e
Add support for changing monitor function in list view
2015-02-11 13:45:07 -05:00
Kyle Johnson
2d418f9205
Rename event.php to event.html
2015-02-11 13:19:53 -05:00
Kyle Johnson
b64b895d31
Use ngInclude instead of php include() in event view
2015-02-11 13:17:45 -05:00
Kyle Johnson
8f752f2b20
Add row / column layout options to console grid
2015-02-11 11:32:40 -05:00
Kyle Johnson
cc0fecf252
Remove the unused getConsoleEvents function
2015-02-11 11:32:19 -05:00
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