| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- (function (angular) {
- const SECTION_NAME = "history";
- angular
- .module("BrowserSync")
- .controller("HistoryController", [
- "$scope",
- "options",
- "History",
- "pagesConfig",
- historyController
- ]);
- /**
- * @param $scope
- * @param options
- * @param History
- * @param pagesConfig
- */
- function historyController($scope, options, History, pagesConfig) {
- var ctrl = this;
- ctrl.options = options.bs;
- ctrl.section = pagesConfig[SECTION_NAME];
- ctrl.visited = [];
- ctrl.update = function (items) {
- ctrl.visited = items;
- $scope.$digest();
- };
- History.get().then(function (items) {
- ctrl.visited = items;
- });
- History.on("change", ctrl.update);
- $scope.$on("$destroy", function () {
- History.off(ctrl.update);
- });
- ctrl.clearVisited = function () {
- History.clear();
- };
- }
- angular
- .module("BrowserSync")
- .directive("historyList", function () {
- return {
- restrict: "E",
- scope: {
- options: "=",
- visited: "="
- },
- templateUrl: "history.directive.html",
- controller: ["$scope", "History", "Clients", historyDirective],
- controllerAs: "ctrl"
- };
- });
- /**
- * Controller for the URL sync
- * @param $scope - directive scope
- * @param History
- * @param Clients
- */
- function historyDirective($scope, History, Clients) {
- var ctrl = this;
- ctrl.visited = [];
- ctrl.utils = {};
- ctrl.utils.localUrl = function (path) {
- return [$scope.options.urls.local, path].join("");
- };
- ctrl.updateVisited = function (data) {
- ctrl.visited = data;
- $scope.$digest();
- };
- ctrl.sendAllTo = function (url) {
- url.success = true;
- Clients.sendAllTo(url.path);
- setTimeout(function () {
- url.success = false;
- $scope.$digest();
- }, 1000);
- };
- ctrl.removeVisited = function (item) {
- History.remove(item);
- };
- History.get().then(function (items) {
- ctrl.visited = items;
- });
- History.on("change", ctrl.updateVisited);
- $scope.$on("$destroy", function () {
- History.off(ctrl.updateVisited);
- });
- }
- })(angular);
|